先购买一个非续期订阅内购, 然后再次购买

- 发布:2024-12-28 15:11
- 更新:2024-12-30 11:26
- 阅读:169
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 15.2
HBuilderX类型: 正式
HBuilderX版本号: 4.43
手机系统: iOS
手机系统版本号: iOS 18
手机厂商: 苹果
手机机型: iPhone XR
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
购买成功后返回的 transactionIdentifier 和根据返回的 transactionReceipt 中解析出来的值一致
购买成功后返回的 transactionIdentifier 和根据返回的 transactionReceipt 中解析出来的值一致
实际结果:
第二次及以后购买的 订阅类 内购 返回的 transactionReceipt 解析出来的 transactionIdentifier 始终是第一次购买的 transactionIdentifier
transactionReceipt 不正确
第二次及以后购买的 订阅类 内购 返回的 transactionReceipt 解析出来的 transactionIdentifier 始终是第一次购买的 transactionIdentifier
transactionReceipt 不正确
bug描述:
uni.requestPayment({
provider: 'appleiap',
orderInfo: {
productid,
username,
quantity: 1,
manualFinishTransaction: true
},
success: (transaction) => {
console.log(transaction.transactionIdentifier);
console.log(transaction.transactionReceipt);
}
)
productid 传订阅类内购 productid
收到的 transactionReceipt 解析出来的 transactionId 和 返回的transactionIdentifier不是一个 (始终是第一个购买的订阅项目)
2 个回复
1***@163.com (作者)
transactionReceipt 和实际 transactionIdentifier 不一致
解析方式参考苹果给出的sdk app-store-server-library-java
1***@163.com (作者)
https://uniapp.dcloud.net.cn/api/plugins/payment.html#transactionstate
根据文档所述:
注意事项
相同订单,重复调用 restoreCompletedTransactions 后 transactionReceipt 会发生变化,并非唯一值
实际情况是 每次调用 所有 transaction的 transactionReceipt 全部都一样