废话不多说,直接说重点
微信官方提醒:H5支付不建议在APP端使用,如需要在APP中使用微信支付,请接APP支付,文档详见微信支付开发文档
场景:公司业务需要,在移动端App中引入了微信H5支付
逻辑,支付流程Android
没问题,但是在iOS
端出现了支付成功/失败之后打开了Safari
,并没有直接返回App
的问题。
以下为解决方案:
首先在网页中H5调起微信时,可以获取到H5发出的支付链接为https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=************&package=*********&redirect_url=http://pay.*********.com/phonepay/wxsuccess.jsp
此链接会发起支付,然后打开微信App支付页面,支付之后返回App,这个流程在Android
中是没有问题的,但是在iOS
端支付之后确莫名其妙的打开了Safari
,Safari
显示的界面为redirect_url
参数对应的http://pay.*********.com/phonepay/wxsuccess.jsp
链接界面。
注意:此处链接中的
redirect_url
是微信支付之后的结果界面,如果在此链接中拼接了redirect_url
,那么Safari
是一定会被打开的,如果前端拼接了此地址,那么可以让前端来对iOS
端区别操作,不拼接redirect_url
。
如果前端处理起来比较麻烦&#x