在這裡,我推薦大家使用composer來管理你的SDK,尤其是介面易變類別的API庫。
這個SDK已經發佈在composer,可以使用composer來管理,當然也就非常容易整合到thinkphp5之上了。
作者推薦
在這裡,我推薦大家使用composer來管理你的SDK,尤其是介面易變類別的API庫。
這個SDK已經發佈在composer,可以使用composer來管理,當然也就非常容易整合到thinkphp5之上了。
微信或其它行動端開發,這裡推薦一個基於jQuery的SUI前端框架 http://sui.ctolog.com
SDK專案相關地址
GITHUB原始碼位址:https://github.com/zoujingli/wechat-php-sdk
OSChina源碼位址:http://git.oschina.net/zoujingli/wechat-php-sdk
Composer套件名稱:zoujingli/wechat-php-sdk
線上文件地址:http://www.kancloud.cn/zoujingli/wechat-php-sdk
SDK的特別說明
此SDK運作最底要求PHP版本5.3.3, 建議在PHP7運作以取得最佳效能。
微信的部分介面需要快取資料在本地,因此對目錄需要有寫入權限。
我們鼓勵大家使用composer來管理您的第三方函式庫,方便後製更新操作(尤其是介面類別)。
近期access_token經常無故失效,SDK加入失敗狀態偵測,重新取得access_token並回傳結果.
此SDK已經歷經數個線上項目驗證及考驗,可靠性與穩定性極高,歡迎fork此項目。
關於微信支付
微信支付主要可分為兩種,一種需要證書,另一種不需要證書。
公眾號收錢:微信頁面付款、微信掃碼支付(不需要證書)
公眾號付錢:微信訂單退款、企業打款、微信紅包(需證照)
當然,這個SDK是完全支援的,看下SDK配置所需參數就明白了。 ^_^$options = [<br>
'token' => '', //填寫你所設定的token<br>
'appid' => '', //填寫進階呼叫功能的app id, 請於微信發展模式後台查詢為<br>
'appsecret' => '', //填寫進階呼叫功能的金鑰<br>
'encodingaeskey' => '', //填寫加密用的EncodingAESKey(可選,傳輸加密時必需)<br>
'mch_id' => '', //微信支付,商家ID(選購)<br>
'partnerkey' => '', //微訊支付,且鑰匙(選購)<br>
'ssl_cer' => '', //微信支付,且雙向證明(可選,操作退款或打款時必需)<br>
'ssl_key' => '' //微信支付,且雙向證明(可選,於作業或付費時必需)<br>
'cachepath' => '', //設定SDK快取目錄(可選,預設為Wechat/Cache,需寫入權限)<br>
];
基於ThinkPHP5的掃碼支付DEMO
DEMO體驗網址:http://pay.test.ctolog.com/public/index.php
DEMO原始碼下載:http://pay.test.ctolog.com/master.zip
DEMO源碼分析:http://www.kancloud.cn/zoujingli/wechat-php-sdk/213700
http://www.kancloud.cn/zoujingli/wechat-php-sdk/219111
包含的微信支付介面(詳細內容請閱讀文件)
產生微信預付ID(通用)
發起微信掃碼NATIVE支付
發起微信網頁JSAPI支付
微信支付訂單關閉操作
微信支付訂單操作退款
微信支付訂單詳情查詢
微信支付訂單操作退款狀態查詢
取得微信支付對帳單
微信公眾號寄現金紅包給粉絲
微信現金紅包狀態查詢
微信公眾號使用企業打款給個人
微信企業打款狀態查詢
關於微信跨號支付
微信跨號支付,主要問題在於支付公眾號與授權公眾號的openid不一致,會導致後面產生一些問題。
例如:企業打款、微信紅包、微信退款,都需要使用粉絲的openid,那麼這些就有些麻煩,當然微信退款還是有可能的,在支付通知裡會有一個openid。
對於微信頁面支付,主要涉及支付安全配置,需要到支付公眾號平台時配置,而掃碼支付就簡單多了,幾乎不用什麼特殊處理!
SDK 封裝對接及功能
存取驗證 (初級權限)
自動回覆(文字、圖片、語音、影片、音樂、圖文) (初級權限)
選單操作(查詢、建立、刪除) (選單權限)
客服訊息(文字、圖片、語音、影片、音樂、圖文) (認證權限)
二維碼(建立臨時、永久二維碼,取得二維碼URL) (服務號碼、認證權限)
長連結轉短連結介面 (服務號碼、認證權限)
標籤操作(查詢、建立、修改、行動用戶到標籤) (認證權限)
網頁授權(基本授權,使用者資訊授權) (服務號碼、認證權限)
使用者資訊(查詢使用者基本資訊、取得追蹤者清單) (認證權限)
多客服功能(客服管理、取得客服記錄、客服會話管理) (認證權限)
媒體檔案(上傳、取得) (認證權限)
高級群發 (認證權限)
範本訊息(設定所屬行業、新增範本、發送範本訊息) (服務號碼、認證權限)
卡券管理(建立、修改、刪除、發放、門市管理等) (認證權限)
語意理解 (服務號碼、認證權限)
取得微信伺服器IP列表 (初級權限)
微信JSAPI授權(取得ticket、取得簽名) (初級權限)
資料統計(使用者、圖文、訊息、介面分析資料) (認證權限)
微信支付(網頁支付、掃碼支付、交易退款、給粉絲打款)(認證服務號碼並開通支付)
介面權限備註
初級權限:基本權限,任何正常的公眾號碼都有此權限
選單權限:正常的服務號碼、認證後的訂閱號碼擁有此權限
認證權限:分為訂閱號碼、服務號碼認證,如前綴服務號碼則僅認證的服務號碼有此權限,否則為認證後的訂閱號碼、服務號碼都有此權限
付款權限:僅認證後的服務號碼可以申請此權限