我有一个表单,其中包含用户填写的有关课程的信息,并包含重定向到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>
答案 0 :(得分:0)
您应该小心使用Payment网关。您不应该让用户直接通过您的服务器发布信用卡号等敏感数据。您需要将信息直接传递给网关,网关将进行处理,然后重定向回您的网站并传递安全令牌。
https://developer.paypal.com/docs/classic/payflow/integration-guide
但是,当您第一次从网关请求安全令牌时,您可以发送电子邮件。您还可以将按钮onclick事件附加到按钮,用户可以单击该按钮以使用Ajax请求重定向到服务器以发送电子邮件,然后从服务器获取响应,重定向用户。
答案 1 :(得分:-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文档。
上面的示例仅适用于基本重定向。