今天做支付寶接口回調這塊,不得不說,以前做過,現在還是遇到到回調簽名失敗的問題,有點很郁悶了,翻了很多陳年舊帖,試了無數種解決坑的方案,在我成功解決的一瞬間,覺得非常有必要記錄一下。
應用公鑰(public key)需提供給支付寶賬號管理者上傳到支付寶開放平台。
應用私鑰(private key)由開發者自己保存,需填寫到代碼中供簽名時使用。
生成的私鑰需妥善保管,避免遺失,不要泄露。
密鑰和應用(APPID)一一對應,即開發者需要為名下的每個應用分別設置密鑰,且不同應用的密鑰不能混用。
第一步:
下載密鑰生成工具:https://opendocs.alipay.com/open/00uk9e
第二步:生成密鑰
相關幫助連接:https://opensupport.alipay.com/support/helpcenter/207/201602469554?ant_source=antsupport
請注意JAVA和非JAVA的區別(請選擇RSA2加密),上圖的應用公鑰和應用私鑰用於支付提交支付驗證使用
第三步:上傳公鑰
登錄 開發者中心控制台 > 我的應用 > 選擇應用,點擊進入應用詳情頁 > 設置 > 開發設置 > 接口加簽方式
點擊加簽變更復制第 二 步生成的公鑰到 填寫公鑰字符 的輸入框中,即可完成應用公鑰的上傳,並生成一個支付寶公鑰,用於在后續的簽名與驗簽步驟中作為簽名驗證
第四步:復制支付寶公鑰到你的服務端設置
異步回調驗簽使用的支付寶公鑰,這個一定要看清楚
最后記得把授權回調地址設置一下就可以了
應用公鑰和支付寶公鑰區別
應用公鑰和支付寶公鑰是兩個完全沒有關系且不等的字符串。
應用公鑰與開發者私鑰配對並需要上傳到支付寶合作伙伴密鑰管理,支付寶在收到用戶的支付請求時用開發者公鑰對請求進行驗簽。支付寶公鑰與支付寶私鑰配對,用於商戶收到支付寶返回的同步、異步回調后的驗簽。
相關連接:
支付寶異步回調:https://opensupport.alipay.com/support/helpcenter/192/201602471955?ant_source=antsupport