应用程序被杀时取消InApp购买流程

时间:2016-02-18 12:24:54

标签: ios objective-c in-app-purchase

当iOS应用程序要终止时,是否可以取消in-app-purchase?我处于用户启动in-app-purchase进程并同时杀死应用程序的情况。我们可以在以下代码中恢复InApp购买吗?

- (void)applicationWillTerminate:(UIApplication *)application

1 个答案:

答案 0 :(得分:2)

采购流程在In-App Purchasing Programming Guide

中有所描述

当您的应用被杀时会发生什么情况取决于您在购买过程中的位置。

  • 如果还没有提交付款申请,那么您不需要做任何事情;用户将不会被收取费用,也不会记录任何交易,您无需采取任何进一步行动。

  • 如果您提交了付款申请但用户未授权付款(通过密码或TouchID授权付款的提示由iOS在您的应用外部提供)要么不会记录任何交易,要么交易可能向您的交易观察员报告"失败"状态。无论哪种方式,用户都不会被收费,您无需采取任何进一步的行动。

  • 如果用户已授权交易,但交易未提交给您的交易观察员,或者您的应用尚未调用finishTransaction,则交易将重新呈现给您的交易观察者下次你的应用程序执行。这就是为什么在您的应用程序逻辑中完成购买之前,您的应用程序不会调用finishTransaction这一点很重要(解锁功能,增加用户余额等)

因此,总而言之,没有方法可以取消购买流程,如果您已经正确实施了事务观察器和购买逻辑,则无需进行任何操作。