微信支付有以下几种支付方式:
https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter1_1_1.shtml
JSAPI支付
微信外浏览器不可以使用JSAPI支付, JSAPI产品不可以在微信外使用
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
let opthions = {
appId: r.appId,
timeStamp: r.timeStamp,
nonceStr: r.nonceStr,
package: r.package,
signType: r.signType,
paySign: r.paySign
}
jsSDK(opthions)
export function jsSDK (params) {
if (typeof WeixinJSBridge === 'undefined') {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false)
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady)
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady)
}
} else {
onBridgeReady(params)
}
}
function onBridgeReady (params) {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
'appId': params.appId, // 公众号ID,由商户传入
'timeStamp': params.timeStamp, // 时间戳,自1970年以来的秒数
'nonceStr': params.nonceStr, // 随机串
'package': params.package,
'signType': params.signType, // 微信签名方式:
'paySign': params.paySign // 微信签名
},
function (res) {
if (res.err_msg === 'get_brand_wcpay_request:ok') {
} else {
}
})
}
H5支付
只有H5支付可以从外部浏览器跳转到微信app内部,并完成完整支付
所以, 如果想做从浏览器跳转至app内部完整支付, 只能选择H5支付。
https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1
Native支付
native支付只能生成二维码,用户扫码支付, 不可以把native的链接直接跳转支付,实现不了
小程序支付
小程序内只能使用小程序支付,不可以使用JSAPI支付