公众号支付是用户在手机QQ中打开商户的H5页面,商户在H5页面通过调用QQ钱包提供的JSAPI接口调起QQ钱包支付模块完成支付。
支付流程及API参考官方文档:https://qpay.qq.com/buss/wiki/38/1200
页面唤起支付源码如下:
<body onload="pay();">
<script type="application/javascript" src="https://open.mobile.qq.com/sdk/qqapi.js?_bid=152"></script>
<script type="application/javascript">
function pay(){
//验证是否是QQ
mqq.device.isMobileQQ(function(result){
if(result) {
var isIos = mqq.iOS;
//alert("是否是IOS:" + isIos);
var isAndroid = mqq.android;
//alert("是否是Android:" + isAndroid);
var qqVersion = mqq.QQVersion;
//alert("QQVersion:" + qqVersion);
//唤起QQ钱包
this.callPay()
} else {
alert("请在手机QQ中打开此页面");
return false;
}
});
}
function callPay(){
mqq.tenpay.pay({
tokenId: "${prepay_id}",
}, function(result, resultCode){
if(result == "Permission denied") {
alert("无权限 ");
} else {
alert(result.resultCode);
document.location.href = "${redirectUrl}";
}
});
}
</script>
<div id="cancels" style="display: none;" class="result-page">
<div class="type">
<i style="background: url(<%=cssPath%>img/cancel.png) 0 0 no-repeat;background-size: 100%;width: 63px;height: 63px; display: inline-block;"></i>
<p>取消支付</p>
</div>
</div>
</body>