国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

探討一下常見支付系統的對外接口

warnerwu / 2898人閱讀

摘要:相比起來,支付寶的下單動作由于是在前端調用的,因此,站點需要將自己的訂單信息返回到客戶端,然后又客戶端發起調用支付寶的下單接口,這樣一來,如果安全加密等做的不到位,很容易被惡意用戶篡改信息。

作為一個具備用戶交易能力的網站,豐富它的支付渠道對于獲客和提高日活都有不可估量的積極作用。算起來,我接觸過的支付系統也有幾十個了,在這里總結一下我所接觸過的支付系統對外接口的設計方案。

1. 支付寶

作為國內最大的支付平臺,絕大多數網站都會與其對接,當之無愧是最常見的支付渠道,而很多其它小的支付渠道也是參考支付寶來設計其對外接口的,很具有代表性,其支付流程如下圖:

上圖的流程中其實還隱藏了很多安全校驗的細節,例如與支付寶接口之間的數據加密規則和驗簽規則,異步回調接口的調用者IP白名單,支付寶訂單信息反查及與A站點訂單信息比對校驗(金額、用戶、狀態等)。另外,還有一些流程是可選的,例如,同步回調這一步,如果將訂單確認的流程加在里面,則有可能影響用戶體驗,所以在這里訂單的確認流程可以自己觸發另開線程去跑,或者去除同步回調的確認訂單功能,完全依賴異步回調來完成訂單。而異步回調里的訂單反查也不是必須的,如果你認為白名單和驗簽規則足夠可信的話,不反查也可以。

2. 微信支付

成交量也非常可觀的支付渠道,其支付流程也具有一定的代表性,流程如下圖:

相比支付寶,其在初始的下單階段有一些差異,主要表現在,下單動作是由A站點的服務端調用的,而支付寶則是由前端發起調用的。相比起來,支付寶的下單動作由于是在前端調用的,因此,A站點需要將自己的訂單信息返回到客戶端,然后又客戶端發起調用支付寶的下單接口,這樣一來,如果安全、加密等做的不到位,很容易被惡意用戶篡改信息。而微信的下單接口是服務端調用的,A站服務器只將獲得的微信預付訂單號返回給客戶端,用來發起調用微信客戶端支付接口,這樣一來,訂單信息詳情沒有暴露在外,相對更安全一些。

3. 深度合作的積分抵扣模式

有時,一些站點或游戲會與某些第三方深度合作,將第三方的積分接入其中,以一定的比例來抵扣和兌換其中的商品或道具。所謂深度合作,則是第三方會直接給出授權互信接口,允許A站點直接調用扣減某用戶的積分,用戶只需將其第三方站點的賬號與A站點的賬號綁定即可。這種模式,大多數情況下只有接口級的調用,沒有前端收銀臺界面,流程圖如下:

從上圖可以看出,這種方式在流程上相對比較簡單,只要A站點與第三方做好接口加密、簽名等安全措施,商定好結算規則,對接起來相對比較容易。另外,這種對接形式需要第三方支持按照A站點的訂單號來反查訂單信息,方便對賬結算和訂單異常的自動化處理。

4. 總結:支付系統對外接口的必備要素 4.1 接口部分

下單接口

同步回調通知:通知的信息需要包含雙方訂單號,訂單金額,用戶身份信息,訂單狀態等

異步回調通知:同“同步回調通知”

交易訂單查詢接口:支持使用雙方任一方的訂單號來查詢訂單信息,因為有時A站點不一定能拿到支付渠道產生的訂單號,此時則只能拿A站點自己的訂單號來查詢支付渠道的支付信息。之所以需要查詢,一個是在回調時確保訂單信息的有效性和準確性,另一個目的則是防止異常情況下,A站點沒有收到支付渠道的回調信息,而用戶的確在支付渠道成功支付,為確保A站點用戶支付都能及時到賬發貨,需要增加異步的訂單查詢跑批。

4.2 安全部分

信息加密:https、AES、非對稱加密(公鑰私鑰)等;

簽名規則:對傳輸的信息整體應用簽名規則(sha256等),生成簽名字符串,用于防止傳輸信息被篡改;

IP白名單:對于服務器間調用的接口,可以將對方服務器IP加入白名單,防止非法IP調用;

訂單信息反查:A站點主動向支付渠道查詢訂單信息,保證訂單信息的有效性和準確性。

以上只是我對之前接觸過的支付系統對外接口的總結,可能有一些說的不對或有待完善的地方,如果你有任何問題或建議,可以掃描下方二維碼或者微信搜索[phpjiagoushier],關注我的微信公眾號[PHP架構],參與互動交流。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/11773.html

相關文章

  • 人人都是 API 設計師:我對 RESTful API、GraphQL、RPC API 思考

    摘要:通常情況下,偽都是基于第一層次與第二層次設計的。為了解決這個版本不兼容問題,在設計的一種實用的做法是使用版本號。例如,建議第三位版本號通常表示兼容升級,只有不兼容時才需要變更服務版本。 原文地址:梁桂釗的博客 博客地址:blog.720ui.com 歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的局限性。 有一段時間沒怎么寫文章了,今天提筆寫一篇自己對 API 設...

    ormsf 評論0 收藏0
  • 人人都是 API 設計師:我對 RESTful API、GraphQL、RPC API 思考

    摘要:通常情況下,偽都是基于第一層次與第二層次設計的。為了解決這個版本不兼容問題,在設計的一種實用的做法是使用版本號。例如,建議第三位版本號通常表示兼容升級,只有不兼容時才需要變更服務版本。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的局限性。 有一段時間沒怎么寫文章了,今天提筆寫一篇...

    FWHeart 評論0 收藏0
  • RageFrame 一個 Yii2 + AdminLET 免費開源多商戶通用后臺管理系統

    摘要:極致的插件機制,系統內的系統,安裝和卸載不會對原來的系統產生影響強大的功能完全滿足各階段的需求,支持用戶多端訪問后臺微信前臺等,系統中的系統。多入口模式,多入口分為后臺前端,微信,對內接口,對外接口,不同的業務,不同的設備,進入不同的入口。 RageFrame 2.0 為二次開發而生,讓開發變得更簡單 項目地址:https://github.com/jianyan74/... 前言 這...

    sunny5541 評論0 收藏0
  • RageFrame 一個 Yii2 + AdminLET 免費開源多商戶通用后臺管理系統

    摘要:極致的插件機制,系統內的系統,安裝和卸載不會對原來的系統產生影響強大的功能完全滿足各階段的需求,支持用戶多端訪問后臺微信前臺等,系統中的系統。多入口模式,多入口分為后臺前端,微信,對內接口,對外接口,不同的業務,不同的設備,進入不同的入口。 RageFrame 2.0 為二次開發而生,讓開發變得更簡單 項目地址:https://github.com/jianyan74/... 前言 這...

    Ali_ 評論0 收藏0

發表評論

0條評論

warnerwu

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<