iphone - 在应用程序购买中,SKPaymentTransactionStatePurchased 重试

标签 iphone ios in-app-purchase

我正在实现应用内购买并在我的服务器上验证收据。

当我在 paymentQueue:updatedTransactions: 期间遇到 SKPaymentTransactionStatePurchased 时,我将收据发送到我的服务器进行验证。当我的服务器响应 OK 时,我调用 finishTransaction

如果我的服务器离线或者我无法验证收据,是什么触发应用程序再次调用 paymentQueue:updatedTransactions:,有效地让我有机会重试验证?我注意到重新启动应用程序会执行此操作 - 还有其他吗?当应用程序保持运行时,它会以固定频率再次调用吗?

是否有手动方式强制事务队列循环?

最佳答案

我认为 TomSwift 不想恢复已购买的付款, 但他希望应用程序调用 paymentQueue:updatedTransactions 再次使用 SKPaymentTransactionStatePurchased 标志 未完成交易

他知道的唯一方法是重新启动应用

我试过 [[SKPaymentQueue defaultQueue] removeTransactionObserver:mMyStoreObserver]; [[SKPaymentQueue defaultQueue] addTransactionObserver:mMyStoreObserver]; 再次

但它不起作用..

非finishTransaction的问题是 苹果会说它已被购买但从未下载过 再次尝试购买相同的产品ID时,将进入SKPaymentTransactionStateFailed。

关于iphone - 在应用程序购买中,SKPaymentTransactionStatePurchased 重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5224256/

相关文章:

ios - 缺少IAP-尽管IAP正在“等待审核”

Android 应用内计费 Phonegap 1.0

ios - CFBundleURLName 必须匹配 CFBundleIdentifier 吗?

ios - xcode 6 webview 全屏

iphone - 位置服务指示器保持 "on"

ios - 根据设备区域设置格式化日期字符串

ios - 从 Settings.bundle 获取切换

Android 应用内计费 : If in app purchase is controlled by primary device account then how to prevent passing accounts

ios - 应用程序在 AppStore 和 iPhone 主屏幕上的名称如何不同?

iphone - iOS UIImagePickerController 和 UIWebView 导致内存问题;呈现这些 View 时如何保留应用程序的状态?