最近遇到一件比较糟心事,给客户上线快两年的微信在线商城,最近决定升级,结果到支付完成后点击完成按钮无法直接返回商家...我检查了自己传的参数,发现并无问题,老版本是可以跳转的,当时很是懵逼,因为这个项目是直接对接的第三方支付公司(通联);我就联系通联相关的技术人员,告知我可能是因为微信退出的点金计划的原因,然后我就去度娘了一下,果然是...然后看文档跟着配置与自定义小票页面。

        小票的主要原理就是内嵌一个iframe,进行通信。我们填写的连接地址也是嵌套在iframe框上的src属性上...

微信支付成功跳转页面 可以监控到吗 微信支付自动跳转_html

                理解了其原理,准备开干...

开通点金计划,申请成为特约商户,开启自定义小票功能,放入自定义好的小票连接,需要做验证。

微信支付成功跳转页面 可以监控到吗 微信支付自动跳转_javascript_02

 

微信支付成功跳转页面 可以监控到吗 微信支付自动跳转_微信支付成功跳转页面 可以监控到吗_03

 下载验证txt文件,放入与自定义小票页面同级下

  • 配置商家小票链接(修改链接内容需要五分钟之后才能生效)
    1). 需要https:// 路径的小票链接(前端自己随便写个)
  • 和微信授权一样, 下载指定的 .txt 文件,放在同级目录。
    填写域名或路径指向的web服务器(或虚拟主机)的目录(若填写域名,将文件放置在域名根目录下;若填写路径或具体链接,将文件放置在最后一级的路径目录下,例如链接为https://xxx/xxx/aa.html,则文件应放置在https://xxx/xxx/xxx.txt。.txt只有添加正确的位置才算配置成功。
  • 商家小票调试工具预览
    可以先在这个页面调试小票页面
    1). 支付一笔订单 (能在当前交易中心看到这笔订单,确定商家小票链接配置没有配错地方)
    2). 对应的特约商户号中 点金计划 商家小票 广告展示都给打开 后面还有个更多的,点一点,有个配置特约商户商家小票链接,看看是不是配置的, 我是把能配置的都给配置了。
    3). 需要 商家小票链接 特约商户号 商家订单号 微信支付订单号 填满,生成二维码,就可以看到微信支付成功点击完成之后的页面了
<!DOCTYPE html>
 <html lang="en"><head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="referrer" content="origin">
     <meta name="viewport"
         content="width=device-width, viewport-fit=cover, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
     <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
     <title>支付完成</title>
      <head>
         <script type="text/javascript" charset="UTF-8" src="https://wx.gtimg.com/pay_h5/goldplan/js/jgoldplan-1.0.0.js"></script>
         <script type="text/javascript" src="https://cdn.bootcss.com/vConsole/3.3.0/vconsole.min.js"></script>
         <script type="text/javascript">
             window.οnlοad=function(){
                 var mchData ={action:'onIframeReady',displayStyle:'SHOW_CUSTOM_PAGE'};
                 var postData = JSON.stringify(mchData);
                 parent.postMessage(postData,'https://payapp.weixin.qq.com');
             }
             
             //初始化console
             var vConsole = new VConsole();
             //获取返回页面参数
             function getQueryString(name) {
                 var query = window.location.search.substring(1);
                 console.log("window" + window.location.search)
                 console.log("query" + query)
                 var vars = query.split("&");
                 for (var i = 0; i < vars.length; i++) {
                     var pair = vars[i].split("=");
                     if (pair[0] == name) {
                         return pair[1];
                     }
                 }
                 return null;
             };
             //获取参数
             var sub_mch_id = getQueryString("sub_mch_id"); //特约商户号
             console.log("特约商户号" + sub_mch_id)
             var out_trade_no = getQueryString("out_trade_no"); //商户订单号
             console.log("商户订单号" + out_trade_no)
             var check_code = getQueryString("check_code"); //md5 校验码
             console.log("校验码" + check_code)
         </script>    </head>
     <style>
         body {
             font-family: PingFang SC, "Helvetica Neue", Arial, sans-serif;
         }
         .order_box {
             width: 100%;
             display: flex;
             flex-direction: column;
             justify-content: center;
             align-items: center;
         }
         .order_box .bussiness_avt{
             width: 100%;
             display: flex;
             flex-direction: column;
             justify-content: center;
             align-items: center;
         }
         .order_box .bussiness_avt img {
             width: 60px;
             height: 68px;
             border: 1px solid #E0E0E0;
         }
         .order_box .bussiness_avt .text{
             font-size: 16px;
             line-height: 60px;
             height: 60px;
         }
         .order_box .bussiness_avt button{
             width: 60%;
             height: 35px;
             border-radius: 25px;
             border: 1px solid #73dde1;
             background-color: #d0edee;
             color: #15b4f4;
             font-size: 14px;
         }
     </style>
 </head><body>
     <div class="order_box">
         <div class="bussiness_avt">
             <img id="b_avt" src="https://xxxxxx"
                 alt="">
                 <div class="text">您的订单支付完成</div>
             <button  onclick = 'toOrder()' >返回查看订单</button>
         </div>
         <!-- <div class="b_name" id="b_name">
            默认广告占位
         </div> -->
     </div>
     <script type="text/javascript">
            function toOrder(){
                 var mchData = {
                     action: 'jumpOut',
                     jumpOutUrl: 'https://xxxxxx' //跳转的页面
                 }                
                 var pData = JSON.stringify(mchData);
                 parent.postMessage(pData, 'https://payapp.weixin.qq.com')
            }
          
         </script>
 </body></html>

这里想问大家一个问题怎么拿到回调地址 jumpOutUrl?