深蓝的一片海
深蓝的一片海
  • 发布:2022-09-19 18:20
  • 更新:2023-11-08 17:15
  • 阅读:677

【报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

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

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

预期结果:

正常关闭订单

实际结果:

订单未关闭

bug描述:

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

2022-09-19 18:20 负责人:iOS_DJX 分享
已邀请:
DCloud_uniAD_HDX

DCloud_uniAD_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_uniAD_HDX

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


    2022-09-28 10:47

  • iOS_DJX

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


    2022-09-28 15:42

  • 深蓝的一片海 (作者)

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


    2022-09-30 09:40

  • 深蓝的一片海 (作者)

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


    2022-09-30 09:41

  • iOS_DJX

    回复 深蓝的一片海: 第二次进入支付页面时 理应先调一下 restore 这时候传上这个参数 manualFinishTransaction:true 会给你返回 已支付成功 未关闭的订单 再二次验证完后 调 finishTransaction 关单


    2022-10-08 15:48

深蓝的一片海

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

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

					          });
y***@163.com

y***@163.com

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

  • iOS_DJX

    你是啥问题 表达清楚


    2022-09-28 15:42

叫啥好呢

叫啥好呢

请问解决了吗? 如果支付完点击完成(这时没弹出沙箱支付成功关闭应用的话 就会有问题)

叫啥好呢

叫啥好呢

restoreCompletedTransactions 获取的未关闭的订单 payment 中没有username吗

要回复问题请先登录注册