0

我有一个表单,其中包含用户填写的有关课程的信息,并包含重定向到 PayPal 的 payflowlink 的付款信息。在我添加 payflowlink 之前,我将表单信息发布到同一页面并将课程信息通过电子邮件发送到电子邮件地址。现在,将表单的操作设置为 payflowlink,类信息不会通过电子邮件发送给我,但付款信息确实会传递给 payflowlink。

我想也许重定向页面可以使用<meta http-equiv="refresh" content="0; url=https://payflowlink.paypal.com">,但 $_POST 没有传递给 payflowlink。如何获取从重定向页面传递到 payflowlink 页面的 $_POST 信息?

现在我有表单页面将信息发布到重定向页面,重定向页面通过电子邮件发送信息,但 $POST 没有传递到 payflowlink。payflowlink 页面由 PayPal 托管。

<!DOCTYPE html>
<html lang="en">

<head>
  <title>Registration</title>
  <meta http-equiv="refresh" content="0; url=https://payflowlink.paypal.com">

</head>

<body>
  <?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (isset($_POST["name"])) {
    $name = $_POST['name'];
    $EmailBody = "Parent's Name: ".$_POST["name"]."<br>";
  }

    $subject = "Registration";
    SendMail($email, $EmailBody, $subject);
    echo ($EmailBody);
}

?>

    <main id="main">
      <h1>Registration Form</h1>

      <p><a href="https://payflowlink.paypal.com">Click this link if you are not redirected</a></p>

    </main>

  </body>

</html>
4

2 回答 2

0

您应该小心支付网关。您不应该让用户直接通过您的服务器发布信用卡号等敏感数据。您需要将信息直接传递给网关,网关将进行处理,然后重定向回您的站点并传递安全令牌。

https://developer.paypal.com/docs/classic/payflow/integration-guide

但是,当您第一次从网关请求安全令牌时,您可以发送电子邮件。您还可以将按钮 onclick 事件附加到用户单击该按钮以通过 Ajax 请求重定向到服务器以发送电子邮件,然后在从服务器返回响应时重定向用户。

于 2017-04-16T19:25:31.483 回答
-1
  <?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (isset($_POST["name"])) {
    $name = $_POST['name'];
    $EmailBody = "Parent's Name: ".$_POST["name"]."<br>";

    $subject = "Registration";
    SendMail($email, $EmailBody, $subject);
    //echo ($EmailBody);

    /* PAYPAL implementation here, instead header(); */
    header('Location: https://payflowlink.paypal.com');
  }


}

?>


<!DOCTYPE html>
<html lang="en">

<head>
  <title>Registration</title>

</head>

<body>

<main id="main">
  <h1>Registration Form</h1>

  <p><a href="https://payflowlink.paypal.com">Click this link if you are not redirected</a></p>

</main>

  </body>

</html>

一件事是,在重定向之前你不能回显。但是您已经收到 $Emailbody 作为电子邮件。

更新

要将 $_POST 信息传递到 payflowlink 页面,您应该遵循相关的 API 文档。

上面的示例仅适用于基本重定向。

于 2017-04-16T19:23:23.650 回答