Php 我能';我无法使用Realex支付的灯箱

Php 我能';我无法使用Realex支付的灯箱,php,realex-payments-api,Php,Realex Payments Api,我真的需要一些帮助来弄清楚为什么带付款单的灯箱不起作用 我一直遵循托管支付页面的快速指南(Html+JS和PHP),并通过composer和rxp JS+jQuery库手动安装了rxp hpp PHP库 我想我做的一切都很好,但由于某种原因,弹出窗口没有显示。没有错误,资源似乎已加载。有人能帮我发现我缺少什么吗 这是我的代码,最后我还附上了一张图片 localhost/addon payments/index.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD H

我真的需要一些帮助来弄清楚为什么带付款单的灯箱不起作用

我一直遵循托管支付页面的快速指南(Html+JS和PHP),并通过composer和rxp JS+jQuery库手动安装了rxp hpp PHP库

我想我做的一切都很好,但由于某种原因,弹出窗口没有显示。没有错误,资源似乎已加载。有人能帮我发现我缺少什么吗

这是我的代码,最后我还附上了一张图片

localhost/addon payments/index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>HPP Lightbox Demo</title>
    <meta charset="UTF-8">
    <style>
      body { background-color: lightsalmon; }
      button { padding: 10px 20px; border-color: #fff; }
    </style>
    <script src="jquery-1.11.3.min.js"></script>
    <script src="rxp-js/dist/rxp-js.js"></script>
    <script>
      // get the HPP JSON from the server-side SDK
      $(document).ready(function () {
        $.getJSON("requestUrl/", function (jsonFromServerSdk) {
          RealexHpp.setHppUrl('https://hpp.sandbox.addonpayments.com/pay');
          RealexHpp.init("payButtonId", "responseUrl/", jsonFromServerSdk);
        });
      });
    </script>
  </head>
  <body>
    <button type="button" id="payButtonId">Checkout Now</button>
  </body>
</html>
    <?php
      require_once ('../vendor/autoload.php');

      use com\realexpayments\hpp\sdk\domain\HppRequest;
      use com\realexpayments\hpp\sdk\RealexHpp;
      use com\realexpayments\hpp\sdk\RealexValidationException;
      use com\realexpayments\hpp\sdk\RealexException;

      var_dump("Request...");

      $hppRequest = ( new HppRequest() )
        ->addMerchantId( "merchant id" )
        ->addAccount( "internet" )
        ->addAmount( "1001" )
        ->addCurrency( "EUR" )
        ->addAutoSettleFlag( "1" );

      $realexHpp = new RealexHpp( "secret number" );

      try {
        $requestJson = $realexHpp->requestToJson($hppRequest);
        echo $requestJson;
        // here goes custom code
        return $requestJson;
      }
      catch (RealexValidationException $e) {
        return $e->getMessage();
      }
      catch (RealexException $e) {
        return $e->getMessage();
      }

    ?>
 <?php

  require_once ('../vendor/autoload.php');

  use com\realexpayments\hpp\sdk\domain\HppResponse;
  use com\realexpayments\hpp\sdk\RealexHpp;
  use com\realexpayments\hpp\sdk\RealexValidationException;
  use com\realexpayments\hpp\sdk\RealexException;

  $realexHpp = new RealexHpp("secret number");
  $responseJson = $_POST['hppResponse'];

  try {
    // create the response object
    $hppResponse = $realexHpp->responseFromJson($responseJson);
    $result = $hppResponse->getResult(); // 00
    $message = $hppResponse->getMessage(); // [ test system ] Authorised
    $authCode = $hppResponse->getAuthCode(); // 12345

    return $hppResponse;
  }
  catch (RealexValidationException $e) {
    return $e->getMessage();
  }
  catch (RealexException $e) {
    return $e->getMessage();
  }

?>

HPP灯箱演示
正文{背景色:lightsalmon;}
按钮{填充:10px 20px;边框颜色:#fff;}
//从服务器端SDK获取HPP JSON
$(文档).ready(函数(){
$.getJSON(“请求URL/”,函数(jsonFromServerSdk){
REALEXHPPP.setHppUrl('https://hpp.sandbox.addonpayments.com/pay');
RealexHpp.init(“payButtonId”、“responseUrl/”,jsonFromServerSdk);
});
});
现在结账
localhost/requestUrl/index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>HPP Lightbox Demo</title>
    <meta charset="UTF-8">
    <style>
      body { background-color: lightsalmon; }
      button { padding: 10px 20px; border-color: #fff; }
    </style>
    <script src="jquery-1.11.3.min.js"></script>
    <script src="rxp-js/dist/rxp-js.js"></script>
    <script>
      // get the HPP JSON from the server-side SDK
      $(document).ready(function () {
        $.getJSON("requestUrl/", function (jsonFromServerSdk) {
          RealexHpp.setHppUrl('https://hpp.sandbox.addonpayments.com/pay');
          RealexHpp.init("payButtonId", "responseUrl/", jsonFromServerSdk);
        });
      });
    </script>
  </head>
  <body>
    <button type="button" id="payButtonId">Checkout Now</button>
  </body>
</html>
    <?php
      require_once ('../vendor/autoload.php');

      use com\realexpayments\hpp\sdk\domain\HppRequest;
      use com\realexpayments\hpp\sdk\RealexHpp;
      use com\realexpayments\hpp\sdk\RealexValidationException;
      use com\realexpayments\hpp\sdk\RealexException;

      var_dump("Request...");

      $hppRequest = ( new HppRequest() )
        ->addMerchantId( "merchant id" )
        ->addAccount( "internet" )
        ->addAmount( "1001" )
        ->addCurrency( "EUR" )
        ->addAutoSettleFlag( "1" );

      $realexHpp = new RealexHpp( "secret number" );

      try {
        $requestJson = $realexHpp->requestToJson($hppRequest);
        echo $requestJson;
        // here goes custom code
        return $requestJson;
      }
      catch (RealexValidationException $e) {
        return $e->getMessage();
      }
      catch (RealexException $e) {
        return $e->getMessage();
      }

    ?>
 <?php

  require_once ('../vendor/autoload.php');

  use com\realexpayments\hpp\sdk\domain\HppResponse;
  use com\realexpayments\hpp\sdk\RealexHpp;
  use com\realexpayments\hpp\sdk\RealexValidationException;
  use com\realexpayments\hpp\sdk\RealexException;

  $realexHpp = new RealexHpp("secret number");
  $responseJson = $_POST['hppResponse'];

  try {
    // create the response object
    $hppResponse = $realexHpp->responseFromJson($responseJson);
    $result = $hppResponse->getResult(); // 00
    $message = $hppResponse->getMessage(); // [ test system ] Authorised
    $authCode = $hppResponse->getAuthCode(); // 12345

    return $hppResponse;
  }
  catch (RealexValidationException $e) {
    return $e->getMessage();
  }
  catch (RealexException $e) {
    return $e->getMessage();
  }

?>

localhost/responseUrl/index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>HPP Lightbox Demo</title>
    <meta charset="UTF-8">
    <style>
      body { background-color: lightsalmon; }
      button { padding: 10px 20px; border-color: #fff; }
    </style>
    <script src="jquery-1.11.3.min.js"></script>
    <script src="rxp-js/dist/rxp-js.js"></script>
    <script>
      // get the HPP JSON from the server-side SDK
      $(document).ready(function () {
        $.getJSON("requestUrl/", function (jsonFromServerSdk) {
          RealexHpp.setHppUrl('https://hpp.sandbox.addonpayments.com/pay');
          RealexHpp.init("payButtonId", "responseUrl/", jsonFromServerSdk);
        });
      });
    </script>
  </head>
  <body>
    <button type="button" id="payButtonId">Checkout Now</button>
  </body>
</html>
    <?php
      require_once ('../vendor/autoload.php');

      use com\realexpayments\hpp\sdk\domain\HppRequest;
      use com\realexpayments\hpp\sdk\RealexHpp;
      use com\realexpayments\hpp\sdk\RealexValidationException;
      use com\realexpayments\hpp\sdk\RealexException;

      var_dump("Request...");

      $hppRequest = ( new HppRequest() )
        ->addMerchantId( "merchant id" )
        ->addAccount( "internet" )
        ->addAmount( "1001" )
        ->addCurrency( "EUR" )
        ->addAutoSettleFlag( "1" );

      $realexHpp = new RealexHpp( "secret number" );

      try {
        $requestJson = $realexHpp->requestToJson($hppRequest);
        echo $requestJson;
        // here goes custom code
        return $requestJson;
      }
      catch (RealexValidationException $e) {
        return $e->getMessage();
      }
      catch (RealexException $e) {
        return $e->getMessage();
      }

    ?>
 <?php

  require_once ('../vendor/autoload.php');

  use com\realexpayments\hpp\sdk\domain\HppResponse;
  use com\realexpayments\hpp\sdk\RealexHpp;
  use com\realexpayments\hpp\sdk\RealexValidationException;
  use com\realexpayments\hpp\sdk\RealexException;

  $realexHpp = new RealexHpp("secret number");
  $responseJson = $_POST['hppResponse'];

  try {
    // create the response object
    $hppResponse = $realexHpp->responseFromJson($responseJson);
    $result = $hppResponse->getResult(); // 00
    $message = $hppResponse->getMessage(); // [ test system ] Authorised
    $authCode = $hppResponse->getAuthCode(); // 12345

    return $hppResponse;
  }
  catch (RealexValidationException $e) {
    return $e->getMessage();
  }
  catch (RealexException $e) {
    return $e->getMessage();
  }

?>


谢谢你的提问。JS库需要一个JSON字符串(或者更准确地说,jQuery是)。所以它不会接受:

string(10)“请求…”

在实际请求JSON字符串开始之前。您的请求端点应该传递给JS库的内容是:

{“商户ID”:“bWVyY2hhbnRJZA==”,…等}

最好的

塞恩


全球支付

我现在觉得自己像个白痴。。。因为我包含的var_转储,所以它不起作用。。。非常感谢你的帮助!我与支持人员讨论了这个问题,他们不知道如何使用代码,也不知道如何帮助我。真的,谢谢你。