Ios 当购买确认弹出窗口可见时,付款交易状态是什么?
当购买确认弹出窗口可见时,如果存在付款交易状态,则付款交易状态是什么Ios 当购买确认弹出窗口可见时,付款交易状态是什么?,ios,in-app-purchase,Ios,In App Purchase,当购买确认弹出窗口可见时,如果存在付款交易状态,则付款交易状态是什么 假设它是SKPaymentTransactionStatePurchasing,我似乎无法让它工作。枚举SKPaymentTransactionStatePurchasing是指应用商店正在处理的交易,而不是处于“购买”应用内购买状态的用户 与此相关的方法 -(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transaction
假设它是SKPaymentTransactionStatePurchasing,我似乎无法让它工作。枚举SKPaymentTransactionStatePurchasing是指应用商店正在处理的交易,而不是处于“购买”应用内购买状态的用户 与此相关的方法
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
for(SKPaymentTransaction *transaction in transactions) {
NSString *productId = transaction.payment.productIdentifier;
if(transaction.transactionState == SKPaymentTransactionStateFailed) {
[self paymentTransactionFailed:transaction.error.code];
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}
and so on for the other enums
应该从
-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
if([response.products count] > 0) {
SKProduct *product = [response.products objectAtIndex:0];
SKPayment *paymentRequest = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:paymentRequest];
}
handling more than one product in the response if necessary
只有在用户取消或确认应用内购买后才会发生
来源:如果我理解正确,您是说警报的回调是在didReceiveResponse中处理的?因此您将得到对-(void)productRequest的回调。。。用户回答“确认购买”警报后。之后,您将调用-(void)paymentQueue。。。(我在上面做了一个编辑,以使这一点更加清楚)。