1. 程式人生 > >支付寶多次執行回撥問題的解決

支付寶多次執行回撥問題的解決

1.需求分析

    最近,在pc端整合支付寶即時到賬的時候,遇到了一個問題:支付寶支付成功後,系統的支付寶流水會重複新增好幾條;

基於這個問題,筆者通過斷點發現,這種情況是支付寶執行多次回撥造成的。

2.解決方案

①保證執行回撥介面的結果為“success”

但是有時即使返回“success”,支付寶還是繼續回發非同步通知,這是採用本地支付狀態驗證

②訂單號唯一,根據訂單號查詢訂單的資料庫的支付狀態

 如果資料庫支付狀態為false,則繼續執行下面的程式;反之則返回“success”

String payOrderCode = this.publishServiceMapper.findPayOrderCodeByOrderCode(out_trade_no);
Integer payStatus = businessOrderMapper.findOrderStatus(payOrderCode); if(payStatus == 1){ return "success"; }

相當於在資料庫訂單支付狀態的層面上,又進行了一次攔截驗證

好了,我是張星,歡迎加入博主技術交流群,群號:313145288