主要参考了这篇文章:
http://www.longzongqin.cn/article/33.html
现在我讲一下该注意的地方:
1. 关于微信的【授权回调页面域名】
此处的设置值和代码的以下地方要一致
2. 支付会涉及到ajax,在网页中使用ajax一定要在head添加如下代码:
<script src="//apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
否则,支付不work你都不知道回事儿
3.关于appid,appsecret,appkey
1 2 3 4 5 6 7 8 9 10 11 12 13 | public function getPackage(){ $rand = md5(time() . mt_rand(0,1000)); $param [ "appid" ] = <span style= "color:#FF0000;" > //此处填写的是appid,在公众号里查看</span> $param [ "openid" ] = $_SESSION [ 'jsopenid' ]; $param [ "mch_id" ] = "" ; <span style= "color:#FF0000;" > // 此处填写的是支付商户号</span> $param [ "nonce_str" ] = $rand ; $param [ "body" ] = "小说阅读币支付" ; $param [ "out_trade_no" ] = time(); //$_SESSION["userInfo"]["userID"].time(); $param [ "total_fee" ] = $_SESSION [ 'jsmoney' ]; $param [ "spbill_create_ip" ] = $_SERVER [ "REMOTE_ADDR" ]; $param [ "notify_url" ] = "http://www.baidu.com" ; $param [ "trade_type" ] = "JSAPI" ; |
getPackage()函数下会用到appkey,大家一定留意。
4.设置JS接口安全域名
微信公众号->公众号设置->功能设置->JS接口安全域名:
必须设置一个备过案的域名,例如:www.bac.com,微信支付url一定要在此域名之下
5.最重要的一点,这个在jssdk里么有提到,就是对于jssdk来讲,也需要设置 “支付授权目录”(我之前一直以为jssdk不需要,经过测试发现是需要的),在哪里设呢?
微信公众号->微信支付->开发配置->支付授权目录->修改:
所有使用公众号支付方式发起支付请求的链接地址,都必须在支付授权目录之下,必须在授权目录下,不能是子目录下
例如,我在这里设置的是:
www.abc.com/a/b/
那么只有www.abc.com/a/b/index.php能使用支付功能,www.abc.com/a/b/c/index.php则不可以!
最后附上支付图片: