您的位置:首页 > 移动开发 > 微信开发

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

2016-03-01 17:57 337 查看


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)



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



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('<xml><appid><![...', 'https://api.mch...', false, 6) #1 F:\CHUNRI\SDK\example\WxPay.NativePay.php(52):
WxPayApi::unifiedOrder(Object(WxPayUnifiedOrder)) #2 F:\CHUNRI\SDK\example\native.php(44): NativePay->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);//嚴格驗證,修改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息