PC扫码支付的方式,前置模式和跳转模式的实现方式:
1、前置模式的处理实现,前置模式是将二维码前置到商户的订单确认页的模式。需要商户在自己的页面中以 iframe 方式请求支付宝页面
效果如下:
html代码:
<iframe id="alipayFrame"></iframe>
js代码:
let o = document.getElementById("alipayFrame")
let ed = document.all ? o.contentWindow.document : o.contentDocument
ed.open()
ed.write(res.data.alipayOrderStr) // 放入支付宝的表单数据
ed.close()
ed.contentEditable = true
ed.designMode = 'on'
2、跳转模式的实现处理,跳转模式下,用户的扫码界面是由支付宝生成的,不在商户的域名下。
效果为支付宝收银台界面,不需要特定的html代码
js代码:
let divForm = document.getElementsByTagName('divform')
if (divForm.length) {
document.body.removeChild(divForm[0])
}
const div = document.createElement('divform')
div.innerHTML = res.data.alipayOrderStr // 放入支付宝的表单数据
document.body.appendChild(div)
document.forms[0].setAttribute('target', '_blank') // 新开窗口跳转
document.forms[0].submit()