Hello,
We want to implement In-App Purchase in our application, but there is one case which we cannot find how to handle in Developer Documentation.
We have non-renewable subscriptions which user can buy and after payment this extends subscription for some product for some time (for example 30 days) and this information is stored on our backend. We don't want to use auto-renewable subscriptions because during subscription time, user can extend his subscription for another period of time for a lower price and so on...
The problem which we found is the case when:
1. User bought a subscription
2. Information about transaction is passed in receiptData to backend, which verifyReceipt and prolong subscription on our backend. I want to notice that we are storing receiptData on backend side.
3. User want to refund, so he cancel subscription on Apple Side
4. He is logging out from his Apple ID account (so we are not able to fetch fresh receipt)
My question is, if we use old receiptData which is stored on the backend, does /verifyReceipt endpoint will include cancellation_date, or we want to force user to fetch his newest receipt and then cancellation_date will appear?
So generally i am asking if /verifyReceipt can dynamically send different data for transactions based on same receipt data, or all information are stored in receipt data and this will never change until we fetch fresh receipt.
Can someone know the answer to that ?