支付寶支付偶爾出現回調不正常原因!



out_trade_no 是開發者生成的訂單號,稱為商家訂單號,會傳到支付寶的支付接口里,然后記錄在支付寶。
[圖片]

**回調出問題的代碼寫法:**
$out_trade_no = date('YmdHis').time().mt_rand(1000,9999);
這種寫法用戶每次點擊支付時都會重新生成out_trade_no,但是只要用戶點擊了支付,然后掃碼支付是不會有回調問題的。
如果用戶點擊了支付,然后掃了碼,然后在瀏覽器返回,再點擊支付,這個時候才輸入上一次掃碼的密碼,就會導致支付寶回調了,但是訂單狀態沒有被修改。
因為用戶點了兩次支付,而支付的是第一次點擊的二維碼。這個時候訂單號變了。支付了就無效了。這段話可能有點難理解!!

改進后的代碼:

$out_trade_no = $data->code;
out_trade_no直接用創建訂單時生成的訂單code,這樣用戶每次點擊支付生成的商家訂單號都不會改變,所以就不會了多次點擊支付之后回調不正常的現象


免責聲明!

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



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