如何使用 StoreKit 2 进行交易以出示退款单?

问题描述 投票:0回答:2

我使用我的设备和 Xcode 购买带有 StoreKit 2 的消耗品:

let result = try await product.purchase()

switch result {
case .success(let verification):
    switch verification {
    case .verified(let transaction):
        await transaction.finish()    // comes here 
    ...
}

它成功了(我得到了其中包含已验证交易的结果,我的服务器验证了收据)。

但之后我无法获得任何交易(我需要它来启动 iOS 15 退款应用内流程),这些作品中没有任何内容:

Transaction.currentEntitlements
Transaction.latest(for: productId)
Transaction.currentEntitlement(for: productId)
- 始终
nil
[] 
。即使
Transaction.updates
也不会发射任何东西。

我唯一提到的是https://developer.apple.com/forums/thread/689480

有什么想法吗?

ios swift xcode storekit in-app
2个回答
1
投票

我在 storekit2 上遇到了类似的问题,它看起来像是设计使然,至少根据苹果在开发论坛上的回应https://developer.apple.com/forums/thread/687199

我还没有查看原始商店套件 api 中是否有办法做到这一点。


0
投票

这是一个非常老的问题,但如果有人仍然遇到同样的问题。我正在使用:

try await Transaction.beginRefundRequest(for: transactionId, in: scene)

您唯一需要的是交易 ID。

© www.soinside.com 2019 - 2024. All rights reserved.