支付網(wǎng)關是為了屏蔽各種 支付工具之間的差異,對訂單系統(tǒng)行程一個統(tǒng)一的,標準的接口。如下圖所示
思路
訂單系統(tǒng)的生成訂單號,訂單狀態(tài)為待支付
用戶發(fā)起支付請求,支付網(wǎng)關負責交易支付請求, 生成 支付流水號。
支付網(wǎng)關在完成支付請求后 ,負責更新訂單狀態(tài)。
支付失敗,訂單狀態(tài)不更新
支付網(wǎng)關在像第三方支付時出現(xiàn)錯誤時重試三次
事物補償機制
支付狀態(tài) 定時更新機制(每10分鐘一次)
對賬
每晚 從第三方支付公司取出的對賬文件,從訂單統(tǒng)獲取使用該公司的支付文件.
分別比對總金額, 發(fā)現(xiàn)平與不平,多交款,少繳款。
相關異常訂單存入異常訂單表中,第二天人工處理
接口設計
1. 訂單狀態(tài)同步
bool UpdateOrderPaySatus(string orderId, int pay