ios - 在 StoreKit 拒绝交易

标签 ios swift storekit

Apple 建议仅在 App 提供功能时使用 SKPaymentQueue.default().finishTransaction(transaction)。 因此,如果 transactionStatus == .purchased 我会向我的后端发送请求。 但是如果我收到一些失败(或网络失败)怎么办?我想拒绝当前交易。但是如果我做 SKPaymentQueue.default().finishTransaction(transaction) 我会完成交易,这意味着付款成功(但不是)

我怎样才能在这里拒绝交易?

最佳答案

方法 SKPaymentQueue.default().finishTransaction(transaction) 只会从交易队列中删除交易,而不是完成交易。从交易队列中删除交易是正确的方法,因为它失败并且不再需要进行交易操作。

您也可以在 Apple storeKit 示例代码中找到相同的实现方法。您可以查看文件路径:iOSInAppPurchases/iOSInAppPurchases/StoreObserver.m

关于ios - 在 StoreKit 拒绝交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42342975/

相关文章:

objective-c - 从 Obj-c 中的数字中减去一个数字

objective-c - 使用 RestKit/iOS 映射嵌套数组

swift - 将 NSMutablearray 的特定索引数据复制到 swift 中的另一个索引数据

ios - Touch ID 未显示 StoreKit

ios - AVPlayer - 使用单独的音频 URL 播放网络视频,无需先下载文件

iphone - 在 TableView 中保存和加载 UISwitch 状态

ios - 下标使用不明确错误

swift - 二元运算符 '<' 不能应用于类型 'Double?' 和 'Int' 的操作数

app-store - IAP在沙盒中可用,但在应用商店上线后无法使用 "product id"获取它

ios - 已取消的 SKPaymentTransaction 中 transactionIdentifier 的唯一性