1. 程式人生 > >訂單引數異常,請重新下單後再發起付款(ALIN42273)

訂單引數異常,請重新下單後再發起付款(ALIN42273)

問題描述:

最近支付寶支付時常出現:訂單引數異常,請重新下單後再發起付款(ALIN42273),之前產品App都是正常支付,現在使用者反饋支付成功率很底,導致很多訂單無法支付。

在這裡插入圖片描述

排除問題:

使用者手機問題(IOS、安卓)系統。----經測試排除
支付寶app版本問題。—經測試排除
支付寶介面變更。—經查詢,好像沒有變更
產品app裡的sdk版本太低,支付寶不支援了。—應該不可能坑我們的,排除
後端服務介面有問題。----查詢日誌,正常
支付介面引數遺漏。----不可能,畢竟還有成功的訂單
訂單號重複。—查詢資料,沒有發現重複
那隻能求助螞蟻金服的技術人員,將問題反饋給他們,但是他們也無法給出具體的解決方案,讓我們發郵件給相關技術人員,專門有人回覆郵件,抱著試試心態,就發了一個郵件。

沒有想到,他們回覆挺快的,然後就在郵件裡進行交流、排除問題,終於get到關鍵問題了。

答覆如下:訂單中傳入了expireTime且該引數對應的值早於請求時間,故建立失敗。

解釋:訂單引數中您傳了it_b_pay作為絕對的超時引數使用的時候是精確到分的,此時您傳入的是it_b_pay=“2018-11-22 14:04:49”,也就是精確到2018-11-22 14:04,此時的請求時間為:2018-11-22 14:04:23,故會造成報錯“ALIN42273”

在這裡插入圖片描述

還是不明白吧,其實就是說建立訂單時,設定了過期超時時間,請求時間和過期時間一樣了,所以建立訂單會失敗,除非手速或者網路快,正好在未過期前支付了。

解決方案:

登入伺服器,檢視一下服務本地時間,你就會發現竟然慢了幾分鐘,甚至十幾分鍾。無語…

同步一下時間即可。

原文:https://blog.csdn.net/lilinoscar/article/details/84349073