问题
How do I associate an auto-renewable subscription in a way that lets me know which notifications are for which users in MY database? Is there some sort of id from the original receipt that I can store as a field for a User?
It is great that I know when a user cancels or renews, etc but it doesn't help that I am not sure which user this is happening for.
When you visit the docs and scroll down to Status Update Notifications, you'll notice that status notifications do have an original_transaction_id
field, is this something that persists and can be relied on?
回答1:
Yes, you can use original_transaction_id
. It's property saved for all renews.
If the user cancels their subscription and buys a new subscription, then original_transaction_id
will change.
However, if the user upgrades or downgrades their subscription, original_transaction_id
will not change.
This is supported on modern versions of iOS, including iOS 10.
Another way to do it is to save an array of transaction_id
values and associate these with user accounts. Depending on your needs, this might work better for you.
UPD by Stafox: time-to-time original_transaction_id
may changes after renew and may still the same after cancel and resubscribe.
来源:https://stackoverflow.com/questions/45124650/how-do-i-associate-a-user-with-an-auto-renewable-subscription-involving-apples