微信支付API v3通過(guò)驗(yàn)證簽名來(lái)保證請(qǐng)求的真實(shí)性和數(shù)據(jù)的完整性。
商戶(hù)需要使用自身的私鑰對(duì)API URL、消息體等關(guān)鍵數(shù)據(jù)的組合進(jìn)行SHA-256 with RSA簽名。請(qǐng)求的簽名信息通過(guò)HTTP頭Authorization
傳遞,具體說(shuō)明請(qǐng)見(jiàn) 簽名生成指南。沒(méi)有攜帶簽名或者簽名驗(yàn)證不通過(guò)的請(qǐng)求,都不會(huì)被執(zhí)行,并返回401 Unauthorized
。
對(duì)于簽名驗(yàn)證成功的請(qǐng)求,微信支付API v3會(huì)使用微信支付的平臺(tái)私鑰對(duì)應(yīng)答進(jìn)行簽名。簽名的信息包含在HTTP頭部中,具體說(shuō)明請(qǐng)見(jiàn) 簽名驗(yàn)證指南。
當(dāng)調(diào)用商戶(hù)的接口時(shí),微信支付會(huì)使用微信支付的平臺(tái)私鑰對(duì)回調(diào)請(qǐng)求進(jìn)行簽名。簽名的方法同應(yīng)答簽名的方式一致,商戶(hù)必須使用微信支付公鑰驗(yàn)證回調(diào)的簽名。