我希望有人能在这里帮助我,我在商店里有两个iPhone应用程序,可以在应用程序内购买。这两个应用程序都是成熟的代码(已经发布了两年多),它们都与相同的web服务对话,并且已经工作了两年。
现在,我们遇到了一个问题,一些用户(1 / 100,这对我们来说是很高的)正在完成购买,而设备在成功交易后没有回调我们的web服务。
我们拥有的流程是
用户启动事务处理并请求付款
用户输入他们的iTunes详细信息,购买成功(我们在他们的iTunes账户中看到有效的付款)
然后,App“应该”将付款收据发送到我们的web服务器进行验证,并给予app下载内容的权限
这个过程对于任何< IOS7都运行得很好,但是对于IOS7之后的一些用户,我们没有得到对我们的web服务器的调用。
我正确地处理了SKPaymentTransaction的transactionState,因为它已经工作了很长一段时间,但据我所知,这个方法有时是不会被击中的?
(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions谢谢。
发布于 2013-12-05 00:23:03
对于成熟的代码,我也遇到过类似的问题。在某些情况下,应用商店似乎会向SKPaymentTransactionObserver发送空productIdentifiers。
不幸的是,我不能在沙箱中重现,但我可以使用App Store构建。
该应用程序在任何后续启动时也会崩溃,因为store kit会尝试在启动时处理事务(使用空ID)。针对空产品标识符进行防御性编码非常容易,但不幸的是,它将需要更新。
This Stack Overflow thread很有帮助。
很抱歉,这篇文章没有回答你的问题,但希望你能找到有用的信息。
https://stackoverflow.com/questions/20188474
复制相似问题