微信支付異步通知的深坑


在一次項目中,需要在商戶收到用戶的錢的時候發短信通知商戶,所以在異步通知哪里寫了這么一個功能,然后問題就來了,客戶付一次錢,能發10條8條信息,到底是哪里出的問題?在發起支付前打印一下生成的支付單狀態,發現是未支付的狀態 ok,沒問題,然后在異步通知接收到的參數去數據庫查詢支付單,發現支付單查出來的已經是改變了支付狀態的,問題就來了,我是在改變支付單的邏輯前面查詢的支付單就查詢的,支付單怎么就會改變了狀態呢,發起支付請求到微信給我的異步通知,中間沒有其他的步驟了,是在哪里改變的支付單狀態,我怎么不知道?然后一次次的調試,還是沒撤,就找了我老大哥,說讓他叫我把file_put_conetnets 加多一個寫入模式,是追加進去,然后再測試了一次,OMG!原來微信第一次就給我發起了10條8條異步通知(就是不等我回它success為一次),所以我這個文件就執行了10次8次,問題找到了,馬上就邏輯處理了一下。 不知道支付寶是不是這樣,我也先不測了,就先當支付寶也是這樣吧,特意留下此貼,記錄一下開發過程中碰到的那些坑,加深印象,也防止別人遇到我這樣的坑,能夠避免踩雷


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM