09-17-2013 05:47 AM - edited 09-17-2013 07:49 AM
We have implemented 30 days renewal subscription for the digital goods.
The issue we are facing to use the subscribed digital goods from different Z10 devices that are registered with same blackberry ID.
Every time we install the app to different device, we had to purchase the item for each device while they are all using same blackberry ID.
Ideally we expect if we purchase the subscription from one device and install the app in other devices, we should be able to use the item without purchasing it again for each device.
Note : The app is live in the Blackberry Appworld, it's not in sandbox.
Please provide the solution for this issue.
09-18-2013 07:41 AM
A couple preliminary questions:
1) Is the BBID being used listed as a sandbox user in the vendor portal?
2) How are you verifying this purchase from within the app?
09-18-2013 07:51 AM
Please find my answers -
1. yes, the BBID is listed as a sandbox user.
2. After purchase, whenever we launch app, we check it's subscription status by using m_paymentManager->requestExistingPurchases(false) and it correctly returns us the status. We checked the scenario when the subscription period gets over, that also working fine as long it's checked in same device.
09-18-2013 07:55 AM
For #1. Sandbox purchases do not write a transaction to the BlackBerry World server, so you won't be able to "recover" any past purchases, they do not exist.
For #2, requestExistingPurchases(false) only checks the local cache for purchases. If moving to a new device then there would be no local cache, so you need to also use requestExistingPurchases(true) to check the server (not applicable for your testing due to #1, but needed for real-world testing).
On a side note, as of 10.2 requestExistingPurchases(false) will automatically check the server in the event the client cache is stale.