支付和交易說到支付就不得不提交易。這兩個概念在不同公司中是不一樣的。我們的定義是,交易是生成訂單;支付是對訂單進行付款。 訂單生成過程我們以后另開話題來說。這一次重點介紹支付。而就支付行為來說,我們碰到的大部分都是單次支付,其次還有轉(zhuǎn)賬和退款。在蘋果推出訂閱支付后,國內(nèi)支付寶等也在陸續(xù)跟進。 單次支付是我們用的最多的支付方式了,即一次結(jié)清所有款項。把單次支付走通了,其他支付方式也容易處理。 本期重點介紹單次支付。 銀行卡支付先說大家比較熟悉的銀行卡支付,它分為線上支付和線下支付兩種形式。線下支付就是通常說的POS收單,這里不介紹這個內(nèi)容。對線上支付,按照卡的類別,分為貸記卡支付,也叫motopay、ePOS,即信用卡支付;和借記卡支付。按照支付形態(tài),又分為認證支付、網(wǎng)銀支付、快捷支付幾種形態(tài)。銀行卡網(wǎng)銀支付要求銀行卡必須開通在線支付功能,而快捷支付并不需要開通在線支付功能。主要利用支付驗證要素(卡號、密碼、手機號、CVN2、CVV2等),結(jié)合安全認證(例如短信驗證碼),讓持卡人完成互聯(lián)網(wǎng)支付。 認證支付指用戶在綁卡時,將卡信息提供給電商。這樣在支付時,用戶無需再輸入這些信息,由電商在服務(wù)器側(cè)保留用戶的賬戶信息,比如身份證號,卡號,手機號。在用戶支付時,無需再輸入這些內(nèi)容,最多就提供個密碼或者校驗碼,就可以完成支付。這基本不會打斷用戶的使用體驗,所以也是電商喜歡的支付方式。但認證支付最讓人詬病的就是安全性。一方面需要向電商暴露個人信息,一旦被竊取,資金就容易被盜走。還有在手機上執(zhí)行支付,一旦手機丟失,竊取者就可以輕而易舉的使用或者轉(zhuǎn)移資金。 快捷支付快捷支付和認證支付類似,不同點在于綁卡之后,有些銀行接口會返回token,后續(xù)使用token來作為支付憑證,無需提供卡號信息,這樣電商也不需要本地保留卡號了。目前主要是銀聯(lián)有提供token接口。 網(wǎng)銀支付相對來說,網(wǎng)銀支付要安全很多。網(wǎng)銀支付是由銀聯(lián)或者銀行提供支付界面,用戶必須在頁面上輸入卡號,密碼等驗證信息才可以執(zhí)行支付。大部分銀行還要求用戶使用U盾或者其它安全硬件。但安全和易用永遠是個矛盾。網(wǎng)銀使用會打斷用戶體驗,增加用戶使用難度。對使用硬件加密的支付,不可能天天帶著U盤跑。另外網(wǎng)銀主要用在web端,在手機端,嵌入網(wǎng)銀頁面,還是比較難看的 支付流程走一個具體的例子看看吧。比如用戶在電商系統(tǒng)中買了200塊錢的東西,然后通過浦發(fā)銀行卡做結(jié)算,用的是快捷支付。這個過程是:
網(wǎng)銀支付,和快捷相比,就在第4步,插入一個步驟,將用戶導(dǎo)航到網(wǎng)銀頁面輸入支付信息,后續(xù)步驟是一樣的。在資金流上也是相同的。 而在第五步獲取返回結(jié)果上,一般銀行就直接同步返回,銀聯(lián)是分為同步和異步返回。同步告知操作成功或者失敗,異步告知扣款成功或者失敗。同步操作和異步操作都需要調(diào)用方提供一個回調(diào)的URL地址,銀聯(lián)會將參數(shù)附加在這個地址上。通過解析這些參數(shù)可以得到執(zhí)行結(jié)果。異步操作一般有2-3秒的延遲,取決于網(wǎng)絡(luò),以及該交易處理的復(fù)雜度。 資金流上一節(jié)說的是支付的信息流,那資金流應(yīng)該是怎么走的? 在第三步,會觸發(fā)資金流。資金從用戶個人賬戶上轉(zhuǎn)移到電商公司的賬戶。當然,銀行也不是活雷鋒,這一筆交易是要收手續(xù)費的。資金是實時到賬的,手續(xù)費一般是按月結(jié)算。有按交易筆數(shù)計費的,但大部分還是按照交易金額來收費。 同行快捷支付是比較簡單的場景,讓我們來逐步增加難度。如果支付系統(tǒng)沒有對接浦發(fā)銀行,那對浦發(fā)卡,就得走其它支付方式:銀聯(lián)或者第三方支付。 先說銀聯(lián)快捷。銀聯(lián)提供的多種接入方式,常說的快捷支付,在銀聯(lián)文檔中叫商戶側(cè)開通token接口。通過這個接口,可以實現(xiàn)同行和跨行資金結(jié)算。不管收款行是浦發(fā)還是其它行,都可以完成結(jié)算。對本地和用戶來說,體驗是一樣的。而在銀聯(lián)側(cè),后臺資金流處理卻不一樣。了解這個資金流,有助于在異常情況下,了解資金到底跑到哪里了。 如果收款行也是浦發(fā)銀行,銀聯(lián)發(fā)報文給浦發(fā),浦發(fā)使用內(nèi)部系統(tǒng)完成兩個賬戶間的轉(zhuǎn)帳,即時完成。 如果收款行是他行,比如工行。銀聯(lián)發(fā)指令給浦發(fā)和工行,分別完成各自賬戶上資金余額的增減,對個人和電商來說,這筆資金算是落地了。但實際資金流并不是立即發(fā)生。銀聯(lián)會在半夜做清結(jié)算后處理這筆資金。這個過程就是金融機構(gòu)之間的清結(jié)算了,一般不需要關(guān)注。 如果使用的是第三方支付,對用戶來說,處理的流程和銀聯(lián)一樣。但資金流會不一樣。 第三方支付在浦發(fā)和工行一般都會有落地的托管資金。 發(fā)生交易后,一般來說不會產(chǎn)生跨行資金流動。用戶在浦發(fā)行的錢會被結(jié)算到第三方支付在浦發(fā)行的托管賬戶,而在工行的錢,會由第三方支付在工行的賬戶打到客戶賬戶上。 這就降低了跨行資金流動成本。 目前國內(nèi)主要銀行都提供快捷和直聯(lián)的接口。對電商來說,要對接哪些銀行是個需要考慮的問題。怎么對接銀行,渠道和第三方支付。參見這篇文章: 支付渠道那些事 銀聯(lián)Token支付一般來說,大部分銀行都提供直聯(lián)和網(wǎng)銀接口,但不需要直接對接所有銀行。銀聯(lián)和第三方支付也提供直聯(lián)接口,可以直接對接國內(nèi)主要銀行。也不是所有銀行都被銀聯(lián)支持,這和銀聯(lián)簽約的接口有關(guān),需要在對接時咨詢銀聯(lián)。從我們使用情況看, 浦發(fā)借記卡、郵儲銀行卡是不支持的。 另外 交行、平安(含原深發(fā))、上海銀行、浦發(fā)、北京銀行,上述銀行卡需通過 這個地址 開通銀聯(lián)在線支付業(yè)務(wù)。 對接銀行大部分銀行提供的銀行卡支付接口,借記卡支付和貸記卡支付是不一樣的。但也有幾個好心的銀行,可以用一套接口同時開通借記卡和貸記卡。點名贊一下這些銀行: 宇宙第一大行工商銀行和建設(shè)銀行。其他同學(xué)對接中如果也發(fā)現(xiàn)借記卡和貸記卡用一個接口的,也請及時告知。 作為國內(nèi)最保守的軟件團隊,和銀行對接時務(wù)必做好足夠的準備。在商務(wù)談判完成、拿到銀行的接口文檔后,需要考慮兩個問題:專線問題、加密問題。 專線問題首先是專線問題。 大部分銀行對接是需要專線的。 與銀行溝通的時候,注意收集如下信息:
這些專業(yè)名詞,可以自己檢索,太專業(yè)了,其實我也不懂。從可靠性角度考慮,一般建議從聯(lián)通、電信各拉一條線路出來。一旦有一個線路出問題了,也不會導(dǎo)致所有交易被終止了。不需要專線的銀行接口有:浦發(fā)、工行、交行信用卡等。 需要專線的有中行、農(nóng)行、建行等。一般專線需要1個月左右的時間,包括銀行側(cè)的申請、施工時間。 加密問題其次是加密問題。部分銀行,如中行,前置要求使用加密機。此處加密機的常用功能有三方面:
對開發(fā)來說,加密機的主要作用,是讓黑客都無法從內(nèi)存中看到密碼。 不是做廣告,國內(nèi)對接銀行一般就用江南天安的加密機了 對接銀聯(lián)對接銀聯(lián)比對接銀行簡單, 不需要專線,不需要加密機。 不過需要獲取ADSS認證。 銀聯(lián)最近在推Token接口,有兩套接口,一套是銀聯(lián)側(cè)開通,一套是商戶側(cè)開通。前者類似網(wǎng)銀支付,后者類似快捷支付。 務(wù)必要求接入后者接口啊?;旧献x完接口文檔就知道怎么寫代碼了。 接下來,這里將分別介紹如何對接第三方支付、應(yīng)用內(nèi)支付等內(nèi)容。敬請關(guān)注。 頭條的同學(xué)們,記得幫忙點贊啊。 感謝您對本文的關(guān)注,如需要及時收到鳳凰牌老熊的最新作品,或者有相關(guān)問題探討,請掃碼關(guān)注“鳳凰牌老熊”的微信公眾號,在公眾號里留言或者回復(fù),可以盡快處理,謝謝。
|
|
來自: Bubblen > 《開發(fā)者頭條》