我目前正在实施不可更新的应用内购买,并且对以下情况(或其变体)有点关注:
用户购买了我续订的非续订应用内购买。我将收据保存到NSUserDefaults,但在我将其发送到我自己的服务器进行验证(和帐户功能激活)之前,用户丢失信号/我的服务器已关闭,同时中断他们的设备/卸载我的应用程序(从而删除存储NSUserDefaults的)。
据我所知,无法像其他类型的IAP那样恢复不可再生的购买,因此用户已经失去了他们花在购买上的钱,因为我无法知道它曾经被制作过
我在这里遗漏了什么,或者我是否认为上述情况不太可能,我不必担心它?
由于
答案 0 :(得分:3)
好的,经过一些进一步的阅读后,似乎解决方案是在finishTransaction
上没有呼叫SKPaymentTransaction
,直到我的服务器确认为止。这样,事务应该保留在跨设备/安装的事务队列中,直到我在我自己的系统中注册它为止。