hbzdkc
hbzdkc
  • 发布:2023-02-16 18:59
  • 更新:2023-02-16 18:59
  • 阅读:106

【报Bug】uni.requestPayment fail回掉有bug

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.18

手机系统: 全部

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

华为 苹果6,8,13,14

示例代码:

                        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() {  
                            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);  
                        }  
                    }) ```

操作步骤:

例如购买商品订单号10001,调用uni.requestPayment执行下单操作第一次执行支付跳转微信页面时uni.requestPayment的fail后不支付返回到app正常,fail只在点击微信支付页返回时执行,【首次支付都是OK的】
当继续购买发起商品订单号为10002发起本次订单支付,跳转微信页面时没有做支付操作直接回掉了uni.requestPayment的fail方法,iOS直接输出参数错误,andorid无反应,这时点击微信支付返回(不支付)再次回掉了fail 这次回掉的是第一次下单的订单信息10001,不是本次下单的回掉信息,导致订单跳转错乱; fail会执行2次;

还有一点是iOS没有剪切板信息,第一次跳转到微信支付页没有调试黏贴板弹窗,接着发起的二次支付流程跳转到微信支付页游了提示黏贴板的弹窗。

预期结果:

问题出现在连续支付时(第二次及以上)uni.requestPayment.fail 跳转到微信支付页面后执行了本次的回调,点击微信支付的返回不支付时再次调用了 uni.requestPayment.fail 回掉且回调的内容是上次发器支付的订单信息;

预期效果是第二次跳转到微信支付页面没做任何操作时不应该执行uni.requestPayment.fail ;二期每次支付的uni.requestPayment.fail 应该及时清理;

实际结果:

15010032335 可以电话沟通。支付取消的回调有bug。

bug描述:

2023-02-16 18:59 负责人:DCloud_iOS_LZY 分享
已邀请:

要回复问题请先登录注册