踩坑H5介入第三方支付后,支付后点完成就闪退,关闭H5界面了
微信公众号支付后闪退,后面逻辑不执行,支付取消不会有问题,就是支付成功后有问题
是因为微信开启了一个‘点金计划’
微信支付服务号点击查看 https://pay.weixin.qq.com/index.php/public/cms/content_detail?platformType=1&lang=zh&id=121505
商家小票链接需要单独写一个新的Html界面,放在服务器上,
解决方法
通过点金计划的接口来做替代
官方文档
- 点金计划管理文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/goldplan/chapter3_1.shtml
- 商家小票管理文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/goldplan/chapter3_2.shtml
- 点金计划产品文档:https://wx.gtimg.com/pay/download/goldplan/goldplan_product_description_v2.pdf
步骤
1. 申请成为特约商户并打开开关(如果支付后不需要逻辑处理或者跳转页面则配置默认的商家小票就可以了)
2. 如果需要跳转界面或者执行其他业务逻辑则需要配置小票链接,就是在原先的商家小票中内嵌一个 Iframe,把你的html界面嵌在商家小票界面中
3. 配置小票链接上传文件
链接和文件放在一起(重点关注红框里的内容,位置一定要放正确)
商家小票链接需要单独写一个新的Html界面,放在服务器上,
我的链接是 http://域名.com/payCallBack.html(配置文件一定要放到同级目录才能配置成功)
这些步骤上面的文档中都有(https://wx.gtimg.com/pay/download/goldplan/goldplan_product_description_v2.pdf)
4. 如果要携带参数,从链接里面截取
需要注意的地方
1.进入页面后会携带两个参数,一个是支付成功的订单号,一个是商户订单号通过去获取
2.跳转的链接要拼上https://(http://)
3.如果配置没问题,但是小票一直显示不出来,可能就是你的代码里面有报错导致小票无法显示。
或者看一下另一个博主的总结(点金计划商家小票显示无法获取订单信息)
无法展示小票页面原因
调试时需确认以下事项:
1,已打开特约商户的商家小票及点金计划开关
2,商家小票页面需调用父页面“onIframeReady事件”的jsapi,请查看商家小票开发指引
3,从加载商家小票到调用JSAPI之间的用时不可超过3s
4,调试时,扫描二维码的微信号和支付该笔测试订单的微信号需为同一个
5,确保访问的商家小票在调试手机的微信上能正常打开
6,检查商家小票请求的Response Headers中X-Frame-Options是否允许payapp.weixin.qq.com访问
7,ios无法加载商家小票,商家小票链接需要https