背景
项目基于H5支付 、微信支付实现支付
服务端跟支付宝、微信H5 支付api对接,前端(原生、H5)调用服务端接口,接口返回支付所需的拼接串+支付完成的回调地址,H5或者原生唤起支付。
支付宝支付
1、H5调用服务端接口,接口返回格式 为 from表单,其中包括 提交 from表单时间, 需要特殊处理,处理方式如下:
const div = document.createElement('div')
div.id = 'alipay'
div.innerHTML = from; //from为from表单格式数据,也就是接口返回支付所需的拼接串+支付完成的回调地址
document.body.appendChild(div)
document.querySelector('#alipay').children[0].submit() // 执行后会唤起支付宝
微信H5支付
1、H5调用服务端接口,接口返回格式 为 url,处理方式:
window.location.href = url;
2、原生App调用服务端接口,内链形式 换不起支付,需要用外链形式
问题以及处理方式
1. 因为接口为内网 IP 微信调不起支付
原因: 调试时微信支付是不支持本地IP的,内网 IP也是不可以的需要正式域名。
2、H5支付原生App换不起支付,目前临时处理方式是 原生 传递参数给H5, H5唤起支付
可能存在问题
1、路由模式问题,hash(#)模式可能会导致一些奇葩bug
待完善中...
来源:CSDN
作者:极限越野
链接:https://blog.csdn.net/qq_24343389/article/details/103913794