ios – Apple应用程序内购买收据 – 在服务器端验证

ios – Apple应用程序内购买收据 – 在服务器端验证,第1张

概述我在服务器端验证苹果收据时遇到问题. 我试图在互联网上找到解决方案,但没有成功. 所以,描述: 首先,应用程序是针对iOS7的.其次,我有一些项目(type = Non-Renewing Subscription).因此,用户可以购买一件或多件物品,然后他应该手动更新它们(再次购买). 应用程序向服务器端发送收据,我向Apple发出请求并获得带有大量in_app收据的结果.就像是: "in_app 我在服务器端验证苹果收据时遇到问题.
我试图在互联网上找到解决方案,但没有成功.

所以,描述:
首先,应用程序是针对iOS7的.其次,我有一些项目(type = Non-Renewing Subscription).因此,用户可以购买一件或多件物品,然后他应该手动更新它们(再次购买).

应用程序向服务器端发送收据,我向Apple发出请求并获得带有大量in_app收据的结果.就像是:

"in_app":[{"quantity":"1","product_ID":"...","transaction_ID":"...","original_transaction_ID":"...","purchase_date":"...","purchase_date_ms":"...","purchase_date_pst":"...","original_purchase_date":"...","original_purchase_date_ms":"...","original_purchase_date_pst":"...","is_trial_period":"..."},{"quantity":"1","is_trial_period":"..."}]

因此,“in_app”中的每个“收据”都有transaction_ID.但我如何识别当前购买的transactionID?我想验证它,并确保这是独一无二的.

我担心的是:如果有人会收到一张有效收据,他就可以破解我们的服务器端API,并使用相同的有效收据进行无限数量的应用内购买.

我应该以某种方式解密并检查transaction_ID的“原始”收据,即我发送给Apple进行验证的收据?

任何帮助/建议将受到高度赞赏.
先感谢您.

问候,
马克西姆

解决方法 @Doug Smith

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html

如果您浏览此页面上的不同字段,您会发现

Original Transaction IDentifIEr::
For a transaction that restores a prevIoUs transaction,the transaction IDentifIEr of the original transaction. Otherwise,IDentical to the transaction IDentifIEr.
This value corresponds to the original transaction’s transactionIDentifIEr property.
All receipts in a chain of @R_19_5026@s for an auto-renewable subscription have the same value for this fIEld.

因此,对于非自动续订订阅,您必须跟踪服务器端的两件事:

>您正在使用itunes服务器验证的收据的原始事务标识符,将其与数据库中的用户ID相关联.
>您从客户端收到的请求是购买还是恢复购买.

一旦你掌握了这两件事,就可以在这两个参数上写下你的逻辑,如下所示:

::如果请求的类型为“Purchase”,并且您已将该收据的原始交易标识符与其他用户ID相关联,则可以阻止该购买.

::如果请求的类型为“Restore Purchase”,并且请求来自与您的数据库中原始事务标识符关联的相同用户ID,则允许他阻止其恢复.

此外,您可以根据自己的需要,根据这些内容推导出自己的逻辑.

如果您有任何疑问,请告诉我.

总结

以上是内存溢出为你收集整理的ios – Apple应用程序内购买收据 – 在服务器端验证全部内容,希望文章能够帮你解决ios – Apple应用程序内购买收据 – 在服务器端验证所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1099875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存