深蓝的一片海
深蓝的一片海
  • 发布:2022-09-19 18:20
  • 更新:2022-09-25 20:23
  • 阅读:75

【报Bug】ios内购支付调用finishTransaction方法报错提示manualFinishTransaction为false

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.3

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: iphone11

页面类型: vue

vue版本: vue2

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

ios内购支付设置了manualFinishTransaction:true
然后我支付后立马杀掉进程再次回到支付页面二次验证订单成功后调用finishTransaction

预期结果:

正常关闭订单

实际结果:

订单未关闭

bug描述:

ios内购支付设置了manualFinishTransaction:true
然后我支付后立马杀掉进程,再次回到支付页面二次验证订单成功后调用finishTransaction方法报错提示Can not call this function when manualFinishTransaction is false 不能调用此函数
导致我二次验证掉单的,已经加了虚拟货币,再次点击同样的商品支付直接又加了货币

2022-09-19 18:20 负责人:DCloud_iOS_DJX 分享
已邀请:
DCloud_UNI_HDX

DCloud_UNI_HDX

  • 深蓝的一片海 (作者)

    是按流程处理的呢,你们测试下了,这么大问题!!!!!如果我再次点击原来的金额去支付就能关闭,不点直接调用finishTransaction就提示Can not call this function when manualFinishTransaction is false ,我用原生的插件就没问题

    2022-09-23 16:00

  • 深蓝的一片海 (作者)

    设置了manualFinishTransaction:true,至少不能提示Can not call this function when manualFinishTransaction is false吧!!

    2022-09-23 16:05

  • DCloud_UNI_HDX

    回复 深蓝的一片海: 在什么时机调用的 finishTransaction

    2022-09-28 10:47

  • DCloud_iOS_DJX

    回复 深蓝的一片海: 上传你的示例代码 文档有说明这个finishTransaction 必须在 设置了manualFinishTransaction:true 之后调用 你都杀掉进程 下次进来肯定没有再次显示设置为true

    2022-09-28 15:42

  • 深蓝的一片海 (作者)

    回复 DCloud_UNI_HDX: 第二次进入支付页面,然后我去二次验证苹果支付成功未完成的订单,发现有返回的列表,然后我调用后端接口去验证,成功后就调用finishTransaction

    6 天前

  • 深蓝的一片海 (作者)

    回复 DCloud_iOS_DJX: 那如果是这样,那这个掉单,漏单的二次验证完,怎么关闭这个订单呢,苹果会一直返回这个支付成功未完成的订单呀

    6 天前

深蓝的一片海

深蓝的一片海 (作者) - 90后IT男

const transaction = await this.myIap.requestPayment({
productid: _productid,
manualFinishTransaction:true,
username:uni.getStorageSync("userInfo").userId

                              });
y***@163.com

y***@163.com

我也一样 请问楼主解决了吗

要回复问题请先登录注册