这两天在研究微信公众号的支付,弄完以后写一个文档,方便以后自己再次做这个的时候可以看。
首先,https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1;
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842;
在你开始操作之前请先阅读微信文档,微信提供给你的资料你都不看那就是对不起自己了!
开始之前先先介绍下上面的js接口安全域名和网页授权域名这两个东西,因为我的项目涉及到好几个二级域名,所以这里踩了挺多坑的。js接口安全域名应该指的是只有在这个域名下你才可以调用jsapi,其他域名下是没用的,
function jsApiCall()
{
WeixinJSBridge.invoke(
'getBrandWCPayRequest',
<?php echo $code;?>,
function(res){
//alert(res.err_msg);
//WeixinJSBridge.log(res.err_msg);
if(res.err_msg == "get_brand_wcpay_request:ok" ) {
window.location.href = "<?php echo return_url('weixin');?>";
} else {
alert("交易取消");
window.location.href = "./index.php";
}
}
);
}
//function callpay()
window.onload = function ()
{
if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', jsApiCall);
document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
}
}else{
jsApiCall();
}
}
也就是这一段代码必须在你的js接口安全域名设置下的才行,否则会返回
,
那么网页授权域名是干什么的呢,是获取用户openid用的,
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
这个接口是在微信获取网页授权的第一步,获取code用的,当中的
redirect_uri 是你请求微信接口后希望微信返回给你的地址,请注意,这里的
redirect_uri 必须在你的网页授权域名下才行,否则会提示
还有这个redirect_uri是可以传参数的,我当时需要传参数,但是当你传两个参数的时候 ?code=123&amount=100 ,请注意,他返回给你的时候只会给你带一个参数,code=123会返回给你,后面的amount是没得,所以如果你想传多个参数的时候请自行设置!
把我自己踩的坑先说了一遍,接下来说一下基本步骤:
1:开通你的支付功能
2:通过你自己的appid获取你的商家的一些信息,这个其他地方有,你弄好后会微信会发邮件给你的邮箱,自己查看就行了;
其他的自行百度吧,提供个连接https://www.cnblogs.com/aksir/p/6780697.html;