背景
項目基於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
待完善中...