簡體   English   中英

外部付款后使用 POST 重定向到前端 URL

[英]Redirect to frontend URL with POST after external payment

我的 VueJS 應用程序依賴於 Java 后端。 此 Java 后端服務於所有 REST 端點以提供數據。

當用戶執行結帳時,后端會使用重定向 URL 進行響應並將用戶重定向到該 URL。 這樣做很簡單:

window.location.href = redirectUrl;

一旦在外部頁面上完成支付過程,支付提供商就會將用戶重定向到return_url ,在這種情況下,它是我的 VueJS 前端。 但是,外部系統將POST請求中的return_url直接發送到前端,由於沒有端點偵聽,因此無法在前端進行處理。

處理這個問題的適當方法是什么? 據我所知,VueJS 不可能接受 POST 請求。

TLDR; 任何外部支付網關系統或 OAuth/OpenID 等類似系統都有責任通過簡單的瀏覽器重定向(通過 HTTP 302 和 303)重定向到調用應用程序。 因此,您應該要求/配置外部支付提供商以遵循標准工作流程。

理論上,您永遠不會遇到這個問題,因為 POST 通常是一個 Ajax 請求。 假設您在外部支付頁面上,當支付成功時,外部 JS 進行 POST 調用,因此支付頁面應該負責通過讀取響應重定向到適當的頁面。

現在,第二種可能性是支付頁面通過POST方法類型使用傳統的FORM 提交,並以 JSON 或等效正文形式返回響應。 在這種情況下,您應該有一個服務器端腳本(在您的 ui 服務器上),它會偵聽此調用,然后加載使用 Vue 構建的前端應用程序。

如果您的 UI 由 Java 后端提供服務,那么擁有ServeletJSP應該很簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM