前言
2020/09/24早,我们公司的商城支付成功后页面突然关闭,然后各种人找我,我看了看代码,没改过,遂咨询微信客服,其回复:
您好,微信支付服务商平台6月底就发了公告,服务商jsapi支付后回到商家页面的能力,会陆续回收,由点金计划来承载。
如果没有开通点金计划的服务商,支付后就会直接关闭商家页面。详情可查看公告说明:
https://pay.weixin.qq.com/index.php/public/cms/content_detail?platformType=1&lang=zh&id=121505
另外,点金计划相关接口可参考这个文档
https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/goldplan/chapter1_1.shtml
大家都知道微信文档全靠猜,看了一遍文档,感觉还是蒙圈的,就想百度看看能不能白嫖一个解决方案,发现竟然没有。
就目前的支付流程,体验确实不好,最后又看了一遍文档,发现可以利用商家小票功能,添加按钮进行跳转回原来的页面。
小票的主要原理就是内嵌一个iframe,进行通信
准备工作
首先要申请成为特约商户,具体看文档,是我同事申请的,然后要打开点金计划和商家小票功能,还要配置链接
1.申请成为特约商户并打开开关
2.配置商家小票链接,就是下面我写的html,还要将配置文件放到同级目录才能配置成功
说明
开通好以上功能后,商城端的代码基本不用改动,不过要在html加上微信点金的JS,看文档说是如果没加这个代码被微信发现会有惩罚什么的
加上这个代码可能项目会报错,根据页面报错我Google了一下,我选择不理他哈哈。
代码
//payCalllback.html
<!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>
<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" src="https://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<style>
body {
font-family: PingFang SC, "Helvetica Neue", Arial, sans-serif;
}
.order_box {
text-align: center;
}