[英]How to accept http posted data from payment gateway server in angularJS
支付網關請求包含許多參數以及ReturnURL,
根據付款情況,是否將來自付款網關的狀態代碼和錯誤代碼成功或不成功等信息發布在ReturnURL上,
當在Web API控制器中檢索此發布的數據時,它會給我結果,
片段:(其示例代碼不是完整代碼)
public async Task<HttpResponseMessage> PGResponse()
{
string strPGResponse = HttpContext.Current.Request.Form["msg"];
string strMerchantCode = HttpContext.Current.Request.Form["tpsl_mrct_cd"];
return Response(HttpStatusCode.OK);
}
但是,當我嘗試從付款網關以角度獲取此發布的數據時,我不確定如何實現相同的功能
請在以下鏈接上引用尚未回答的相同問題。 AngularJs:從第三方服務器回復到HTTP發布
因此,請在同一問題上提供幫助。
提前致謝...
編輯---------------------
1)我會從angularJS中調用submitCart(id,total,returnURL,currentURL)。
2)此調用到達Web api公共異步任務SubmitCart中的此方法(長id,長總計,字符串returnurl,字符串currenturl)
3)之后,上述方法和瀏覽器發出的付款請求將重定向到付款網關頁面。
4)在向網關提供了諸如卡ID,銀行名稱等信息之后,然后根據要求,網關使用ReturnURL給了我一個過帳的表格數據。 喜歡
http:// localhost:3321 / Cart / PGResponse
5)我會通過這種方法得到那些回應
public async Task<HttpResponseMessage> PGResponse()
{
string strPGResponse = HttpContext.Current.Request.Form["msg"];
string strMerchantCode = HttpContext.Current.Request.Form["tpsl_mrct_cd"];
List<Cart> CartList = await _cartService.GetByUserBasicID(Convert.ToInt64(custid));
return Response(HttpStatusCode.OK, CartList); // This is my private function
}
6)我會成功地從網關獲得響應,我想向用戶顯示網關響應消息以及它的購物車數據,如CartList。 因此,如何在我的角度應用程序中顯示帶有網關響應以及購物車數據的謝謝頁面。
不要將您的API網址作為重定向網址傳遞。 因為API只能返回數據,而不能返回您的應用程序。
因此,我建議您創建一個MVC控制器而不是API控制器以從支付網關接收數據。
public ActionResult PGResponse()
{
string strPGResponse = HttpContext.Current.Request.Form["msg"];
string strMerchantCode = HttpContext.Current.Request.Form["tpsl_mrct_cd"];
List<Cart> CartList = await _cartService.GetByUserBasicID(Convert.ToInt64(custid));
if(success){
return View("success.html");
}
return View("failed.html"); // return your angular application page.
}
success.html
和failed.html
是用於顯示付款狀態的頁面。
仍然您不會回到角度應用程序。
用戶應該從狀態頁面重定向到您的角度應用程序。 一分鍾或一段時間后,您可以編寫一個簡單的jquery代碼以重定向到您的應用程序。
希望這會幫助你。
隨時對此有任何疑問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.