【问题标题】:iOS in-app purchase's receipt string explainediOS 应用内购买收据字符串解释
【发布时间】:2013-02-21 17:29:44
【问题描述】:

我尝试了解从 iTunes 服务器获取的收据信息,但找不到相关文档。

特别是,unique_identifierunique_vendor_identifieroriginal_transaction_id(在 WWDC'12 会议中声称是事实上的客户 ID)和 [[[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}`

我希望将此收据信息存储在我的服务器上以跟踪订阅有效性。所以最好知道我应该使用哪个 id 作为用户身份的代理。

【问题讨论】:

    标签: ios in-app-purchase uniqueidentifier receipt


    【解决方案1】:

    您的软件应仅依赖于 Apple 在其文档中描述的字段。他们可以随时删除 unique_identifier 或 unique_vendor_identifier、更改其含义或更改其值,而无需告知您。

    在您的服务器将订阅内容传输到设备之前,您应该遵循 Apple 的 documentation 来验证使用 Apple 服务器的订阅收据。

    【讨论】:

    • +1 感谢您的建议。这很有道理。 (在接受你的作为答案之前,我会寻求第二意见。)
    • 没关系。其他人可能会按照您想要的方式进行操作,并且可以提供他们的建议,或者可能有更具体的建议。
    【解决方案2】:

    Verifying Store Receipts 中有一个很好的表格,它提供了看似可以在收据中依赖的字段。该特定方法确实依赖于与苹果服务器的连接。收据字段的另一个描述(虽然可读性较差)在Receipt Fields

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-19
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      相关资源
      最近更新 更多