如果在应用程序内自动续订计划中购买流程应用程序在苹果完成其交易的一部分并且Storekit的代表尚未被调用后关闭/崩溃,该如何处理情况。
#pragma mark - SKPaymentTransactionObserver
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchasing:
[self handlePurchasingStateTransaction:transaction inQueue:queue];
break;
case SKPaymentTransactionStatePurchased:
[self handlePurchasedStateTransaction:transaction inQueue:queue];
break;
case SKPaymentTransactionStateFailed:
[self handleFailedStateTransaction:transaction inQueue:queue];
break;
case SKPaymentTransactionStateRestored:
[self handleRestoredStateTransaction:transaction inQueue:queue];
break;
case SKPaymentTransactionStateDeferred:
[self handleDeferredStateTransaction:transaction inQueue:queue];
break;
default:
break;
}
}
}
我们的iOS应用提供了基于自动续订的订阅,当用户购买任何套餐时,我们将向服务器更新有关已登录用户及其套餐的信息,并根据该套餐提供服务。
我们正在执行收据验证以识别应用商店帐户,我们的应用与应用的已登录(通过电子邮件注册)用户和应用商店帐户(通过购买收据中的原始交易ID识别帐户)使用一对一关系)。
如果用户是首次购买该计划,则我们没有其原始交易ID。
我们要确定该付费用户并根据计划提供服务。