1,TransactionState
SKPaymentTransactionStatePurchased(完成)
SKPaymentTransactionStateRestored(已付費)
SKPaymentTransactionStateFailed(失斨憾稀)
SKPaymentTransactionStatePurchasing(添加商品到列表)
在狀態(tài)顯示為完成绍申、已付費噩咪、失敗的情況時顾彰,需要調(diào)用系統(tǒng)API
[[SKPaymentQueue defaultQueue] finishTransaction:tran]
來終結(jié)訂單狀態(tài)。
2. 卡單胃碾,提示已購買將免費恢復(fù)
在Appdelegate中didFinishLaunchingWithOptions
添加監(jiān)聽[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
實現(xiàn)監(jiān)聽方法
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions{
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased: {
//交易完成
if ([SKPaymentQueue defaultQueue]) {
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
}
break;
case SKPaymentTransactionStateFailed: {
//交易失敗
if ([SKPaymentQueue defaultQueue]) {
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
}
break;
case SKPaymentTransactionStateRestored: {
//付費
if ([SKPaymentQueue defaultQueue]) {
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
}
break;
case SKPaymentTransactionStatePurchasing:
//商品添加進列表
break;
default:
break;
}
}
}