文章目錄
1、支付方式選擇 2、交互流程 3、1. 對(duì)接準(zhǔn)備 2.加密解密 + 簽名驗(yàn)簽 3.沙箱環(huán)境 4、內(nèi)網(wǎng)穿透 5、二維碼 6、下單 7、異步通知回調(diào) 8、查詢支付結(jié)果 9、退款 10、通用版SDK
需求:系統(tǒng)A對(duì)接支付寶,實(shí)現(xiàn)支持用戶掃碼支付
1、支付方式選擇
對(duì)接的API文檔:
-
https://open.alipay.com/api
可選的支付方式有:
-
掃碼付
:出示付款碼或者用戶掃碼付款 -
APP支付
:在APP中喚起支付寶 -
手機(jī)網(wǎng)站支付
:在移動(dòng)端網(wǎng)頁中喚起支付寶 App 或支付寶網(wǎng)頁 -
電腦網(wǎng)站支付
:在PC端喚起支付寶App或者網(wǎng)頁登錄支付寶賬戶 -
刷臉付
:需硬件支持 -
商家扣款
:類似每月會(huì)員扣款 -
預(yù)授權(quán)支付
:凍結(jié)對(duì)應(yīng)額度,交易完成后給商家 -
JSAPI支付
:小程序
這里選擇掃碼付的方式,點(diǎn)擊下單后,返回支付二維碼,用戶掃碼支付。
?
2、交互流程
畫個(gè)下單流程的時(shí)序圖:
大致流程:
-
用戶下單,系統(tǒng)A組裝信息后(訂單信息、回調(diào)地址、簽名),調(diào)用支付寶預(yù)下單接口,返回二維碼鏈接
-
系統(tǒng)A將二維碼鏈接轉(zhuǎn)二維碼圖片
-
用戶掃碼,喚醒本地支付寶,完成支付
-
支付寶返回支付成功信息給用戶
-
支付寶異步通知系統(tǒng)A支付成功的消息(回調(diào)地址),如果用戶支付成功,支付寶就調(diào)用回調(diào)地址的API,回調(diào)接口中自然是系統(tǒng)A收到用戶支付成功消息后的動(dòng)作
-
上一步如果通知失敗,比如網(wǎng)絡(luò)異?;蛑Ц秾氄{(diào)用異步通知接口時(shí)系統(tǒng)A正好掛了 ? 可主動(dòng)調(diào)支付寶提供的查詢支付結(jié)果接口,或者加定時(shí)任務(wù)輪詢來查詢交易狀態(tài),如3s-5s
-
還可以考慮在第一步請(qǐng)求支付寶接口時(shí)加上二維碼的有效時(shí)間,過期就重新發(fā)起
查詢支付結(jié)果流程:
退款流程同上查詢支付結(jié)果。PS:注意下單、退款過程中,相關(guān)訂單的業(yè)務(wù)數(shù)據(jù)落庫到系統(tǒng)A。
3、對(duì)接準(zhǔn)備
1)加密解密 + 簽名驗(yàn)簽
支付信息不能在網(wǎng)絡(luò)上明文傳輸,以防被篡改。系統(tǒng)A到支付寶的方向,采用:
-
支付寶公鑰加密 + 系統(tǒng)A的私鑰簽名(系統(tǒng)A做的事)
-
支付寶私鑰解密 + 系統(tǒng)A的公鑰驗(yàn)簽(收到信息后,支付寶做的事)
同理,支付寶返回支付結(jié)果時(shí),就是在支付寶中用系統(tǒng)A的公鑰加密+支付寶的私鑰簽名,傳輸?shù)较到y(tǒng)A后,則是先用支付寶的公鑰驗(yàn)簽,再用系統(tǒng)A的私鑰解密支付結(jié)果
?
2)沙箱環(huán)境
調(diào)試過程中,可采用支付寶提供的沙箱環(huán)境,點(diǎn)擊右上角控制臺(tái),登錄后選擇沙箱:
?
?這里有一套可調(diào)試的APPID、系統(tǒng)A的公鑰、密鑰、支付寶的公鑰、支付寶的網(wǎng)關(guān)地址,以及商家賬戶和用戶賬戶(用于后續(xù)登錄沙箱版本支付寶APP完成支付)文章來源:http://www.zghlxwxcb.cn/news/detail-847937.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-847937.html
到了這里,關(guān)于保姆級(jí)教程:SpringBoot 對(duì)接支付寶完成掃碼支付,完整流程梳理!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!