本系統與第三方支付業務處理整理

第三方支付就像手機一樣,有人交集的地方都會有他們。好吧這是句廢話,言歸正傳。

涉及第三方支付的交互:支付、退款是最常用的。

支付

系統集成第三方的支付功能後,

邏輯一:一般是先完成第三方的支付,根據支付結果的不同在本系統當中完成後續的處理邏輯,例如增加充值記錄。先處理第三方的邏輯再處理本系統當中的邏輯是資金流向的角度出發,即不管支付的結果是成功、失敗、還是延時,後續都方便在本系統當中處理。

邏輯二:如果反過來的話(後面是例子了,理解的就略過),先增加充值記錄,那麼後面就是想當然的認爲第三方支付必然成功了,有經驗的大神一般還在後面增加失敗時的回退邏輯。但是一般整個處理邏輯涉及的部分太多,回退邏輯也是一件痛苦的事情。

第三方支付成功,本系統收款失敗

顯而易見邏輯二的方式處理,本系統因爲業務邏輯或者程序限制(用戶凍結)原因失敗後,在本系統當中可以自行處理。

第三方支付失敗

第三方支付失敗,都沒有後面邏輯的事情了。直接排查是不是網絡問題,還是設備壞了(一般支付憑證、密鑰之類的很那出現問題)。

退款

系統集成第三方的退款業務後。

退費時需要考慮完成本系統的退款業務,再完成第三方的退款邏輯。否則,錢退出去了,本系統然後說不能退,那最後是誰的鍋?既然是這樣,那問題就來了,如果第三方退款失敗(例如賬戶裏沒錢退不出去),使用事務方式是肯定的,如果沒有,那就需要考慮退費的撤單邏輯來解決。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章