跳到主要内容

微信公众号调起支付

商户通过JSAPI/小程序下单接口获取到发起支付的必要参数prepay_id后, 再通过微信浏览器内置对象方法(WeixinJSBridge)调起微信支付收银台。

function onBridgeReady() {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
appId: "wx2421b1c4370ec43b", //公众号ID,由商户传入
timeStamp: "1395712654", //时间戳,自1970年以来的秒数
nonceStr: "e61463f8efa94090b1f366cccfbbb444", //随机串
signType: "RSA", //微信签名方式:
paySign: "LOQTUYzLmR9pNtPbPsu6WVhb....",//微信签名
package: "prepay_id=wx21201855730335ac86f8c43d1889123400",
},
function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
// res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠,商户需进一步调用后端查单确认支付结果。
}
});
}

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();
}