hbzdkc
hbzdkc
  • 发布:2023-02-17 13:14
  • 更新:2023-02-22 20:03
  • 阅读:433

【报Bug】支付apibug

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 12.6.3及以上

HBuilderX类型: 正式

HBuilderX版本号: 3.6.18

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: 6,7,8,x,11,12,13,14

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

                        provider,  
                        orderInfo:(params.payment_mode == 5)?data.url:data,  
                        success: function() {  
                            uni.showToast({  
                                title: '支付成功',  
                                icon: 'none'  
                            })  
                            that.isSuccess = true;  
                            uni.$emit(that.$observer.resetpage + "_" + that.options.service_id);  
                            uni.redirectTo({  
                                url: '/order/details/details?oid=' + that  
                                        .orderInfo.order_num  
                            })  
                        },  
                        fail: function(e) {  
                            console.log("e:"+JSON.stringify(e));  
                            uni.showToast({  
                                title: "未支付",  
                                icon: 'none',  
                                duration: 1500  
                            });  
                            uni.$emit(that.$observer.resetpage + "_" + that.options  
                                .service_id);  
                            setTimeout(() => {  
                                uni.redirectTo({  
                                    url: '/order/details/details?oid=' + that  
                                        .orderInfo.order_num  
                                })  
                            }, 1600);  
                        }  
                    }) ```

操作步骤:

复现方式是 操作支付唤起微信支付点击微信页支付返回后,回到首页再次发起一起订单唤起支付是在uni.requestPayment fail回掉会提示 上面的提醒错误"requestPayment:fail 无效的参数,其实已经唤起并跳转微信支付页面了;

第一次支付唤起微信后点击微信左侧按钮返回到app后,操作页面再次发起订单支付唤起微信支付时就会回掉fail 并提示uni.requestPayment api 提醒{"errMsg":"requestPayment:fail 无效的参数,https://ask.dcloud.net.cn/article/282","errCode":-1,"code":-1}错误;

预期结果:

正常不应该执行fail回掉提示错误吧,上传附件有2次请求微信支付的参数;第二次支付跳转微信后不应该提示requestPayment:fail 无效的参数

实际结果:

{"errMsg":"requestPayment:fail 无效的参数,https://ask.dcloud.net.cn/article/282","errCode":-1,"code":-1}

连续发起支付的2个订单(微信支付交易号不同),都取消返回,第二次跳转就会提示报错;

bug描述:

uni.requestPayment api 提醒{"errMsg":"requestPayment:fail 无效的参数,https://ask.dcloud.net.cn/article/282","errCode":-1,"code":-1}错误;

复现方式是 操作支付唤起微信支付点击微信页支付返回后,回到首页再次发起一起订单唤起支付是在uni.requestPayment fail回掉会提示 上面的提醒错误"requestPayment:fail 无效的参数,其实已经唤起并跳转微信支付页面了;

2023-02-17 13:14 负责人:DCloud_iOS_LZY 分享
已邀请:
DCloud_iOS_LZY

DCloud_iOS_LZY

非bug, 因连续两次调用支付接口造成

hbzdkc

hbzdkc (作者)

第一次支付 进入到微信支付页没有发起支付点击了微信支付页左上角的返回按钮;

第二次支付 发起后只要跳入微信支付页就报{"errMsg":"requestPayment:fail 无效的参数,https://ask.dcloud.net.cn/article/282","errCode":-1,"code":-1}

二次发起的支付 微信交易号都是不同的,就是新的发起;

DCloud_iOS_LZY

DCloud_iOS_LZY

你好,请提供一下App ID, 方便排查问题。

要回复问题请先登录注册