我们可以在成功交易后收回我们的钱,但API在应用内购买失败了吗?

时间:2014-08-20 10:32:31

标签: ios in-app-purchase

  • 在交易成功后的我的应用中,我的API调用正在进行中 失败。
  • 在这种情况下,我可以将金额退还给用户吗?

1 个答案:

答案 0 :(得分:0)

在API调用完成后,您应该只在finishTransaction:上调用SKPaymentQueue方法。如果您不使用此方法,那么Apple会认为购买不完整,并会在您下次启动应用时重新开始交易。基本上流程应该是:

  1. 通过SKPayment
  2. SKPaymentQueue提交到addPayment
  3. 等待队列观察者接收事务状态SKPaymentTransactionStatePurchased
  4. 致电您的API以解锁/投放内容
  5. 一旦该呼叫成功,请致电finishTransaction
  6. 上的SKPaymentQueue
  7. 如果您的API在步骤3失败,则重试直到成功
  8. 如果您的应用以待处理的交易重新启动,则交易将按照步骤2重新发送
  9. 请参阅in-app purchase programming guide - 您应该在应用启动后立即将付款观察员添加到队列中。应用程序启动时,观察者将收到任何未完成的交易 - 因此,如果您不致电finishTransaction,您将获得另一个机会。