在QR code payment, Official Account Payment, In-APP payment, Mini Program Payment場景下,微信支付會在用戶支付完成后向機構回調(diào)url下發(fā)支付結果通知,機構需要核實回調(diào)簽名及回調(diào)內(nèi)容,以防止收到虛假回調(diào),產(chǎn)生資金的損失。
機構或商戶在收到微信支付回調(diào)信息后,需要做三件事:
對回調(diào)信息中的sign字段進行核驗,以確認該回調(diào)為微信支付下發(fā)的回調(diào),核驗簽名方式請參考API文檔中的簽名算法部分。
若sign核驗通過,需檢查回調(diào)中訂單信息是否正確。重點需要核查訂單號是否在系統(tǒng)中生成過,訂單號與支付金額是否與系統(tǒng)中記錄的相匹配。
若sign和業(yè)務信息都驗證通過,同步訂單結果到自身系統(tǒng)中,同時需要返回正確的回包給到微信支付。否則微信支付會判定該次回調(diào)失敗,不斷去進行重試,造成雙方資源的浪費。
同樣的通知可能會多次發(fā)送給商戶系統(tǒng)。商戶系統(tǒng)必須能夠正確處理重復的通知。當收到通知進行處理時,首先檢查對應業(yè)務數(shù)據(jù)的狀態(tài),判斷該通知是否已經(jīng)處理過,如果沒有處理過再進行處理,如果處理過直接返回結果成功。在對業(yè)務數(shù)據(jù)進行狀態(tài)檢查和處理之前,要采用數(shù)據(jù)鎖進行并發(fā)控制,以避免函數(shù)重入造成的數(shù)據(jù)混亂。
Customer Service Tel
Business Development
9:00-18:00
Monday-Friday GMT+8
Technical Support
WeChat Pay Global
ICP證