谈谈苹果应用内支付(IAP)的坑

本文详细介绍了苹果应用内支付(IAP)过程中遇到的问题及解决策略,包括请求商品时的延迟问题、receipt验证的注意事项,以及如何处理退款订单。建议直接跳过商品请求,使用paymentWithProductIdentifier生成SKPayment。在验证receipt时,应处理iOS 6和7风格的差异,分发所有有效交易,同时避免退款订单的重复分发。最后强调了receipt的安全处理和网络异常情况下的恢复策略。
摘要由CSDN通过智能技术生成

一、请求商品

下面是请求商品的代码:

- (void)validateProductIdentifier:(NSArray *)productIdentifier {
    SKProductsRequest *productRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:productIdentifier]];
    self.request = productRequest;
    productRequest.delegate = self;
    [productRequest start];
}

#pragma mark - SKProductsRequestDelegate Protocol
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
    
    self.products = response.products;
    [response.products enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
        SKProduct *product = (SKProduct *)obj;
        NSLog(@"valid identifier: %@", product.produ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值