首頁  >  問答  >  主體

php - 第三方支付平台在很短時間內多次非同步通知,訂單多次確認收款

第三方支付非同步通知多次通知回呼地址,前面通知請求還沒有處理完成,後面請求就發過來了,導致多次確認收款,如何解決

ringa_leeringa_lee2726 天前973

全部回覆(4)我來回復

  • ringa_lee

    ringa_lee2017-05-25 15:10:25

    支付的話需要按唯一 ID 來做處理吧,例如交易號,流水號之類,不可能允許多次重複。

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-25 15:10:25

    請求來了時候 先把db中的記錄狀態由初始更新為一個中間狀態
    然後在處理請求,把中間狀態更新為處理完成狀態
    然後給第三方異步請求返回報文

    回覆
    0
  • PHPz

    PHPz2017-05-25 15:10:25

    好奇的是,短時間內多次,那麼是多短時間多少次呢。

    • 例如,10 秒內 5-10 次,應該考慮你的程式碼優化,為啥 1 秒不能處理一個請求,第一個處理完之後,後面的請求就無視了。

    • 比如,1 秒內 5-10 次,簡單處理,就是入隊列,把並發的請求,變成串列的,就可以解決了。

    以上,我都覺得頻率那麼高,一定是有問題的,可以找第三方平台提出來。

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-25 15:10:25

    程式處理完就給第三方回傳成功,否則失敗,第三方接收到成功就不要再請求了,容易被封ip。這種問題寫在文件裡給第三方看

    回覆
    0
  • 取消回覆