1.在微信浏览器里面打开H5网页中执行JS调起支付。接口输入输出数据格式为JSON。
注意:WeixinJSBridge内置对象在其他浏览器中无效
2.点击微信支付图标调取微信支付 使用jq包、调取公司的接口获取网页端接口请求参数列表(参数需要重新进行签名计算,参与签名的参数为:appId、timeStamp、nonceStr、package、signType,参数区分大小写。)
$('.Albumlit').on('click', function() {
var url = "";
$.ajax({
type: 'post',
url: url,
async: false,
jsonp: 'jsoncallback',
success: function(data) {
prepay_id = data.prepay_id;
paySign = data.paySign;
appId = data.appId;
timeStamp = data.timeStamp;
nonceStr = data.nonceStr;
packageStr = data.packageStr;
signType = data.signType;
orderNo = data.orderNo;
callpay();
},
error: function() {
}
});
})
第三步调取微信支付
function callpay() {
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();
}
}
function onBridgeReady() {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": appId, //公众号名称,由商户传入
"timeStamp": timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": nonceStr, //随机串
"package": packageStr,
"signType": signType, //微信签名方式:
"paySign": paySign //微信签名
},
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
alert("交易成功");
// window.location.href="${base}/test/paySuccess";
history.go(-1);
}
if (res.err_msg == "get_brand_wcpay_request:cancel") {
alert("交易取消");
// window.location.href="${base}/test/cancel";
}
if (res.err_msg == "get_brand_wcpay_request:fail") {
alert("支付失败");
// window.location.href="${base}/test/fail";
}
}
);
}
版权声明:本文为li_ge_DD原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。