Laravel Paypal IPN with localtunnel randomly 400 Bad request

Laravel Paypal IPN with localtunnel randomly 400 Bad request

我使用在 Paypal.com 找到的 PHP 实现。

I 运行 php artisan serve 启动服务器。

然后我使用 localtunnel 使服务器可以通过 paypal 访问。

问题: 我收到一条 ipn 消息,这条消息被发送回 paypal 并且比:

有时消息会得到 VERIFIED 有时我会收到

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>

如果我从 Paypal 重新发送 IPN,我什么也没有收到,只有当我第一次付款时,我认为问题是我通过 localtunnel 接收消息并从我的 laravel 后端发回,所以如果我做对了,就会涉及到 2 个不同的服务器。

我怎样才能使它 100% 工作,为什么它有时甚至可以工作,如果方法可能是错误的。

在沙盒模式下测试IPN是否会出现这个400错误?如果是这样,则问题与 PayPal 最近将沙箱迁移到云有关。现在,将沙箱回发验证主机名从 ipnpb 更改为 www:

https://www.sandbox.paypal.com/cgi-bin/webscr