官方demo大bug
-
签名报错
WxPay.JSAPIPay中获取jsapi支付的参数的GetJsApiParameters方法
必须写签名生成方法为md5, 否则报错官方给的是这样
``` $config = new WxPayConfig(); $jsapi->SetPaySign($jsapi->MakeSign($config)); ```
改成下面
``` $jsapi->SetSignType("MD5"); $jsapi->SetPaySign($jsapi->MakeSign()); 不用传cofig进去, 直接生成签名 ```
微信支付需要注意的点
-
回调地址
$input->SetNotify_url('') www网址前面要加http, 只写www无法回调
-
支付过程中要跳转页面, openid要提前获取
获取openid过程中, 获取code和获取openid方法会跳转页面, 会把get和post收到的数据清空掉 if (!isset($_GET['code'])){ //触发微信返回code码 $baseUrl = urlencode('http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); $url = $this->_CreateOauthUrlForCode($baseUrl); Header("Location: $url"); //此处跳转会清空数据 exit(); } else { //获取code码,以获取openid $code = $_GET['code']; $openid = $this->getOpenidFromMp($code); return $openid; }
-
公众号和公众平台获取到的openid不一样,
处理时要用微信公众平台开发获取 UnionID区分开, unionid是唯一的 -
$input->SetTotal_fee 是以分为单位, 要把价格 * 100