Search code examples
androidreact-nativegoogle-playin-app-subscriptionauto-renewing

Android Google Play Subscription not auto renewing


I have a react native app and using react-native-iap library to communicate with Apple/Google server to buy the subscriptions. The subscription got successful and it returns a transaction as well but when I try to use that receipt to validate if subscription is auto renewed or not after expiry time(next billing time) using google play API, it returns autoRenewing flag as false with cancelReason: 1. I don't know what's happening but as per the Google Play cancelReason:1 means, "Subscription was canceled by the system, for example because of a billing problem"

Here is the response I got from google:

{
    "acknowledgementState": 1,
    "autoRenewing": false,
    "autoResumeTimeMillis": null,
    "cancelReason": 1,
    "countryCode": "IN",
    "developerPayload": "",
    "emailAddress": null,
    "expiryTimeMillis": "1627031557423",
    "externalAccountId": null,
    "familyName": null,
    "givenName": null,
    "kind": "androidpublisher#subscriptionPurchase",
    "linkedPurchaseToken": null,
    "obfuscatedExternalAccountId": null,
    "obfuscatedExternalProfileId": null,
    "orderId": "GPA.3395-1240-4774-78426",
    "paymentState": null,
    "priceAmountMicros": "7387010235",
    "priceCurrencyCode": "INR",
    "profileId": null,
    "profileName": null,
    "promotionCode": null,
    "promotionType": null,
    "purchaseType": 0,
    "startTimeMillis": "1627031259058",
    "userCancellationTimeMillis": null
}

Solution

  • License tester account must have a country other than India. As in India google had paused the app renewal for some time due to recent changes in RBI guidelines.

    https://www.indiatoday.in/technology/news/story/google-is-pausing-free-trials-for-play-store-apps-in-india-blame-the-new-rbi-regulation-1798745-2021-05-04