【前端开发】网页h5实现微信支付,android 原生app 用webview 嵌入h5 ,实现微信支付
微信官方文档
https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_4
这里只讨论前端需要做的工作,

1-3 步骤是后台完成的,
1、前端仅仅需要调用后台的接口传递要购买的商品的某些参数,
接口返回一个url就是上图步骤3中的mweb_url
2、拿到的mweb_url之后前端唯一需要做的就是拼接上redriect_url
注意 (1)这个redirect_url 必须是申请h5支付时候填入的授权域名下的网址,否则亲测会出错。
(2)redirect_url必须要encode, 否则回调的时候要么会报错,要么会获取不到该url后面附带的参数
比如 完整的url是 http://test.com?status=done&lang=zh, 如果不encode,那么回调的地址就是http://test.com?status=done, 我测试的时候丢失了后面的第二个参数lang
之后用encodeURIComponent(url), encode 之后就可以正常跳转了。【这是我遇到的问题,仅供大家参考, 官方文档也明确说了回调地址必须encode】
3、上述步骤时候得到了一个完整的url 如官方文档所示

在浏览器中h5支付的时候仅需要 window.location.href = url 【处理过后的url】即可
注意(1)跳转的域名必须是申请h5支付时候填入的授权域名下的网址,否则会报错【商家存在未配置的参数,请联系商家解决】,如官方文档所示
(2)在android的webview中,需要安卓端设置referer = 申请h5支付时候填入的授权域名地址,如官方文档所示

综上所述,h5支付 so easy~
----- 更新------
按照上述方法都没问题,但是突然找到一个android 7的手机,然后还是会提示【商家存在未配置的参数,请联系商家解决】经过移动端小伙伴研究,换了一种设置referer的方式就好了
所以,如果同样有这样的问题,可以让移动端同学,检查一下设置referer的方法,仅供参考
更多推荐



所有评论(0)