在本文中,我们将带你了解ios–Apple应用程序内购买收据–在服务器端验证在这篇文章中,我们将为您详细介绍ios–Apple应用程序内购买收据–在服务器端验证的方方面面,并解答appstore提供a
在本文中,我们将带你了解ios – Apple应用程序内购买收据 – 在服务器端验证在这篇文章中,我们将为您详细介绍ios – Apple应用程序内购买收据 – 在服务器端验证的方方面面,并解答appstore提供app内购买常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的android – 应用程序内购买服务器、cocoa-touch – iOS – 应用程序内购买和applicationDidBecomeActive、iOS App ID – 禁用应用程序内购买(无法启用)、ios – Apple是否拒绝使用Apple应用程序中使用的图像的应用程序?。
本文目录一览:- ios – Apple应用程序内购买收据 – 在服务器端验证(appstore提供app内购买)
- android – 应用程序内购买服务器
- cocoa-touch – iOS – 应用程序内购买和applicationDidBecomeActive
- iOS App ID – 禁用应用程序内购买(无法启用)
- ios – Apple是否拒绝使用Apple应用程序中使用的图像的应用程序?
ios – Apple应用程序内购买收据 – 在服务器端验证(appstore提供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进行验证的收据?
任何帮助/建议将受到高度赞赏.
先感谢您.
问候,
马克西姆
解决方法
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 renewals for an auto-renewable subscription have the same value for this field.
因此,对于非自动续订订阅,您必须跟踪服务器端的两件事:
>您正在使用itunes服务器验证的收据的原始事务标识符,将其与数据库中的用户ID相关联.
>您从客户端收到的请求是购买还是恢复购买.
一旦你掌握了这两件事,就可以在这两个参数上写下你的逻辑,如下所示:
::如果请求的类型为“Purchase”,并且您已将该收据的原始交易标识符与其他用户ID相关联,则可以阻止该购买.
::如果请求的类型为“Restore Purchase”,并且请求来自与您的数据库中原始事务标识符关联的相同用户ID,则允许他阻止其恢复.
此外,您可以根据自己的需要,根据这些内容推导出自己的逻辑.
如果您有任何疑问,请告诉我.
android – 应用程序内购买服务器
问题是,我想管理对我自己的服务器的调用,作为购买交易的一部分,并且如果调用无法取消/回滚整个交易.如果我第一次执行购买交易,并且只有在确认我打电话给我自己的服务时,如果它失败了该怎么办?如果我第一次调用我的服务而不是尝试处理事务并且它失败了我需要回滚我的调用(如果回滚失败会发生什么???)
管理它的正确方法是什么?有没有办法创建一个我缺少的多阶段交易?
解决方法
Google在此提供信息:In App Billing Overview如下:
1.一些应用内计费实施也可以使用专用远程服务器来提供内容或验证交易,但不需要远程服务器来实现应用内计费.
2.如果您要销售需要传送到用户设备的数字内容(如媒体文件或照片),则远程服务器非常有用.
3.您还可以使用远程服务器存储用户的交易历史记录或执行各种应用内的计费安全任务,例如签名验证.
4.虽然您可以在应用程序中处理所有与安全相关的任务,但建议在远程服务器上执行这些任务,因为它有助于使您的应用程序不易受到安全攻击.
所以,最后,我想向您推荐Google InApp结算实施优于其他第三方付款流程.
cocoa-touch – iOS – 应用程序内购买和applicationDidBecomeActive
我注意到在应用内购买期间,applicationDidBecomeActive方法会触发两次.它不仅错误地增加了我的用户默认值,就像重新启动了应用程序一样,它还重新初始化了flurry以及applicationDidBecomeActive方法中的其他项目.
我究竟做错了什么?每次应用程序“启动”时,我应该使用其他方法吗?
谢谢,
豪伊
解决方法
iOS App ID – 禁用应用程序内购买(无法启用)
后来,我决定实施in-app购买.我访问了带有标识符的Apple页面,发现我的应用程序已经有明确的App ID.我想编辑我的显式应用ID并启用应用内购买.
当我点击“编辑”按钮时,我发现应用程序内购买复选框显示为灰色且无法编辑.
默认情况下,应根据apple documentation启用应用程序内购买:
Explicit App IDs are App IDs whose Bundle Identifier portion is a string without the wildcard (“*”) character. Furthermore,they are automatically registered for in-app purchase and Game Center
知道如何启用应用程序内购买吗? (我想使用相同的包ID).
解决方法
以下是我所做的步骤:
1.)
在功能中启用应用内购买
2.)将新版本的应用程序上传到TestFlight测试.之后我检查了我的AppID,但仍然禁用了应用程序内购买.
3.)等等……放松,享受周末.
总结
以上是小编为你收集整理的iOS App ID – 禁用应用程序内购买(无法启用)全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
ios – Apple是否拒绝使用Apple应用程序中使用的图像的应用程序?
在Apple的音乐应用程序中,如果音乐专辑或播客没有艺术作品,则会显示音符图像或播客图标图像而不是艺术作品.
我想做同样的事情.
我可以在Apple的音乐应用中使用我的应用程序中的图像吗?
苹果会拒绝我的应用吗?
我是否必须自己创建音符和播客图标的图像?
或者是否建议将Apple的图像用于我的应用程序以获得用户体验?
我还想使用历史图标,播客图标和有声读物图标,它们用于苹果应用程序中的标签栏图标.
解决方法
关于ios – Apple应用程序内购买收据 – 在服务器端验证和appstore提供app内购买的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于android – 应用程序内购买服务器、cocoa-touch – iOS – 应用程序内购买和applicationDidBecomeActive、iOS App ID – 禁用应用程序内购买(无法启用)、ios – Apple是否拒绝使用Apple应用程序中使用的图像的应用程序?等相关知识的信息别忘了在本站进行查找喔。
本文标签: