我正在將巴克萊ePDQ CPI付款整合到我們的應用程序中。雞和雞蛋:在進入支付網關之前保存模型? (Rails)
到目前爲止,我已經編碼的方法是:
1.用戶進入細節 2型號被保存到會話(未DB) 3.用戶轉發到支付頁面。 4.用戶輸入付款詳情。 5. eDPQ服務器執行回發,由控制器提取。這應該保存訂單詳細信息並保存用戶模型。 6.用戶通過CPI重定向到結果頁面。
我不想在發送到付款頁面之前保存用戶詳細信息的原因是,如果用戶輸入了錯誤的詳細信息,用戶可以按下瀏覽器並重新提交表單。
但是我現在意識到,由於eDPQ服務器直接調用回發,所以不會有會話。可以將order_id發送到作爲參考發回的付款頁面。所以現在我想回去保存用戶,然後將它們發送到付款頁面,因此我在order_id中發送了一個參考。這可以通過post_back方法找到,它會找到用戶並完成註冊過程。
但是,如果他們點擊並嘗試重新提交,則會出現用戶已存在的錯誤。
其中一種方法是確保用戶的「新」頁面不會被緩存。所以當他們點擊後,他們實際上會顯示一個「編輯」頁面,它看起來像一個「新」頁面。然而,這看起來會增加一些編碼複雜性。
我希望有人提出了類似的問題,也許能夠在這裏給出一些建議。
感謝您的閱讀!