[iOS]苹果内购的踩坑

1,TransactionState
SKPaymentTransactionStatePurchased(完成)
SKPaymentTransactionStateRestored(已付费)
SKPaymentTransactionStateFailed(失败)
SKPaymentTransactionStatePurchasing(添加商品到列表)
在状态显示为完成、已付费、失败的情况时,需要调用系统API
[[SKPaymentQueue defaultQueue] finishTransaction:tran]
来终结订单状态。
2. 卡单,提示已购买将免费恢复

Appdelegate中didFinishLaunchingWithOptions添加监听[[SKPaymentQueue defaultQueue] addTransactionObserver:self];实现监听方法

- (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;
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在我们应用开发中我们经常在自己的项目中使用到支付,下面我们来谈谈iOS这块的支付;iOS支付主要分为两类,第三方支...
    Hither阅读 8,432评论 9 42
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    请输入账号名阅读 6,455评论 3 22
  • iOS支付 iOS支付分为两类,第三方支付和应用内支付(内购)。 第三方支付包括:支付宝支付、微信支付、银联支付、...
    羊驼先生丶阅读 943评论 0 0
  • 1、收款协议以及账户等的创建 内购收款协议等的创建,这里一般由运营负责,这里不做介绍,但是如果想要了解,请参考这位...
    佳佳爱宥嘉阅读 9,091评论 44 49
  • iOS应用如果涉及到支付功能,分为两类:第三方支付和苹果内购。那么什么情况下选择使用第三方支付,又在什么情况下选择...
    ZfRee阅读 39,192评论 36 66

友情链接更多精彩内容