1. 程式人生 > >微信支付商戶平臺

微信支付商戶平臺

===> "r: " 9th,March,2016 Wednesday

"簽名: 商戶後臺微信支付後臺根據相同的金鑰和演算法生成一個結果,用於校驗雙方身份合法性。簽名的演算法由微信支付制定並公開,常用的簽名方式有:MD5、SHA1、SHA256、HMAC等。"-- from weixinDoc

===> "r: 所以商戶後臺和微信支付後臺指什麼呢? "

商戶後臺系統 商戶後臺系統是商戶後臺處理業務系統的總稱,例如:商戶網站、收銀系統、進銷存系統、發貨系統、客服系統等。

常用引數
appid: 唯一標識

mch_id: 微信支付分配的商戶收款賬號 // 微信支付商戶號

key: 簽名金鑰 // 

僅保留在商戶系統和微信支付後臺,不可在客戶端儲存(r: 敲打 斷章取義了,是不可在其他客戶端儲存--on 10th,March,2016)

secret: appid對應的介面密碼 // 獲取acess_token時使用

在微信支付中,先通過OAuth2.0介面獲取使用者openid,此openid用於微信內網頁支付模式下單介面使用。在開發模式中獲取AppSecret(成為開發者且帳號沒有異常狀態)。

===> "r: 微信資料格式採用xml,字元編碼統一為utf-8,簽名演算法目前為MD5,呼叫申請退款、撤銷訂單介面需要商戶證書。順便回顧下支付寶,支付寶資料格式可用xml/json,字元編碼可為GBK,GBK2312,UTF-8,簽名演算法為RSA或者MD5。

"

“access_token的有效期目前為2個小時,需定時重新整理,重複獲取將導致上次獲取的access_token失效。”

判斷邏輯 先判斷協議欄位返回,再判斷業務返回,最後判斷交易狀態

在普通的網路環境下,HTTP請求存在DNS劫持、運營商插入廣告、資料被竊取,正常資料被修改等安全風險。商戶回撥介面使用HTTPS協議可以保證資料傳輸的安全性。所以微信支付建議商戶提供給微信支付的各種回撥採用HTTPS協議。

接下來進入正題:

微信支付簽名

1. 四種支付模式


2. API規則

a. 簽名演算法-- 拼接待簽名字串:

1) 按引數名ASCII碼從小到大排序,URL鍵值對格式拼接。sign引數不參與簽名 => stringA

2) 拼接key => stringSignTemp

3) 進行MD5運算,再將字元轉為大寫

b. 商戶證書