支付流程官方文檔:https://docs.open.alipay.com/204/105297/
官方文檔提供的序列圖如下(圖中虛線標(biāo)識商戶鏈路谴轮,實線標(biāo)識支付寶鏈路
):
一叉存、概要
App支付設(shè)計到哪些方
用戶
商戶客戶端:即我們自己的App
支付寶客戶端SDK:即我們App里面集成的支付寶SDK
支付寶服務(wù)端:我們App通過支付寶SDK與支付寶服務(wù)端連接
商戶服務(wù)端:即我們App的server端雕拼。
App支付大體流程
1、用戶使用我們的App發(fā)起支付操作煞檩;
2、然后我們的App向我們的服務(wù)端發(fā)起支付請求栅贴,這時候服務(wù)端把簽名后的訂單字符串返回給客戶端斟湃;
3、客戶端拿到這個請求支付寶SDK調(diào)起支付檐薯,支付寶SDK這時候會連接到支付寶服務(wù)端凝赛;
4、支付完成坛缕,支付寶服務(wù)端會將支付結(jié)果同步返回給我們App里面的支付寶SDK墓猎,SDK會回調(diào)支付結(jié)果給我們的App;
注意這時候還不能認(rèn)定支付是成功的赚楚,我們還需要進行一下步驟:
5毙沾、支付寶SDK回調(diào)會攜帶一些參數(shù)信息,我們拿到這些參數(shù)信息宠页,然后再次請求我們服務(wù)端的接口左胞,將這些參數(shù)發(fā)送給服務(wù)端寇仓,服務(wù)端用這些參數(shù)做驗簽,并將驗簽結(jié)果返回給客戶端烤宙。
第五步執(zhí)行完才能確定是否是支付成功遍烦。
二、簡化步驟
步驟一:支付
調(diào)起支付到支付躺枕,需要三步:
第一步:客戶端點擊發(fā)起支付服猪,請求服務(wù)端接口,服務(wù)端直接將組裝和簽名后的請求串orderString傳給客戶端拐云;
第二步:客戶端拿到返回數(shù)據(jù)罢猪,調(diào)起支付寶支付SDK;
第三步:跳轉(zhuǎn)支付寶錢包(支付網(wǎng)頁)進行支付慨丐,處理支付結(jié)果
步驟二:支付校驗
同步返回支付結(jié)果為9000后需要做支付校驗:
客戶端拿到支付寶的支付結(jié)果后坡脐,提取相應(yīng)的字段發(fā)送給服務(wù)端,服務(wù)端校驗通知參數(shù)的合法性房揭,只有全部驗證通過后备闲,才可以認(rèn)定買家付款成功。ps:支付成功后支付寶會異步發(fā)送通知給服務(wù)端捅暴。