Hi Amazon team, we're trying to add Amazon IAP into our existing environment of subscription services (Google Play, iTunes, Stripe) and came up with the following questions related to the server side (backend) validation of purchases. Would be great if you could help us out here as we couldn't find any precise answers within the forums or docs. 1. Is the receiptId value in the response changing for every renewal period? 2. Does the purchaseDate value represent the initial purchase date or every renewed purchase? 3. Is calling the renew endpoint on the RVS still necessary in IAP 2? 4. Can we determine in our backend whether a subscription has been renewed without having the user opening the app? If so, how? Thank you in advance
Hello bk-berlin Please find answers to your IAP integration questions below. If you have specific questions regarding your app please raise a ConatctUs (
https://developer.amazon.com/help/contactus.html) with us and we will look into the issue. 1. If the subscription is continuous (has been renewed and never canceled in between), the app will only receive one receipt for that subscription/customer. If the there is a break in the subscription (customer does not auto renew for one month and then subscribes again a month later), the app will receive multiple receipts. 2. The purchaseDate represents the initial purchase date, not the purchaseDate of each renewal 3. No. RVS for IAP V2 only exposes service named as verifyReceiptId and there is nothing to renew there in the request parameters like purchaseToken of IAP V1 RVS. 4. There is no way to determine if the customer has specifically renewed the subscription. Developers can only know if the subscription is active or canceled. Amazon will provide a cancelDate when the subscription is no longer active. If the cancelDate is null, the subscription is still active for the customer. If the customer cancels and then renews again, the app will receive multiple receipts. The first subscription that was canceled will have a cancelDate and the new subscription will have a purchaseDate and null cancelDate.