項目實戰:閑話支付與轉賬

? ? ? ?對于未知,一般來說我們有兩種心理:恐懼,或者崇拜。

? ? ? ?恐懼如小時候,我去河里游泳,對于望不見底,黑漆漆、涼颼颼的河水,心中充滿了各種可怕的想法。

? ? ? ?崇拜如長大后,對于瑞士銀行的軟件系統,覺得一定是最頂尖掰的程序猿開發的,直到我發現了我同事的秘密(關于這個梗,咱們改天當面聊)。

? ? ? ?所以如果你跟當年的我一樣,也處于初學者或者剛進入開發不久,那么你對于銀行、轉賬、支付、第三方等等概念一定也處在崇拜或者恐懼階段。而其實只要打破這種未知,你就會發現:原來不過如此。

? ? ? ?我的從業生涯中,現在還記得的,大概接觸過如下幾種支付通道:銀聯、工商銀行、農業銀行、通聯、支付寶、微信、paypal、apple支付等。到現在,還老有人時不時找我做支付接口,比如就在昨天,有人還Q我做農行支付~~。說真的,我都不知道大家從哪里搞到我QQ號的。

? ? ? ?你沒做過,就會覺得可怕,各種高端神奇、調試不出來。你如果做過,就會發現,這特么的不就是調用個Http服務嗎:

? ? ? ?并且,如果你做過了,你就會發現,各家銀行和第三方支付的技術支持、開發能力也是各種良莠不分、殘次不齊。尤其是一些小行,那個技術能力簡直令人發指。我們在做一家小行的企業支付的時候,甚至達到了要教對方的開發怎么去做接口的程度……。還有,不要覺得覺得拿他們的offer很難,我們有一個學員以外包的形式進駐到某第三方支付公司進行開發,未到多久,對方就想將其挖為正式員工。

1.?破除恐懼

? ? ? ?要破除恐懼,我們先拿將支付做到極致的支付寶來入手。

? ? ? ?如果你想增加恐懼,請隔壁去試微信支付,那個調試可不是一般的復雜哦。

? ? ? ?好了,如果你的公司要將平臺接入支付寶,那么首先,就得以公司的形式去支付寶的網站申請資質。不要管我問哪里是申請的地方,這么多年來,支付寶不僅支付接口本身,連開發者網站都不知道改版了多少次。那么到底申請資質這件事情在一個公司里面是誰來做?一般來說,是技術和財務一起配合來做。為什么吶,因為你去讓財務申請,財務會說,我完全看不懂啊,但是你作為技術直接去申請,由于驗證公司資料、公帳等一系列操作,你沒有財務的支持,也是不行的。除非你像當初的我一樣,一人身兼董事長、總經理、財務總監、技術總監、市場總監、保潔總監于一職,公司隨身用皮包裝著走。

? ? ? ?申請下來后,對方會給你一堆配置參數或電子證書等。NB如支付寶,一定是讓你登錄網站后臺自己查看或者下載證書。不NB如某些小行,居然會讓你加入一個QQ群,或者給你一個QQ號,由相關的人員點對點給你發過來……

? ? ? ?有了基本的參數,一般來說,對方還會提供DEMO,那么接下來,我們就把DEMO中的參數替換為剛才獲得的參數,如果有證書的,則把證書部署到你自己的服務器上,DEMO就能運行起來了。

? ? ? ?再說一遍,能力有大小,對方寫DEMO以及撰寫API文檔的能力也不見得比你更好,所以你一次能調試成功的機會就得看你運氣了。

2.?支付寶即時到賬

? ? ? ?來看看最簡單的支付寶的DEMO。這是支付寶網站下載回來的demo。可以看到,有不同的語言的版本:

? ? ? ?我們將它引入到eclipse中,長這個樣子:

? ? ? ?這個demo中,主要有上圖所示的幾個文件,下文會挑主要的講。

3.?修改參數

? ? ? ?在參數的修改中,主要是上圖紅框內的五個地方,

? ? ? ?Partner:公司的身份,支付寶分配給你的,相當于銀行賬號;

? ? ? ?兩個Key:一個是公鑰一個是私鑰,有些支付通道是以電子證書的形式給我們的,可以是文件。也可以是一個U盤,但是里面存的就是公鑰和私鑰。有同學可能注意到,我單獨給私鑰打碼了,而沒有給公鑰打碼。這個以后我們說到加解密的時候再說哦,總之,保護好你的私鑰就是了,這個私密性等同于你的銀行賬號密碼。

? ? ? ?兩個url:一個叫做return-url,是什么意思呢?就是支付完成后(一會看實操),支付寶得把支付結果返回給咱們,他怎么返回給我們呢?我們也得給支付寶一個網址,這樣它就能給這個網址發消息了不是。

? ? ? ?但是,這個notify_url是個什么鬼?我們想象一下這個場景:

? ? ? ?為了阻止上面情況發生,我們就得提供另外一個URL,這個URL用來在支付寶發送消息給return-url失敗的時候,會在接下來的時間內,不間斷的定時發送補充消息到這個地址,把這個壞掉的邏輯補回來。

4.?操作演示

