iOS开发之购买支付.docVIP

  • 6
  • 0
  • 约2.65千字
  • 约 3页
  • 2015-07-22 发布于河北
  • 举报
扣丁学堂,智悦分享 如上图所示,是支付的一个完整的流程,接下来我会为大家详细剖析。 1、首先验证是否能够支付 - (BOOL)checkCanMakePayment { if ([SKPaymentQueue canMakePayments]) { return YES; } else { return NO; } } 2、其次获取需要支付商品信息 - (void)purchaseProductWithIndentifier:(NSString *)identifier { if (identifier == nil || [@ isEqualToString:identifier]) { if (self.delegate [self.delegate respondsToSelector:@selector(AppStorePurchaseSuccess:)] { [self.delegate AppStorePurchaseSuccess:identifier]; } return; } [[ITTActivityIndicator currentIndicator] displayActivity:@获取商品信息中...]; SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:identifier]]; request.delegate = self; [request start]; } 3、接收来自App Store的回应 - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { [[ITTActivityIndicator currentIndicator] hide]; NSArray *myProducts = response.products; // Populate your UI from the products list.i // Save a reference to the products list. if (myProducts [myProducts count] 0) { SKProduct *selectedProduct = [myProducts objectAtIndex:0]; SKPayment *payment = [SKPayment paymentWithProduct:selectedProduct]; [[SKPaymentQueue defaultQueue] addPayment:payment]; } else { [[ITTActivityIndicator currentIndicator] displayActivity:@获取商品信息失败!]; } } 4、对支付进行相应的处理 - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { for (SKPaymentTransaction *transaction in transactions) { switch (transaction.transactionState) { case SKPaymentTransactionStatePurchasing: [[ITTActivityIndicator currentIndicator] displayMessage:@连接App Store...]; break; case SKPaymentTransactionStatePurchased: [self completeTransaction:transaction]; break; case SKPaymentTran

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档