但是,对于iOS7,事务ID和原始事务ID始终相同!我甚至尝试刷新收据,从设备中删除应用程序并重新放回来.两个字段总是相同的.
有谁知道交易ID在哪种情况下会改变?我的服务器逻辑依赖于收据本身的唯一交易ID,目前在iOS7的情况下不起作用.
以下是Apple服务器解密的应用收据.同样的结果,如果我在本地解密.
{ environment = SandBox; receipt = { "adam_ID" = 0; "application_version" = "1.0"; "bundle_ID" = "com.###"; "download_ID" = 0; "in_app" = ( { "is_trial_period" = false; "original_purchase_date" = "2014-02-18 14:23:40 Etc/GMT"; "original_purchase_date_ms" = 1392733420000; "original_purchase_date_pst" = "2014-02-18 06:23:40 America/Los_Angeles"; "original_transaction_ID" = 1000000101860870; "product_ID" = "com.###"; "purchase_date" = "2014-02-24 09:12:21 Etc/GMT"; "purchase_date_ms" = 1393233141000; "purchase_date_pst" = "2014-02-24 01:12:21 America/Los_Angeles"; quantity = 1; "transaction_ID" = 1000000101860870; } ); "original_application_version" = "1.0"; "original_purchase_date" = "2013-08-01 07:00:00 Etc/GMT"; "original_purchase_date_ms" = 1375340400000; "original_purchase_date_pst" = "2013-08-01 00:00:00 America/Los_Angeles"; "receipt_type" = ProductionSandBox; "request_date" = "2014-02-24 09:12:56 Etc/GMT"; "request_date_ms" = 1393233176903; "request_date_pst" = "2014-02-24 01:12:56 America/Los_Angeles"; }; status = 0;}解决方法 交易日期正确更新
我们可以利用交易日期正确更新的观察结果(即使在SanBox环境中,肯定在生产中):
"in_app":[{"quantity":"1","product_ID":"###","transaction_ID":"1000000122762089","original_transaction_ID":"1000000122762089","purchase_date":"2014-09-07 16:15:13 Etc/GMT","purchase_date_ms": "1410106513000","purchase_date_pst":"2014-09-07 09:15:13 America/Los_Angeles","original_purchase_date":"2014-09-07 05:35:16 Etc/GMT","original_purchase_date_ms":"1410068116000","original_purchase_date_pst":"2014-09-06 22:35:16 America/Los_Angeles","is_trial_period":"false"}]
您可以看到purchase_date_ms和original_purchase_date_ms有所不同.
因此:强制转录ID和日期的组合的唯一性
不仅在您的服务器数据库中存储交易ID,而且存储购买日期(而不是原始购买日期).这两个值的组合在您的数据库中不会存在于合法还原事务中,但如果收据是重播,则会与现有记录相冲突.
请注意,我们正在查看验证服务器的响应,这意味着客户端将无法更改日期,因为它们无法更改交易ID而不会破坏收据的有效性.
总结以上是内存溢出为你收集整理的当iOS7应用收据中的交易ID正在更改时?全部内容,希望文章能够帮你解决当iOS7应用收据中的交易ID正在更改时?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)