代码之家  ›  专栏  ›  技术社区  ›  Emotional_Goose

Realex付款,无法处理响应。Net

  •  0
  • Emotional_Goose  · 技术社区  · 7 年前

    我试图实现一个hpp完全重定向到realex payment,我有两个控制器,一个将请求发送到realex payment server,另一个将响应发送回。我得到了json的响应

    {"RESULT":"00","AUTHCODE":"12345","MESSAGE":"[ test system ] AUTHORISED","PASREF":"15441812060166886","AVSPOSTCODERESULT":"M","AVSADDRESSRESULT":"M","CVNRESULT":"M","ACCOUNT":"internet","MERCHANT_ID":"MyID","ORDER_ID":"UYCRWpJtlE-B1n62SE7EKg","TIMESTAMP":"20181207111253","AMOUNT":"199","MERCHANT_RESPONSE_URL":"URL to my webcontroller","pas_uuid":"b3cfa79e-2b60-4f2a-9dad-cfa897f17189","SHA1HASH":"c193e099da587b28810775f388d15c2f88fd637c","BATCHID":"601099"}
    

    我遇到的问题是,这个json显示在具有以下URL的页面中。 https://pay.sandbox.realexpayments.com/card.html?guid=b3cfa79e-2b60-4f2a-9dad-cfa897f17189 但我想从这个json中提取订单id、交易id和金额,并以某种形式显示在out company页面中,告知用户根据结果成功或拒绝付款。

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>My Title</title>
    <!-- reference to your css file below. You can also use a separate css from your desktop more at https://developer.realexpayments.com/#!/hpp/customisation-->
    <link rel="stylesheet" type="text/css" href="resources/css/styles.css">
    <script src="https://code.jquery.com/jquery-3.3.1.js"></script>
    <script src="rxp-js-master/lib/rxp-hpp.js"></script>
    <script>
    
      $(document).ready(function() {
    
        $.getJSON("URL to my first controller", function(jsonFromRequestEndpoint) { 
        ///alert(jsonFromRequestEndpoint);
          RealexHpp.setHppUrl("https://pay.sandbox.realexpayments.com/pay");
          // When using full page redirect your Response URL must be an absolute link
    
          RealexHpp.redirect.init("payButtonId", "URL to my second controller", jsonFromRequestEndpoint);
    
    
          const URL = "https://development.eurowatchcentral.com"
                const data = jsonFromRequestEndpoint;
    
                $.post(URL, data, function(data, status){
    
                console.log ('${data} and status is ${status}')
    
                });
          });
    
    
      });
    
    
    
    
    </script>
    </head>
    <body>
    <!-- The tag <hpp:body /> below indicates where the payment form will be placed - for all guidelines on templates please visit https://developer.realexpayments.com/#!/hpp/customisation-->
            <div>
    
    <form >
    
    <button type="button" value="payButtonId" id ="payButtonId">Click Me!</button>
            </div>
    
            <p id="demo"></p>
        </form> 
    </body>
    </html>
    

    1 回复  |  直到 6 年前
        1
  •  2
  •   Global Payments    7 年前

    当使用完整页面重定向(与iFrame相反)时,HPP将向第二个控制器发送响应POST。这是作为标准HTTP POST发送的,而不是作为JSON字符串发送。

    同时,HPP将呈现第二个控制器输出到浏览器的任何HTML内容。因此,我们通常建议在检查响应是否有效(检查哈希和时间戳等)后,使用JavaScript重定向将浏览器重定向到所需的URL。例如,成功或失败页面。

    推荐文章