相對(duì)來說支付寶是三大常見支付方式里面,集成起來比較簡(jiǎn)單的对湃,官方替程序員們考慮了很多,包括詳細(xì)的注釋遗淳,簡(jiǎn)單的流程拍柒。集成支付寶接口我們會(huì)遇到的情況只有下面兩種:
PC和WEB支付,場(chǎng)景是觸屏網(wǎng)站和PC網(wǎng)站屈暗,也稱作即時(shí)到帳接口
APP支付拆讯,場(chǎng)景是原生APP
PC和WEB支付之所以合并到一起是因?yàn)椋?strong>支付的過程全部發(fā)生在支付寶的頁面,我們只需要負(fù)責(zé)發(fā)起养叛,只是發(fā)起時(shí)傳遞的參數(shù)不同罷了种呐。這為我們后面寫通用支付類創(chuàng)造了很好的條件。是不是感覺很溫暖弃甥,點(diǎn)贊馬云爸爸爽室。
APP支付相對(duì)復(fù)雜一些,主要是涉及到了公私鑰的問題淆攻,在講APP支付之前會(huì)先討論一下公私鑰阔墩,相信只要懂了原理嘿架,集成起來也不是什么難事。
讓我們開始啸箫。
PC和WEB支付
接口申請(qǐng)
申請(qǐng)地址是支付寶的官網(wǎng)耸彪,然后我們需要一個(gè)商家賬戶,這個(gè)賬戶一般是客戶或者老板注冊(cè)之后給你的忘苛。在下面的地方申請(qǐng):
每一個(gè)接口的申請(qǐng)流程都給出了直觀的圖解:
認(rèn)證的流程也相對(duì)微信沒有那么復(fù)雜召川,如果你先集成了微信支付再來看支付寶,是不是覺得很舒服呢稽屏。
我們把電腦網(wǎng)站支付和手機(jī)網(wǎng)站支付都申請(qǐng)了扮宠。
申請(qǐng)流程到集成上線這一步的時(shí)候,我們會(huì)看到一個(gè)前往商家管理的按鈕狐榔,點(diǎn)擊它坛增。
集成這個(gè)接口我們只需要兩個(gè)參數(shù)薄腻,點(diǎn)擊查看PID收捣、Key:
partner庵楷,合作者身份ID罢艾,和seller_id是同一個(gè)值
key,加密方式為md5尽纽,用于簽名
集成流程
配置好上面那些參數(shù)咐蚯,引入必要的文件
構(gòu)造請(qǐng)求函數(shù)
構(gòu)造表單和按鈕放到頁面上準(zhǔn)備提交
支付成功后的回調(diào)驗(yàn)簽名
WEB支付集成方式是相同的,只是配置參數(shù)中的產(chǎn)品類型(service)不同弄贿,PC支付的產(chǎn)品類型為create_direct_pay_by_user春锋,WEB支付的產(chǎn)品類型為alipay.wap.create.direct.pay.by.user。
集成過程中幾乎沒踩過什么坑差凹,所以如果你的客戶急著要項(xiàng)目的話期奔,可以先快速的把支付寶集成好,讓整個(gè)項(xiàng)目可以正常運(yùn)行危尿,之后再增加微信支付呐萌。
總結(jié)
我們已經(jīng)看了5種支付方式,分別是微信家的三個(gè)谊娇,和支付寶家的兩個(gè)肺孤。不難總結(jié)出下面這樣的模式:
通常來說,無論何種支付方式,你發(fā)起支付需要下面幾個(gè)參數(shù):
1. 訂單號(hào)
2. 訂單名稱
3. 支付金額
4. 前臺(tái)回調(diào)地址
5. 后臺(tái)回調(diào)地址
6. 穿透數(shù)據(jù)
通常來說渠旁,無論何種支付方式攀例,支付成功后你會(huì)收到下面的信息:
1. 你的訂單號(hào)
2. 支付接口的訂單號(hào)
3. 支付時(shí)間
4. 支付金額
5. 支付方式
6. 穿透數(shù)據(jù)
這個(gè)模式對(duì)我們以后寫通用支付類很重要,因?yàn)橄胍獙?shí)現(xiàn)簡(jiǎn)單集成顾腊,拿來則用粤铭,最關(guān)鍵的思想就是要把口子扎緊了,也就是把盡量少的變化留給外部杂靶,盡量實(shí)現(xiàn)解耦梆惯。
上面的模式也就是整個(gè)支付模塊和外部交流的模板,約定好輸入和輸出參數(shù)之后吗垮,你甚至可以換一套支付模塊垛吗,也不會(huì)影響到項(xiàng)目的其他部分。同樣的烁登,一個(gè)項(xiàng)目里面如果出現(xiàn)了多個(gè)支付頁面怯屉,也可以使用同一個(gè)模塊調(diào)起支付,降低維護(hù)成本饵沧。
后面還剩下支付寶APP支付和銀聯(lián)支付需要納入我們的模塊中來锨络,他們有個(gè)共同點(diǎn)就是,都需要配置公鑰和私鑰狼牺,所以后面我們就需要研究一下公私鑰原理了羡儿。
以上內(nèi)容屬于作者原創(chuàng),特此聲明是钥,如需轉(zhuǎn)載掠归,請(qǐng)留言取得同意