目前項目中比較常用的第三方支付無非就是支付寶支付和微信支付。下面介紹一下Vue中H5頁面如何使用支付寶支付。其實很簡單的,只不過是調自己后台的一個接口而已(后台根據支付寶文檔,寫好支付接口)。
觸發支付寶支付調用后台接口,后台會返回支付寶提供的form表單,我們只要在vue里面創建新節點,將返回的form表單append進去,並提交就可以喚起支付寶支付。另在此說一下這個returnUrl, 它是支付后支付寶回調的頁面。具體可以根據自身業務,后台寫死或者由前端控制。
methods () {
/**
* 支付寶支付
*/
goAlipay () {
this.$loading.show()
const data = {
/* 自身接口所需的一些參數 */
...
amount: this.price,
/* 支付后支付寶return的url */
// returnUrl: 'www.baidu.com'
returnUrl: window.location.origin + window.location.pathname + '?userParams=' + this.userParams
}
this.$http(
this.$apiSetting.alipay,
data
).then(res => {
this.$loading.hide()
if (res.data.statusCode === '000000') {
const div = document.createElement('div')
/* 此處form就是后台返回接收到的數據 */
div.innerHTML = res.data.data.alipayInfo
document.body.appendChild(div)
document.forms[0].submit()
}
}, error => {
this.$loading.hide()
console.log(error)
})
}
}