2015-12-30 48 views
0

支付网关请求中包含许多参数与RETURNURL沿angularJS支付网关服务器,如何接受HTTP发布从

数据取决于付款,无论是成功与否的支付网关的状态代码和错误代码等张贴与RETURNURL,

这个时候发布的数据在网络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: Respnd to Http post from third part server

所以请在同一问题上提供帮助。

在此先感谢...

编辑---------------------

1)我会打电话的 submitCart( id,total,returnURL,currentURL) from angularJS。

2)该呼叫到达至网页API该方法 公共异步任务SubmitCart(长ID,长的总,串RETURNURL,串CURRENTURL)

3)在上述方法中和浏览器重定向做出支付请求之后到付款网关页面。

4)向网关提供信息后,如卡号,银行名称等,然后根据请求,网关通过使用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)我successfuly得到网关的响应得到那些反应,我想表明网关响应给用户的消息以及它的购物车数据说CartList。 所以我怎么能显示谢谢你的网页响应与购物车数据..在我的角度的应用程序。

+0

是您的Web应用程序重定向到支付网关? –

+0

是的,它重定向到支付网关,然后重定向到我们的网站,我重定向到WEB API的动作和处理[某些]用户购买,但之后,我想显示该页面上的一些数据的感谢页面。 –

+0

只显示一个感谢页面?或者你想在重定向后初始化你的角度应用程序? –

回答

0

不要将您的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.htmlfailed.html是用于显示支付的状态页面。

你还没有回到你的角度应用程序。

用户应该从状态页面重定向到角度应用程序。您可以编写简单的jQuery代码,在一分钟或一段时间后重定向到您的应用程序。

希望这会帮助你。

随时对此有任何疑问。

+1

我们有2个应用程序 1.角度应用程序(只是角度没有MVC) 2. WEB API和两个托管在不同的子域。 返回视图是不可能的,因为角度应用程序是在另一个子域中,我们必须通过谢谢页面传递购物车列表。 –

+0

@MayurLohite。问题是'angularJs'只是一个客户端脚本。所以,通过使用angular来从post请求中获取数据是不可能的。 –

+0

@MayurLohite,所以我们需要使用API​​或MVC从支付网关获取请求数据。由于API托管在另一个子域中,因此我们无法使用我们的角度应用。 –