目前,我们的系统以这样一种方式运作:当用户购买应用内订阅时,购买的收据数据会发送到服务器,验证后我们会更改用户的权限。权利依赖。
有时候由于种种原因,我们可能会遇到一个问题,即用户可能没有被分配他们想要的权利,在这种情况下,他们会通过电子邮件向我们发送他们从Apple获得的收据,其中包含他们的订单ID和文档#等
我似乎无法在通过应用内购买发送的收据数据中找到与apple发送的文档中的任何内容相匹配的任何内容,这样我就可以找出哪个订单与该订单ID匹配
有没有办法从应用内购买有效负载中获取订单ID等,以帮助识别这个?
答案 0 :(得分:4)
不,通过Apple邮寄给用户的收据和App Store收据中的交易ID发送的订单ID不相关。 (我知道,这不是很有用。)
如果您的后端确实有收据,我会使用the verifyReceipt endpoint检查内容,看看他们有什么购买。只要您的IAP不是消耗品,它们就会显示在收据中。然后,您可以手动授予他们权利。 (IMO,从客户服务的角度来看,我只会给客户带来疑问,并立即批准。)
作为实施说明,在用户从您的后端收到预期的权利之前,您不应该在收据上调用finishTransaction
。这会将事务保留在StoreKit队列中,并提供一种简单的机制,以便在后端的帖子失败时重试。