【问题标题】:Paypal ipn post not arrivingPaypal ipn 邮件未到
【发布时间】:2013-07-16 14:35:52
【问题描述】:

我在使用 Paypal IPN 时遇到问题。我已经设置了一个链接回脚本的购买按钮(ipn.php 不可避免)并测试它是否正常工作,其中唯一的代码如下:

$from = "Guide Test Page";
$to = "me@btinternet.com";
$subject = "VERIFIED IPN";
$message = "Post: ".serialize($_POST)."<br>";
$headers = "From:" . $from;

mail($to, $subject, $message, $headers);

echo "Mail Sent";

所以它会向我发送一封电子邮件,希望包含所有 Paypal Post 变量。当我通过“购买”时发生的情况是重定向到 ipn.php 有效,我在屏幕上看到文本“已发送邮件”并且电子邮件到达。但是,serialise($_POST) 会产生 a:0:{}

谁能建议发生了什么?

【问题讨论】:

  • 始终标记您使用的适当语言
  • 我认为您的返回 url 与 ipn 混淆,ipn 被人类看不到的 paypal 机器人击中,返回 url 是人类买家返回您网站的地方
  • ipn 通过 url 变量发送数据,所以使用 $_GET 而不是 $_POST

标签: php paypal-ipn


【解决方案1】:

我认为您根本不会在屏幕上看到“已发送邮件”,因为在您提交交易(可能是即时的,也可能是几秒)。您是否正在使用该 IPN.PHP 作为您的返回 URL?

【讨论】:

  • 谢谢 - 这正是我正在做的,我现在已经更正了。但是我仍然有问题。我现在已经设置了一个应该正确响应 IPN 消息的脚本,并相应地更改了 Paypal 帐户中的 IPN 通知 URL。但是,Paypal 仍在将 IPN 消息发送到旧的通知 URL(我可以通过它的响应来判断)。为什么会这样?当详细信息发生变化时,Paypal 是否需要几个小时/几天来更新其服务器?
  • 此外,我现在已经让 Paypal 发送到正确的通知 url,方法是使用 name="notify_url" 作为隐藏输入在按钮代码中覆盖它,现在它似乎正在正确响应 -到目前为止万岁!
猜你喜欢
  • 2013-04-21
  • 2018-04-15
  • 2015-07-11
  • 2013-09-30
  • 1970-01-01
  • 2016-05-27
  • 2015-07-21
  • 2014-05-22
  • 2017-05-02
相关资源
最近更新 更多