微信企业号开发:企业支付成功后关闭交易页面问题详解手机开发

官方的demo有不少小问题导致支付成功后,依然留在支付页面,而且很奇怪,getBrandWCPayRequest方法的回调根本就不进去。

一直以为是自己的问题,后来在发现是demo的问题。

找到了文档解决方法

文章列出来了一下几点

1 除了上面说到的引用<script src=”http://res.wx.qq.com/open/js/jweixin-1.0.0.js”></script>以外
登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”   “res.wx.qq.com”
(这一项我没有测试是不是必须)

2(必须)JsApiPayPage.aspx页面JS错误写法
if (typeof WeixinJSBridge == “undefined”) 改成
if (typeof(‘WeixinJSBridge’) == “undefined”)

3(必须)还是JsApiPayPage.aspx页面Button的OnClientClick事件
OnClientClick=”callpay()”改成
OnClientClick=”javascript:callpay();return false;”


但我发现第一点不需要,也就是不需要添加js文件jweixin-1.0.0.js

另外在支付成功后添加一下代码就可以关闭交易页面

    WeixinJSBridge.invoke('closeWindow', {}, function (res) { 
                            });

 function (res) 
                    {                    
                        if (res.err_msg =="get_brand_wcpay_request:ok") 
                        { 
                          //  alert("支付成功err_code=" + res.err_code + ",err_desc=" + res.err_desc + ",err_msg=" + res.err_msg); 
                            WeixinJSBridge.invoke('closeWindow', {}, function (res) { 
                            }); 
                        } 
                        else if (res.err_msg == "get_brand_wcpay_request:cancel") { 
                          //  alert("用户取消err_code=" + res.err_code + ",err_desc=" + res.err_desc + ",err_msg=" + res.err_msg); 
                        } 
                        else { 
                            alert("	支付失败err_code=" + res.err_code + ",err_desc=" + res.err_desc + ",err_msg=" + res.err_msg); 
                        }                      
                     }

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5288.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论