微信在生活中的地位越來越重要。人流大,資訊大的地方都是商家行銷必爭之地,在微信公眾號中微信支付使用的場景越來越多。以下PHP程式設計師雷雪鬆就詳細的講解下ThinkPHP如何接入微信公眾號支付。
1、下載官方demo,並放到ThinkPHP/Library/Vendor/下面,建議建立Wxpay資料夾。以後如果想接入支付寶就再建一個Alipay。這樣在多種支付的情況下目錄可能會比較清晰。
#2、在WxPay.Config.php檔案中修改微信支付相關的參數,並將微信支付商家平台下載的憑證放到ThinkPHP/Library/Vendor/Wxpay/cert/資料夾下。
const APPID = '';//开户邮件中可查看或者微信支付后商户平台 const MCHID = '';//开户邮件中可查看或者微信支付商户平台 const KEY = '';//微信支付商户平台自行设置 const APPSECRET = '';//微信公众号secert // 证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要),可登录商户平台下载,API证书下载地址:https://pay.weixin.qq.com/index.php/account/api_cert,下载之前需要安装商户操作证书) const SSLCERT_PATH = 'cert/apiclient_cert.pem'; const SSLKEY_PATH = 'cert/apiclient_key.pem';
3、在微信公眾號中設定支付目錄,具體步驟:微信支付->開發配置->輸入微信支付的地址,須細化到二級目錄,以左斜線“/”結尾。例如:微信支付的連結為:網域名稱/wxpay/Cart/weixinpay/o_no/20170622164600。 o_no後面的訂單號碼是隨機的訂單號碼。那麼微信公眾號碼中支付目錄則為:網域名稱/wxpay/Cart/weixinpay/o_no/。
4、在微信公眾號碼中設定JS介面安全域名設定和網頁授權域名。具體步驟:公眾號設定->功能設定。
#注意:在微信支付的時候,首先會取得openID。取得openID的過程是先請求微信,微信會把code回轉到目前的請求連結。簡單的理解就是微信支付的連結會被要求兩次,第一次是我們要求呼叫微信支付,第二次是微信回呼取得openID。這樣就可能在第二次運行該微信支付的連結?後面參數會遺失。具體程式碼可以查看微信WxPay.JsApiPay.php中的GetOpenid方法。
如果把這幾個微信支付的關鍵點都搞懂了,具體的程式碼應該就比較好些寫了。付款和通知都可以參考微信支付中的exmaple資料夾裡的文件。
以上是TP接取微信公眾號支付詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!