【问题标题】:Can't access the $_POST variables from Skrill无法从 Skrill 访问 $_POST 变量
【发布时间】:2015-09-25 05:03:47
【问题描述】:

我正在尝试将 Skrill 支付网关集成到我的网站。但成功付款后,我无法从我的 status_url 访问 skrill $_POST 变量。 因此,我无法从我的网站捕获用户详细信息。

  <form action='https://www.moneybookers.com/app/payment.pl' METHOD='POST'><p class="text-center"> 
                         <input type="hidden" name="amount" value="0.10">

                        <input type="hidden" name="pay_to_email" value="mygmail@gmail.com"/>
                        <input type="hidden" name="status_url" value="http://website.com/pages/verify.php"/> 
                         <input type="hidden" name="status_url2" value="mygmail@gmail.com"/>
                        <input type="hidden" name="return_url" value="http://website.com/pages/marketplace.php"/>
                        <input type="hidden" name="language" value="EN"/>
                        <input type="hidden" name="amount" id="amounttopay" />
                        <input type="hidden" name="currency" value="USD"/>
                        <input type="hidden" name="detail1_description" value="my desc"/>
                        <input type="hidden" name="detail1_text" value="Buy product"/>
                        <input type="submit" class="btn btn-success btn-sm btn-block" value="Pay!"/>

但我无法访问 verify.php 中的 Skrill 变量

 <?php
    $MBEmail = "mygmail@gmail.com";
    //This if statement is not working since there is no $_POST variables from skrill.
    if ($_POST['status'] == 2 && $_POST['pay_to_email'] == $MBEmail) 
    {
        // Valid transaction.
         //update the database.
    }
    else
    {
        // Invalid transaction. Bail out
        exit;
    }
    ?>

【问题讨论】:

  • 寻找字符串值 2 已经更好了:将 $_POST['status'] == 2 更改为 $_POST['status'] == '2' 。如果你在 verify.php 中做一个print_r($_POST),你会看到什么?
  • 我无法打印出变量,因为 skrill 正在发布到 verify.php 页面并在发布后重定向到 return_url,我想。
  • 找到了一个类似的帖子。但没有得到答复。 [stackoverflow.com/questions/8688704/…
  • 有什么解决办法吗?

标签: php integration payment-gateway payment


【解决方案1】:

要从网关捕获返回的状态,您需要在下面正确提及返回 url,即在您的网站上

<input type="hidden" name="return_url" value="http://website.com/pages/marketplace.php"/>

尝试查看文档,

https://www.skrill.com/fileadmin/templates/main/res/material/documents/pdf/getting-started/skrill-integration-manual-en.pdf

【讨论】:

  • 但是,我认为它不是我想用来获取付款详细信息的returned_url。我认为它的 status_url。不是吗?
  • 是的,它是 status_url,而 status_url2 是在付款过程完成后发布交易详细信息的 URL。返回 url 是您可以在您的网站上捕获 status_url 的位置或文件。
  • 我不太明白。所以我确实想在 return_url 而不是 status_url 中监听变量?
  • 我在 return_url 中尝试了 print_r($_POST)。但它是空的。
  • return_url 应该是您网站中的 url,而不是垃圾
猜你喜欢
  • 1970-01-01
  • 2015-09-16
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多