iPhone未正确完成应用内交易(IOS7)

时间:2013-11-25 09:23:31

标签: ios iphone ios7 in-app-purchase

我希望有人可以在这里提供帮助,我在商店里有两个iPhone应用程序通过应用内购买。这两个应用程序都是成熟的代码(已发布超过2年),并且都使用相同的Web服务,并且已经工作了2年。

现在,我们遇到了一个问题,一些用户(百分之十,对我们来说很高)正在完成购买,而且设备在成功交易后并没有回复我们的网络服务。

我们的流程是

用户启动交易并请求物品付款

用户输入他们的iTunes详细信息并且购买成功(我们在iTunes帐户中看到有效的付款)

应用程序“应该”然后将付款收据发送到我们的Web服务器进行验证,并授予应用程序下载内容的权限

此过程一直适用于任何事情< IOS7但是自IOS7以来我们没有接到对我们网络服务器的调用。

我正在处理SKPaymentTransaction的transactionState,因为它已经工作了很长时间,但据我所知,这种方法有时候没有被击中?

(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

谢谢。

1 个答案:

答案 0 :(得分:1)

我遇到了与成熟代码类似的问题。在某些情况下,应用商店似乎正在向SKPaymentTransactionObserver发送null productIdentifiers。

不幸的是我无法在沙箱中重现,但我能够使用App Store构建。

  • 我从Apple ID中删除了信用卡
  • 然后尝试购买应用内购买
  • 在提示
  • 时重新添加了我的卡信息
  • 回到应用

应用程序也会在任何后续启动时崩溃,因为存储工具包会尝试在启动时处理事务(使用空ID)。对于空产品标识符进行防御性编码很容易,但不幸的是它需要更新。

This Stack Overflow thread很有帮助。

很抱歉,这不能解答您的问题,但希望您能找到有用的信息。