3***@qq.com
3***@qq.com
  • 发布:2023-11-22 13:32
  • 更新:2023-11-22 13:34
  • 阅读:278

【报Bug】 iap苹果内购 订阅 Bug

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 000

HBuilderX类型: 正式

HBuilderX版本号: 3.98

手机系统: iOS

手机系统版本号: iOS 17

手机厂商: 苹果

手机机型: 全部

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

1.订阅支付 2.调用restoreCompletedTransactions(然后调用finish)关闭所有状态未1 和2的事务 3.调用requestPayment

预期结果:

支付后返回transaction.transactionState=1 的事务 或 弹出已经购买过的苹果提示 无论如何不应该恢复购买

实际结果:

返回transaction.transactionState=3 的事务

bug描述:

IOS的苹果内购(iap)
https://uniapp.dcloud.net.cn/api/plugins/payment.html
1.上面这个文档给的支付流程中要调用一个restoreCompletedTransactions,用来关闭订单。我明白这样做的目的,因为对于苹果来说一个订单是一个事务,需要关闭。 <br/> 2.对于苹果来说,它提供restoreCompletedTransactions目的是用于恢复购买的,只不过刚好可以获取到未关闭的事务,便用在了这里,我也可以理解。 <br/> 3.但是对于订阅类型的商品,我调用restoreCompletedTransactions之后会产生一个transaction.transactionState=3 的事务,当我调起支付时直接把这个事务返回给我了,我需要的是支付后返回一个transaction.transactionState=1的

2023-11-22 13:32 负责人:无 分享
已邀请:
3***@qq.com

3***@qq.com (作者) - wo

我希望我能自己控制addTransactionObserver,我能在启动app时拿到addTransactionObserver的返回队列

要回复问题请先登录注册