在使用歐付寶金流串接時發現了一個問題,呼叫api時傳了我方的訂單編號給歐付寶 再第二次用同一個訂單編號
(極有可能網路不穩瞬斷 或 使用者不小時關掉 結帳頁面)

想要付款時就出現訂單重覆無法付款

寄信給歐付寶後對方是這樣回覆

若於付款尚未完成前不慎關閉頁面,須重新建立一筆新的訂單,
因為每一筆訂單的編號(MerchantTradeNo)均為唯一值,在資料送出後就已經被記錄了,故無法重覆使用及修改。

目前我的結法是 每次在呼叫歐付寶的生成訂單api時 自動生成一組六碼的 交易碼

這樣就能確保使用者可以對每一筆訂單 二次結帳

#########
但是我又發現另一個問題…如果…使用非信用卡來結帳會有時間差的問題 舉例來說 我使用超商條碼(會有7天之內都可
以付款),但是 當使用者選超商條碼付款時 歐付寶並不會 回傳付款方式給我說這筆訂單是用 超商條碼(只有付款成功
時才會回傳),導致於若使用者 二次結帳時,依然可以付款成功,因為我無法確定使用者的付款方式是什麼。
#########
這問題已解,請參考 本站中的 歐付寶金流串接範例

結論.如果你要使用歐付寶的金流 建議 直接使用信用卡付款 可免除其它付款方式的判斷;
或是 你的所有訂單 只能單次付款 不管有沒有付款成功,若客戶不小心按到上一頁/關掉付款畫面;這筆訂單就不成立。

你可能會喜歡

Comments (4)

    • jeff

      回覆

      其實你這不算特例,因為他本來就有要求你傳過去的訂單編號要是唯一的。

  1. Vincent Liang

    回覆

    在建立訂單的時候,帶入PaymentInfoURL 欄位,訂單建立成功後,就會回傳付款方式,不用等到付款成功才知道。

    允許訂單編號重複會遇到信用卡重複授權的問題,我們正規劃可以重複訂單編號的版本。

    有任何疑問,歡迎 email 給我。

    Vincent

    • jeff

      回覆

      感謝您的回覆,回傳付款方式已測試成功。

      期待你們新的版本能解決訂單編號的問題。

Leave a comment

你的電子郵件位址並不會被公開。 必要欄位標記為 *