https://stackoverflow.com/questions/31061838/how-do-i-cancel-an-http-fetch-request
TL/DR:
送出的請求雖然有fetch
有支援,但並沒有全部的瀏覽器都支持control abort
如果是送出需要對方執行的,則沒有任何方法可以中斷
因為經過任一處都有可能發生異常(客戶端、伺服端、金流商...網路)
比較好的作法是建立控卡點和檢查機制
重點要確保交易資料的一致性(我方與金流端)
例如:
為避免訂單重複付款:未付款訂單重新付款前,先去金流API確認先前交易結果。
為避免沒收到API交易結果:未付款訂單,定時去金流API確認先前交易結果。
補充:
如使用AJAX可以設定Timeout等JS支援功能中斷它,但強制中斷有資料不同步風險
如透過URL轉址方式則無法中斷,只能由用戶端中斷,因為頁面已經跳轉出去了