上一篇PHP微信公众号JSAPI网页支付(上)中讲到了公众号平台的相关设置以及支付的大致流程。
这一篇重点讲支付后,异步接受回调通知,以及处理后同步通知微信服务器。
首先梳理下整个jsapi支付的流程
1.网页授权获取用户openid
2.使用统一下单支付接口,生成JSAPI页面调用的支付参数并签名。
3.使用JSAPI调起支付
4.支付后回调(包括接受异步通知以及做出同步处理)
下面讲一些实际中踩到的坑,注意啦
1.官方demo中的一些需要修改的地方
1)打开lib文件夹下的WxPay.Api.PHP文件,在537行有一段curl网络请求配置代码:
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
替换成
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);//非严格校验
另外说明下:
在46-49行有一段代码:
//异步通知url未设置,则使用配置文件中的url
if(!$inputObj->IsNotify_urlSet()){
$inputObj->SetNotify_url(WxPayConfig::NOTIFY_URL);//异步通知url
}
对应的做法是在WxPay.Config.php 中加上这个配置,根据实际回调地址填写
例如:const NOTIFY_URL="http://paysdk.weixin.qq.com/example/notify.php";
2)打开lib文件夹下的WxPay.Notify.php文