微信支付(掃碼支付),開發日誌

微信支付(掃碼支付),開發日誌_第1张图片

1,申請公眾號

2,利用公眾號申請微信支付功能

3,登錄微信支付商戶平台(https://pay.weixin.qq.com),查看相應開發文檔


網站的兩種微信支付方式:A,掃碼支付;B,公眾號支付(適用環境:手機端?,公眾號里,微信瀏覽器)


流程:結算購物車---->提交訂單(此處選擇微信支付)---->等待付款(顯示二維碼:即微信服務器返回的code_url)


需要:phpqrcode.php(生成二維碼類)


官方API簽名正確性在線調試工具:https://pay.weixin.qq.com/wiki/tools/signverify/(建議使用火狐瀏覽器)


統一下單接地址:https://api.mch.weixin.qq.com/pay/unifiedorder

注意:

1,post方式傳遞

2,key不算入簽名字典序排序之內,且key拼接在最後


開發流程:

1,下載微信支付官方demo(https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_1)

2,導入官方demo至項目根目錄(projectDir/)

3,替換projectDir/SDK/cert文件夾中的證書文件

4,

(A)配置appid,mchid,key,appsecret,

(B)新建const NOTIFY_URL= "http://$_SERVER['SERVER_NAME']/SDK/example/notify.php";(projectDir/SDK/lib/WxPay.Config.php)

微信支付(掃碼支付),開發日誌_第2张图片

(C)$this->GetReturn_code($return_code) == "SUCCESS")改成:$this->GetReturn_code() == "SUCCESS")

微信支付(掃碼支付),開發日誌_第3张图片

5,調用projectDir/SDK/example/native.php生成二維碼

curl出錯,錯誤碼:60,解決辦法:

Fatal error: Uncaught exception 'WxPayException' with message 'curl出错,错误码:60' in F:\CHUNRI\SDK\lib\WxPay.Api.php:566 Stack trace: #0 F:\CHUNRI\SDK\lib\WxPay.Api.php(62): WxPayApi::postXmlCurl('GetPayUrl(Object(WxPayUnifiedOrder)) #3 {main} thrown in F:\CHUNRI\SDK\lib\WxPay.Api.php on line 566

這個錯誤通過修改文件WxPay.Api.php解決,如下:

第537行
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);//嚴格驗證,修改

你可能感兴趣的:(PHP)