我正在实现自动续订的订阅场景,其中收据验证将由我的服务器端代码处理。根据苹果的文档,我将从NSBundle
获取收据数据,并将该数据传递给我的服务器,服务器将联系苹果验证收据并通知应用程序结果。
现在,我的问题与收据验证相关的必要流程有关:
如果用户购买了订阅,我的收据会自动更新以包含来自该购买的信息吗?如果是这样,是否需要在购买后立即验证该收据或者直接“解锁”应用程序?
什么情况下我的收据会丢失在
NSBundle
中?如果发生这种情况,我应该使用SKReceiptRefreshRequest
刷新收据,并将其发送到服务器进行验证。如果用户在不同设备上安装应用程序并还原其购买
restoreCompletedTransactions
,我会同时自动获得收据吗?我想在还原后验证收据以确保有有效订阅,对吧?当我的服务器尝试验证收据时,如果该收据无效,在应用程序端应该发生什么?刷新收据(这将要求用户提供凭据),然后再次将其传递给服务器进行新的重新验证?