首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用RMStore或Apple获取最后的收据数据?

如何使用RMStore或Apple获取最后的收据数据?
EN

Stack Overflow用户
提问于 2015-08-11 20:14:55
回答 1查看 740关注 0票数 0

我正在测试应用程序中的购买功能,并停留在收据验证步骤中。我的收据验证是自定义的,根据我在服务器端进行的检查次数(调用我的服务器API),其中一个是transactionID唯一确认付款的条件。因此,使用RMStore,我将成功地获得收据,并且addPayment函数将唯一的事务返回到成功块。之后,我将运行verifyTransaction并在成功块中调用receiptURL。不幸的是,看起来我总是使用receiptURL获得相同的收据,当我将它发送到服务器时,它会错误地响应我,transactionID已经存在于DB中,transactionID并不是唯一的。此错误表示即使进行新的支付,我也会发送相同的收据。请注意,我使用的是消费品。

有人能为我提供以下(?)提供的功能显示正确的工作流吗?

  1. RMStore productRequest -我把它称为init函数。
  2. RMStore addPayment --这是我需要理解的后果的开始。
  3. [RMStore defaultStore.transactionPersistor consumeProductOfIdentifier:pID] --我需要调用这个函数吗?每次我付款时,苹果都会发送给我唯一的transactinID,并且调用这个功能没有任何影响。
  4. [[RMStore defaultStore].receiptVerificator verifyTransaction: transaction ] --我需要调用事务验证吗?
  5. RMStore receiptURL或[NSBundle mainBundle appStoreReceiptURL] --这些方法能使receiptURL相等吗?两者都不像我预期的那样起作用。
  6. NSData dataWithContentOfURL:receiptURL -这是我遇到的主要问题。经过以上提到的函数组合的不同尝试之后,这种方法总是用相同的transactionID返回收据。这让我认为,在运行#5、#6以获得最后一张收据之前,我需要刷新现金,但还不清楚如何做到这一点。

所以,RMStore的wiki看起来不错,但我总是希望库能给我一个机会--不完全了解引擎盖下面发生了什么。不幸的是,对于RMStore,我必须研究是如何工作的。如果将提供函数调用的结果,则可以解决此问题,但我在任何地方都找不到它(!)

有人能回顾一下我在上面提供的功能列表,并帮助我把它们按正确的顺序排列吗?什么让我在购买之后得到最后一张收据来解决我的问题?

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 12:56:23

对于我的问题,我有两个答案:

  1. 守则: NSURL = [NSBundle mainBundle appStoreReceiptURL]; ,工作正常(即它返回正确的收据正文),但由于某种原因,苹果可以返回两次(甚至是array[])付款,其中第一次transactionID可以与您以前得到的相同。正如我的服务器开发人员所说,这是意想不到的行为。因此,当我收到收据并将收据发送给服务器时,它只读取transactionID,这可能与您获得的previously.As结果相同,服务器返回FALSE作为验证结果(看起来您试图支付两次)。因此,由于还不清楚为什么要给我发送两个或更多接收的事务记录,但作为解决办法,我要求服务器端开发人员检查接收中的所有事务,以找到唯一的transactionID。需要更多的调查来了解苹果的行为,但这可能需要更多的时间。我没有找到答案,现在继续前进。
  2. 关于RMStore工作流,我意识到实际上我们只有两个最重要的功能: addPayment和verifyTransaction。addPayment函数将隐式调用verifyTransaction。您应该重载verifyTransaction并调用内部的serverAPI验证函数。因此,如果验证是成功的,那么您可以进入成功的addPayment块,并为成功的支付做您所需要的事情。如果不是-做点别的吧。我的错误是将verifyTransaction调用到addPayment成功块中,这意味着要调用它两次。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31951143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档