Realex оплаты, ответ не может быть обработан. Net - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь реализовать полный перенаправление hpp на платеж realex, у меня есть 2 контроллера, один из которых отправляет запрос на сервер платежей realex, а второй - на который ответ отправляется обратно.я получаю ответ в формате 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 идентификатор заказа, идентификатор транзакции и сумму и отобразить ее в какой-либо форме на странице компании, чтобы проинформировать пользователя об успешности или отклонении платежа в зависимости от результата.

код на стороне клиента, который его вызывает:

<!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>

Я пытался найти любые соответствующие шаги в API, но я изо всех сил пытался найти любые.

1 Ответ

0 голосов
/ 12 декабря 2018

При использовании Full Page Redirect (в отличие от iFrame), HPP отправит ответ POST вашему второму контроллеру.Он отправляется как стандартный HTTP POST, а не как строка JSON.

В настоящий момент HPP также будет отображать любой HTML-контент, который выводится вторым контроллером, в браузер.Поэтому в этот момент мы обычно рекомендуем, чтобы после проверки правильности ответа (проверка хэша, отметки времени и т. Д.) Вы могли использовать перенаправление JavaScript, чтобы перенаправить браузер на нужный URL-адрес.Например, страница успеха или неудачи.

...