介紹互聯網第三方支付業務相關流程或技術的書有哪些?

本人是一名Java服務端開發人員,打算入職一家互聯網第三方支付的公司,想提前了解一些支付業務相關的流程或技術,請問,有哪些合適的好書可以推薦?多謝。


既然是Java程序員,技術能力是第一位的。除了通用技術能力外,重點說一下交易導向(例如第三方支付、高頻交易系統)的程序員,與一個偏內容導向(例如微博)的程序員相比較,更需要關注那些技術內容:

1、事務處理:包括關係資料庫的ACID、分散式事務(2階段、3階段、TCC、補償性事務、可靠事件、Sagas長事務等)。先結合Spring AOP之類框架,把資料庫事務處理機制深入研究一下。

2、服務化及服務化治理:交易導向系統一般都較為複雜,一般主流平台構建都採用SoA或類SoA架構,服務化及服務化治理成為關鍵,由此引申出消息中間件、zookeeper、redis、dubbo、spring boot、spring cloud等之類框架及技術

3、差錯處理機制:由於偏互聯網化的第三方支付、交易系統,系統間介面調用存在諸多的不穩定因素,例如支付結果通知時候,或者網路中斷、或者對端伺服器down掉等,導致結果通知未收到,最終影響對賬、支付確認。因此整個系統的異常處理機制、補償機制極為重要(例如非同步通知、補單、主動查詢)

4、安全:包括安全編碼規範及習慣,避免SQL注入、各種Web安全漏洞攻擊等常見攻擊手段;各種數據加密演算法及安全體系,例如PKI體系、TLS/SSL;

5、網路通訊及可靠介面調用設計

6、資料庫性能及擴展性:交易系統一些關鍵表可能很難通過常用的NOSQL緩存、分庫、分表、分庫等機制來擴展,可能成為整個系統的性能瓶頸,例如賬戶表。良好的資料庫表設計能力、SQL調優常識至關重要

以上內容,並非說偏內容導向的程序員不需要關注,交易導向的系統更需要強調這些,作為程序員,第一步先夯實以上技術基礎。

與偏內容導向的程序員不同,第三方支付等交易系統一般還涉及較多的業務常識,包括:

1、會計學基礎知識:賬戶系統是第三方支付的核心,而賬戶系統的原理來源於會計學原理

2、金融基礎知識:包括銀行、基金、保險、信託等的知識

3、電子商務知識

4、第三方支付的知識

以上業務常識,涉及面很廣,不可能一下全了解,可以根據公司業務及個人方向來重點了解相關領域的業務常識。

可以說,只有真正了解業務,才可能設計、開發出好的系統。程序員一定要技術能力+業務能力並重,由此延展開還包括產品能力。雖然是技術,但一定要有意識培養自己的產品規劃、產品設計、產品管理、產品運營的意識和能力,產品能力本身與技術設計和架構能力是相通的。

市面上關於第三方支付的圖書較少,有幾類偏技術的文檔值得推薦:

1、強烈建議可以仔細研讀一下一些第三方支付公司的商戶接入介面規範文檔,一方面了解業務,更重要的是學習好的介面設計及差錯處理機制;

2、第三方支付申請牌照的認證規範,基本上涵蓋了一個支付系統的技術規範、業務規範,很值得好好研讀

3、銀聯相關的規範文檔、介面文檔,基本上涵蓋了POS收單、清結算等的相關知識,比較成體系

以前的一個回答,供參考

如何從零起步學習支付行業相關知識? - 梁川的回答 - 知乎


謝謝邀請,我比較喜歡一個網站:人人都是產品經理,裡邊第三方支付的資料很多


支付大講堂,這本書可以。


推薦閱讀:

Apple Pay Touch ID 指紋識別的安全性?
NFC 手機真的可以輕鬆讀取銀行卡信息嗎?

TAG:電子支付 | 移動支付 | 支付 | 在線支付 | 第三方支付 |