Payment:微信支付配置文件設置說明

終於寫到微信了。加油幹,擼起袖子奔小康。


項目GitHub地址https://github.com/helei112g/payment

微信支付個人覺得在帳號設置上有些麻煩,帳號太多啦,支付寶目前就是一個應用基本涵蓋了所有的接口開發。

可能是由於微信支付的後端是財付通,反正咱們寫代碼的,也別管那麼多。理清楚各配置的關係,然後寫出高質量的代碼就好。

關於如何申請微信支付,只講兩個問題,服務號支付能力的申請在公衆號後後臺申請,app應用的支付能力申請在開發者中心申請。其他細節請自行查詢。


登陸微信商戶平臺:https://pay.weixin.qq.com

拿到微信給的商戶號後,登陸商戶平臺,點擊【賬戶中心】進入【API安全】
會看到下面的截圖:

image

微信支付發起請求的數據需要進行簽名,簽名的密鑰就是在這裏設置,設置時候請記錄一下。等會配置中會需要。

下載微信的安全證書,相關說明看這裏

配置文件

return [
    'app_id'            => '應用ID',
    'mch_id'            => '商戶id',
    'md5_key'           => '剛剛設置的密鑰',
    'app_cert_pem'      => 'apiclient_cert.pem',
    'app_key_pem'       => 'apiclient_key.pem',
    'sign_type'         => 'MD5',// MD5  HMAC-SHA256
    'limit_pay'         => [
        //'no_credit',
    ],
    'fee_type'          => 'CNY',// 貨幣類型  當前僅支持該字段
    'notify_url'        => 'https://helei112g.github.io/',
    'redirect_url'      => 'https://helei112g.github.io/',
    'return_raw'        => false,
];

下面表格中 是否必須 列如果標記爲 ,則該項必須設置,否則sdk將無法得到結果。

參數 類型 是否必須 說明
app_id string 應用id,下面會詳細解釋
mch_id string 微信支付分配的商戶號
md5_key string 用戶在商戶中心設置的api密鑰
sign_type string 簽名類型,默認爲MD5,支持HMAC-SHA256和MD5。
app_cert_pem string 證書pem格式
app_key_pem string 證書密鑰pem格式
limit_pay array 上傳此參數no_credit–可限制用戶不能使用信用卡支付
fee_type string 默認人民幣:CNY
notify_url string 異步通知的地址
redirect_url string 回調頁面地址
return_raw boolean 是否返回微信原始數據

app_id: 對於公衆號支付,是微信支付分配的公衆賬號ID,如果是app支付則是微信開放平臺審覈通過的應用APPID

微信支付接口中,一定要注意區分不同的帳號類別
- 公衆號支付,需要對應服務號在公衆號後臺申請,該帳號無法用來進行app支付
- app支付,微信開放平臺審覈通過的應用APPID,無法用來進行公衆號支付
- 小程序支付也是一個獨立的帳號,微信分配的小程序ID
- 掃碼支付,可以使用app支付的帳號,也可使用公衆支付的帳號
- 刷卡支付,兩個帳號也可以使用

由於我沒有小程序的帳號,沒辦法測它是否可以用於掃碼支付與刷卡支付,有測過的朋友請告訴我一下(微信號:helei543345

mch_id: 商戶號,申請商戶號成功後,騰訊給你發的郵件裏邊有

md5_key: 在商戶中心自己設置的api密鑰,主要用來簽名支付數據

sign_type: 簽名方式,當前微信支持HMAC-SHA256和MD5,默認使用 MD5

app_cert_pem: 從apiclient_cert.p12中導出證書部分的文件,爲pem格式,請妥善保管不要泄漏和被他人複製

app_key_pem: 從apiclient_key.pem中導出密鑰部分的文件,爲pem格式

關於 app_cert_pemapp_key_pem 的詳情請看這裏 : https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=4_3

limit_pay no_credit–指定不能使用信用卡支付 ,當前微信僅這一個參數,設置了,支付時,用戶無法使用信用卡

fee_type: 貨幣類型,默認是人民幣,其他可選值看這裏:https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=4_2

notify_url 異步接收微信支付結果通知的回調地址,通知url必須爲外網可訪問的url,不能攜帶參數。

redirect_url: 只有在使用h5支付時,才需要設置,也可以選擇不設置。用來控制在h5中支付成功後,跳轉的頁面。

return_raw 是否返回微信的原始數據,默認爲false,建議設置爲true

  • 該參數如果設置爲 false,sdk內部會映射一些key,並且把微信的金額處理爲元
  • 如果參數值爲 true ,則只對異步數據進行簽名檢查,檢查通過,返回一個數據類型的數據(微信原始爲xml),其中包含的key是微信本身的,並且金額相關的單位都是分

微信的配置文件相對來說比較簡單,只是它的帳號體系有點多,大家在使用時,根據自己使用不同支付,讀取不同配置,來完成相互間的切換。

另外,如果還需要轉賬或者發紅包,請設置以下圖中的信息。
image

今天晚上公司部署新項目,在等待過程中把微信的配置文檔搞定。

最近自己弄了一個微信公衆號,想分享一些自己的文章,以及自己寫的小工具,比如:圖片壓縮,短連接在線接口,在線二維碼接口等。

感興趣的朋友可以關注:

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章