? ? ? ?來,不管三七二十一,先來波操作,首先,運行index.jsp,如下圖:

? ? ? ?這個頁面沒什么稀奇的,無非就是訂單號和商品和金額。

? ? ? ?然后點擊發送,關鍵的一刻產生了,我們就得把上面的顯然可見的信息,和隱藏在表單后的參數信息一起包裝到httprequest中發送到支付寶的網站去。看一下,大致有什么:

? ? ? ?發送出去后,就是下面的界面。熟悉不,剁手吧。

? ? ? ?在這個界面中,支付寶就會讓你打開手機APP,讓你掃一掃支付,或者讓你登錄支付寶網站支付。如果是銀行,一般就會讓你打開網銀,進行支付。這些操作,都是在他們的平臺中進行的。在這一步,跟咱們的網站無關(你可以看下圖的瀏覽器地址)。

? ? ? ?支付完畢,提醒如下:

? ? ? ?緊接著,再次跳轉提醒

? ? ? ?緊接著,支付寶再次跳轉回我們的網站,看到沒,return_url.jsp,就是我們配置的返回地址。到此,完成支付。謝謝大家,請先轉100W過來。

5.?企業級支付中其它問題

? ? ? ?即便解決了上文中同步操作的異常問題,還是有可能有其它一些意外情況的發生,比如你的數據庫崩潰了,導致你保存的收付款情況和支付寶(或銀行)那邊的首付款情況不一致。故,一般來說,除了類似上面的接口,支付平臺還會提供一些對賬接口供你調用,進行一個階段內的批量對賬。

? ? ? ?那這些對賬接口怎么調用?當然是跟上面一樣了。其返回的response中的數據,可能就是一個階段內的所有賬單信息,然后,我們作為程序員,就要去寫程序跟自己保存的數據進行一致性的校驗。


6.?認識一下銀行的支付通道

看過了支付寶的支付通道,我們再來看一個農行的支付通道。注意,其原理是完完全全一致的。

在這里,我們僅僅放置一段發送代碼感受一下吧,同時,這段代碼是用PHP寫的,從現在起,不要說,你只會Java編程了:-)

? ? ? ?還有,農行的支付通道是使用文件證書來存儲公鑰和私鑰的,如下

7.?支付通道在互聯網借貸平臺中的應用

擁有了以上的知識,是不是就意味著支付與轉賬在所有的互聯網應用中你就能放心應付了呢?非也,在電子商務中,以上知識可能差不多了,但是在互聯網借貸平臺(俗稱P2P)中,還不夠。

我們都知道,P2P平臺最大的一個風險就是平臺跑路。這些年的新聞可謂是層出不窮。我修正一下,5年前的P2P平臺,你利用我上文描述中的知識就能做一個P2P了,但是現在,不能了。

這個不能,不是指技術上不能夠,而是政策上不能夠。

在上文的即時轉賬中,用戶轉給公司的錢,公司瞬間就可以提走。如果這種模式存在于P2P平臺中,那么風險就很大,因為公司隨時可以轉走投資者的錢而跑路。

? ? ? ?用幾句話來描述P2P公司的業務模式:

? ? ? ?注意,上面的過程中哪些環節能出現風險呢?讓我們再把上面的描述復述一遍,同時加上備注,你只看備注就可以了:

? ? ? ?為了解決這樣的問題,金融監管機構就出現了。金融監管機構要求所有的P2P平臺:

? ? ? ?1:不能有自己的資金池;

? ? ? ?2:在銀行開立的用于收付款的賬號是專門的虛擬賬號,不能直接打到自己的公司賬號,這些錢,只能發起申請直接打給投資者和借款人;

? ? ? ?3:所有的借款人和投資者在平臺上的賬號對應在銀行那里也得有虛擬賬號,所有平臺上的投資和借錢行為發生在這些受監控的虛擬賬號內,實際要提現必須由本人發起申請。

? ? ? ?以上,講完了。

? ? ? ?通過上文的了解,現在的你,是要去做一個電商網站呢,還是一個P2P平臺?回歸一句話,記住:萬事萬物兼HTTP服務……


==================================================================

以下是廣告時間:最課程(http://zuikc.com)正在招收Java就業班學員,如果你想了解或參與的這樣的項目,請聯系我們哦。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,117評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,860評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,128評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,291評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,025評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,421評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,477評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,642評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,177評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,970評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,157評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,717評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,410評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,821評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,053評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,896評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,157評論 2 375

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,681評論 25 708
  • 交流是這樣的事情,一個人表達自己,另一個人做出回應。最基本的回應是評價,好或者不好,有趣或者無聊,“這實在是太神奇...
    猴子已死閱讀 177評論 0 1
  • 沈浪在碎了的墓碑前坐了許久,突然起身,嘴角復掛起那三分笑意。 人生還要繼續,仁義山莊是他必須背負起的責任,他不可能...
    半盞風月閱讀 819評論 0 0
  • 快來看這次的訓練營內容,太符合我的胃口,期待結營后自己的收獲。 認識世界三區有:舒適區、學習區、恐慌區,與之相對應...
    小賈子閱讀 343評論 0 1