支付寶APP支付服務端詳解
前面接了微信支付,相比微信支付,支付寶APP支付提供了支付封裝類,下面將實現支付寶APP支付、訂單查詢、支付結果異步通知、APP支付申請參數說明,以及服務端返回APP端發起支付的簽名、商戶私鑰、支付寶公鑰的配置使用等。
支付注意事項
1、APP支付不能在沙箱測試、只能申請上線測試
2、需要創建RSA密鑰設置文檔,設置后上傳rsa_public_key.pem【開發者公鑰,上傳時需要去掉公鑰的頭和尾】上傳成功后換取支付寶公鑰,為項目的alipay_public_key.pem
3、rsa_private_key_pkcs8.pem【開發者私鑰】,去掉頭和尾為項目的alipay_private_key_pkcs8.pem
4、需要導入所需支付包:alipay-sdk-java.jar 和 commons-logging.jar,具體參考:服務端SDK
支付流程
APP支付:服務器端按照文檔【統一收單交易支付接口】創建支付OrderStr返回APP端——-APP端拿到OrderStr發起支付—–支付寶服務器端回調服務端異步通知接口——-服務器端按照【App支付結果異步通知】校驗簽名等做業務邏輯處理
APP支付訂單查詢:服務器端調用【統一收單線下交易查詢】查詢支付訂單
APP支付申請退款:每筆支付可以申請多次退款,但退款總金額不能超過支付金額,調用【統一收單交易退款接口】發起退款申請
APP支付退款查詢:服務端調用【 統一收單交易退款查詢】查詢退款訂單信息
以上為轉載。
在具體開發的時候會出現一些問題。總結一下:
問題1:生成密鑰的問題
密鑰有3個。
密鑰生成見支付寶幫助文檔,地址是 https://doc.open.alipay.com/doc2/detail.htm?treeId=193&articleId=105310&docType=1
我在使用WIN10系統使用方式1生成的時候,點擊解壓打開文件夾,直接運行“支付寶RAS密鑰生成器SHAwithRSA1024_V1.0.bat”。他是啥都沒有生成,然后我又自作聰明跑到 secret_key_tools_RSA_win\RSA\openssl 目錄下運行生成公鑰.bat , 生成公鑰私鑰轉換PCKS8.bat , 私鑰轉換PCKS8.bat 批處理文件。(secret_key_tools_RSA_win.zip解壓后的文件夾名)
結果是,還是有問題。
后來同事用方式1,但是改成蘋果筆記本生成就好了。
好是怎么驗證出來的呢?
打開 https://openhome.alipay.com/platform/detailApp.htm?appId=2016111602874881&tab=appSetting 地址,
在左邊的導航欄里面選擇,應用環境——》接口加簽方式 打開下面的窗口。
在第三步下載簽名檢驗的工具,將生成的密鑰放入左側,然后生成簽名后,再放入第三步的窗口中進行驗證看是否正確。校驗通過,則說明公鑰和私鑰生成成功。
另附全java服務端和客戶端支付寶支付demo:https://pan.baidu.com/s/1kVqmVXX