gpt4 book ai didi

php - 通过 paypal 重定向时无法传递 POST 数据

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:36 25 4
gpt4 key购买 nike

我建立了一个网站,客户可以在其中输入他们的信息(姓名、地址等),并希望他们能够通过 paypal 使用信用卡付款。这很好用。我已经设置了 Paypal 即时付款通知并通过 paypal 将其设置为将客户重定向到我的页面。除了数据没有传递并保存到我的 SQL 数据库外,一切正常。我知道将数据插入数据库的代码可以正常工作。问题是数据没有传递到该页面,因为 Paypal 页面介于两者之间。

这是我的php

if (isset($_POST['child_name'])
&& isset($_POST['age'])
&& isset($_POST['hometown'])
&& isset($_POST['boy_girl'])
&& isset($_POST['email'])
&& isset($_POST['first_name'])
&& isset($_POST['last_name'])
&& isset($_POST['address1'])
&& isset($_POST['address2'])
&& isset($_POST['city'])
&& isset($_POST['state'])
&& isset($_POST['zip'])
&& isset($_POST['country'])) {
$child_name = $_POST['child_name'];
$age = $_POST['age'];
$hometown = $_POST['hometown'];
$boy_girl = $_POST['boy_girl'];
$email = $_POST['email'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$address1 = $_POST['address1'];
$address2 = $_POST['address2'];
$city = $_POST['city'];
$state = $_POST['state'];
$zip = $_POST['zip'];
$country = $_POST['country'];
}

这是 HTML

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="NT2YC6LP7SWBE">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<input type="hidden" name="child_name" id="child_name" value ="<? echo $child_name; ?>" maxlength="20"/>
<input type="hidden" name="age" id="age" value ="<? echo $age; ?>" maxlength="4"/>
<input type="hidden" name="hometown" id="hometown" value ="<? echo $hometown; ?>" maxlength="32"/>
<input type="hidden" name="boy_girl" id="boy_girl" value ="<? echo $boy_girl; ?>" maxlength="4"/>
<input type="hidden" name="first_name" id="first_name" value ="<? echo $first_name; ?>" maxlength="32"/>
<input type="hidden" name="last_name" id="last_name" value ="<? echo $last_name; ?>" maxlength="32"/>
<input type="hidden" name="email" id="email" value ="<? echo $email; ?>" maxlength="64"/>
<input type="hidden" name="address1" id="address1" value ="<? echo $address1; ?>" maxlength="64"/>
<input type="hidden" name="address2" id="address2" value ="<? echo $address2; ?>" maxlength="32"/>
<input type="hidden" name="city" id="city" value ="<? echo $city; ?>" maxlength="32"/>
<input type="hidden" name="state" id="state" value ="<? echo $state; ?>" maxlength="20"/>
<input type="hidden" name="zip" id="zip" value ="<? echo $zip; ?>" maxlength="10"/>
<input type="hidden" name="country" id="country" value ="<? echo $country; ?>" maxlength="32"/>
<input type="hidden" name="payment_type" id="payment_type" value ="paypal" maxlength="6"/>
<input type="hidden" name="paid" id="paid" value ="yes" maxlength="3"/>
<input type="hidden" name="mailed" id="mailed" value ="no" maxlength="3"/>
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

我只是采用了 paypal 给我的表格并添加了隐藏的输入。这在另一个页面上工作得很好,但那是因为 action 属性直接指向将插入数据的页面。这里的操作将它们发送到 paypal 的站点,并且数据永远不会进入我的。我该如何调整?

最佳答案

你不能这样做,因为流程。两种解决方案:

  • 尝试使用分隔符将所有信息存储在 Paypal 的 custom 字段(255 个字符)

  • 使用唯一键将自定义信息存储在数据库中,并将唯一键存储在 custom 字段中,以便稍后使用 IPN 响应检索它

在收到 IPN 响应之前,您不应该做任何与数据库相关的事情,这就是 IPN 的意义所在。您在这里描述的是 PDT,它依赖于客户在付款过程后返回您的页面,而这种情况并不总是发生。

关于php - 通过 paypal 重定向时无法传递 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13077049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com