最近兩天應業務需要接入支付寶支付。服務端采用.net開發 。遇到了不少的坑。無聊是后台配置還是各種簽名。各種蛋疼。這里分享給大家我的爬坑經歷。【這里一沙盒應用為例】
坑一:你得明白RSA 私鑰 公鑰 支付寶公鑰是三個東西
1、用官方簽名工具生成RSA 私鑰 公鑰或則OpenSSL 生成都可以詳情見官方文檔:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.B2uDaW&treeId=291&articleId=105971&docType=1
2、然后私鑰自己使用生成客戶端orderPayInfo使用,公鑰錄入支付寶后台 然后就會得到一個支付寶公鑰了。
坑二:支付寶簽名工具的JAVA和非JAVA的密鑰是不一樣的。不能混用。各個語言系統RAS算法封裝有差異的
1、非JAVA同學請老老實實選擇。非JAVA生產密鑰。
坑三【官方文檔不負責】:居然少個參數。異步通知文檔里面居然少了auth_app_id 這個參數 導致我驗簽不成功
1、異步通知處理的時候加上auth_app_id參數。再處理驗簽。
詳細流程
1、首先你自己去申請支付寶》創建APP》簽約商戶 。這些就不用多說了。
2、配置需要配置的地方主要有;密鑰和異步消息通知地址:簽名方式選擇一種就OK了

3、生成客戶端支付訂單使用私鑰生成。按照官方文檔:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.0VbgH3&treeId=204&articleId=105465&docType=1
.net同學參考

4、異步接受消息驗簽主要,注意使用支付寶公鑰【不是RSA公鑰】。加上auth_app_id參數
.net同學參考
