1

I'm implementing in-app subscriptions using Google Play Billing Library. Everything works fine except one think, when I acknowledge purchase I set the developerPayload to some string value. Then I can see this value when querying purchases inside the app, but when I'm using Google Developer Api in my backend to verify subscriptions the developerPayload field is empty, all other fields are correct.

My backend is written in .NET core 2.2 and I'm using Google.Apis.AndroidPublisher.v3 library.

I've also checked that with python library and the result is the same.

This is how I prepare my acknowledge params, developerPayload is just a simple string with about 60 characters.

val params = AcknowledgePurchaseParams.newBuilder()
.setDeveloperPayload(developerPayload)
.setPurchaseToken(purchase.purchaseToken)
.build()

billingClient.acknowledgePurchase(params) { billingResult ->
...
}
marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Bink
  • 21
  • 3
  • 1
    A fix for this issue is rolling out shortly. Please see https://issuetracker.google.com/issues/133782951 for updates. – c6collin Jun 05 '19 at 21:34

1 Answers1

0

I am Facing the same issue That's the respond when i request the Google Api

{ kind: 'androidpublisher#subscriptionPurchase', startTimeMillis: '1564065118619', expiryTimeMillis: '1564065536468', autoRenewing: true, priceCurrencyCode: 'SAR', priceAmountMicros: '10990000',
countryCode: 'SA', developerPayload: '', paymentState: 1,
orderId: 'GPA.3399-9037-3439-13416', purchaseType: 0,
acknowledgementState: 0 }

And the could being sent from Android

AcknowledgePurchaseParams acknowledgePurchaseParams =
                        AcknowledgePurchaseParams.newBuilder()
                                .setPurchaseToken(purchase.getPurchaseToken())
                                .setDeveloperPayload(String.valueOf(user.getId()))
                                .build();
mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, this);
Ahmed Adel
  • 31
  • 5