在我的应用中,我正在实施inAppPurchase。 问题:在测试帐户中测试应用程序时,我显示交易完成的弹出窗口。但我不知道如何获得交易ID。
这是我的代码
-(void)paymentQueue:(SKPaymentQueue *)queue
updatedTransactions:(NSArray *)transactions { for(SKPaymentTransaction *交易中的交易){
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchasing:
NSLog(@"Purchasing");
break;
case SKPaymentTransactionStatePurchased:
if ([transaction.payment.productIdentifier
isEqualToString:kTutorialPointProductID]) {
NSLog(@"Purchased ");
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:
@"Purchase is completed succesfully" message:nil delegate:
self cancelButtonTitle:@"Ok" otherButtonTitles: nil];
[alertView show];
_shipbutton.hidden=FALSE;
}
if ([transaction.payment.productIdentifier
isEqualToString:kTutorialPointProductID45]) {
NSLog(@"Purchased ");
UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:
@"Purchase is completed succesfully" message:nil delegate:
self cancelButtonTitle:@"Ok" otherButtonTitles: nil];
[alertView show];
_shipbuttonPremium.hidden=FALSE;
}
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
NSLog(@"Restored ");
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
NSLog(@"Purchase failed ");
break;
default:
break;
}
}
}
我正在申请产品并获得该产品标识符甚至交易也会给出成功消息。那么如何获得交易ID?
答案 0 :(得分:1)
//我认为这会对你有所帮助
for (SKPaymentTransaction * transaction in transactions) {
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
NSLog(@"id ===> %@",transaction.transactionIdentifier);
break;
case SKPaymentTransactionStateFailed:
break;
case SKPaymentTransactionStateRestored:
NSLog(@"id ===> %@",transaction.transactionIdentifier);
default:
NSLog(@"Deafault");
break;
}
};