iOS in-app purchase's receipt string explained

回眸只為那壹抹淺笑 提交于 2019-12-23 15:39:08

问题


I try to understand the receipt information obtained from iTunes server, but could not find relevant documentation.

Particularly, what's the difference among unique_identifier, unique_vendor_identifier, original_transaction_id (which is claimed, in a WWDC'12 session, to be a de facto customer id) and [[[UIDevice currentDevice] identifierForVendor] UUIDString]?

{"receipt":
    {"original_purchase_date_pst":"...",        
     "purchase_date_ms":"...", 
     "unique_identifier":"...", 
     "original_transaction_id":"...", 
     "bvrs":"...", 
     "transaction_id":"...", 
     "quantity":"...", 
     "unique_vendor_identifier":"...", 
     "item_id":"...", 
     "product_id":"...", 
     "purchase_date":"...", 
     "original_purchase_date":"...", 
     "purchase_date_pst":"...", 
     "bid":"...", 
     "original_purchase_date_ms":"..."},  
"status":0}`

I wish to store this receipt information on my server to track subscription validity. So it is better to know which id I should use as a surrogate for user identity.


回答1:


Your software should only rely on the fields that Apple describes in their documentation. They could remove unique_identifier or unique_vendor_identifier, change their meaning, or change their values at any time without telling you about it.

You should follow Apple's documentation in regard to verifying subscription receipts using Apple's servers before your server transmits the sbuscription content to the device.




回答2:


In Verifying Store Receipts there is a nice table that gives the fields that seemingly one can rely on in a receipt. That specific method does rely on connecting with Apple's server. Another description (though less readable) of the receipt fields is in Receipt Fields.



来源:https://stackoverflow.com/questions/15255564/ios-in-app-purchases-receipt-string-explained

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!