取消微信支付时异常

取消微信支付时异常

问题:成功调起微信支付页面后,不继续进行输入密码支付操作,而是直接点击支付框左上角的关闭按钮,这个时候报了个异常错误信息。

解决 : 因为微信支付是在前台调起来的,并且在后台看了下控制台,后台并无异常信息,因此,肯定是前台抛出来的异常,那就很有可能是微信支付回调处理不太正确。

	        	ApiAjax.request({
	                url: '/api/weixin/weixinPay/0.01/'+vm.wx.description,
	                type: "get",
	                async: true,
	                successCallback: function (date) {
	                	WeixinJSBridge.invoke('getBrandWCPayRequest',{  
	                        "appId" : date.appId,          //公众号名称,由商户传入  
	                        "timeStamp":date.timeStamp,    //时间戳,自 1970 年以来的秒数  
	                        "nonceStr" : date.nonceStr,    //随机串  
	                        "package" : date.package,      //商品包信息
	                        "signType" : date.signType,    //微信签名方式
	                        "paySign" : date.paySign       //微信签名  
	                        },function(res){
	                        if(res.err_msg == "get_brand_wcpay_request:ok" ) {  
	                        	$.toast('支付成功');
	                        	setTimeout(function () {
	                                window.location.href = "/front/my.assets.html"
	                            }, 1000);
	                        }else{
	                        	$.toast('支付失败');
	                        	ApiAjax.request({
	                                url: '/api/weixin/weixinPay/fail',
	                                type: "POST",
	                                async: true,
	                                params: {
	                                    trade_no: date.trade_no,
	                                },
	                                successCallback: function (r) {
	                                	
	                                }
	                            });
	                        }
	                    });
	                }
	            });

通过官方文档,发现:
在这里插入图片描述
我所遇到的情况就是在取消支付的时候出现的异常,我前台处理中又没有处理这个状态,索性直接多加了个else if 单独处理取消支付的情况,测试后就没问题啦。

				if(res.err_msg == "get_brand_wcpay_request:ok" ) {  
                 	$.toast('支付成功');
                 	setTimeout(function () {
                         window.location.href = "/front/my.assets.html"
                     }, 1000);
                 }else if(res.err_msg == "get_brand_wcpay_request:cancel" ){
                 	
                 }else{
                 	$.toast('支付失败');
                 	ApiAjax.request({
                         url: '/api/weixin/weixinPay/fail',
                         type: "POST",
                         async: true,
                         params: {
                             trade_no: date.trade_no,
                         },
                         successCallback: function (r) {
                         	
                         }
                     });
                 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ellis_li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值