Subscription renewal

  • 17 February 2023
  • 1 reply

Badge +2

I’m testing my react native app. I ‘bought’ 1-month subscription, I guess there’s automatic renewal. But after some minutes I get empty active object:


{"active": {}, "all": {"premium": {"billingIssueDetectedAt": null, "billingIssueDetectedAtMillis": null, "expirationDate": "2023-02-17T17:45:49.000Z", "identifier": "premium", "isActive": false, "isSandbox": true, "latestPurchaseDate": "2023-02-17T17:30:49.000Z", "originalPurchaseDate": "2023-02-17T17:23:53.000Z", "ownershipType": "UNKNOWN", "periodType": "NORMAL", "productIdentifier": "com.NAME.1month", "store": "PLAY_STORE", "unsubscribeDetectedAt": null, "unsubscribeDetectedAtMillis": null, "willRenew": true}}}

If I want to buy it again, it says that I already have subscription.

Is it testing limit or there is something wrong with my subscription?


1 reply

Userlevel 4
Badge +6

Hey @Ksenia !


The error that you are getting indicates that the product is already active for the user.

If testing in sandbox:

  • Subscription IAP: Wait for the subscription to automatically cancel and try again.
  • Non-subscription IAP: Create a new sandbox user.

More information on this can be found here:


In general, the sandbox environments behave nearly identical to the production environments. That being said, we recommend to test only the flow of a purchase in sandbox mode, and not metadata-related tests on products.

While the production environment is generally more stable than the sandbox environment, we're not able to provide support on why store APIs are not up to date at any given moment. For this reason, we recommend only testing the flow of a purchase in sandbox mode instead. For example:

  1. Initiate a purchase
  2. Complete a purchase
  3. Verify content has been unlocked

This will ensure you are properly unlocking content for a purchase, and in production you'll see more accurate metadata.