如果您想调试您的 IPN 代码,您需要以某种方式公开您的服务器。这样 PayPal 可以在您提交请求后稍后异步回发到您的服务器。通常我认为这很快(在 15 秒内),但可能会更长。
我发现使开发服务器公开可用的一种简单方法是使用此列表中的隧道解决方案,例如boringproxy。这使您可以像往常一样在 IDE 中继续开发,在调试模式下运行代码。当 PayPal 回发到您的端点时,您可以在 IDE 中对其进行调试。这些服务为您完成了这项工作,因此无需任何技术知识即可轻松完成。
据我了解,这是使用“反向 SSH 隧道”完成的,它允许您的网站通过已经公开可用的服务器代理它来公开。请注意,在您执行此操作之前,您必须考虑到一旦您的网站公开,不仅 PayPal 可以访问您的网站,任何人都可以访问,因此请首先考虑到这一点。
此外,如果您有自己的面向公众的域并且不介意使用 SSH 在终端中玩耍,那么您可以执行类似这个 shell 脚本的操作(从这个 gist 复制)
# Usage: show <local-port> <subdomain>
function show() {
DOMAIN=".yourdomain.com"
REMOTE="$2$DOMAIN"
ssh -tR 1080:127.0.0.1:$1 vps "sudo ssh -Nl \$USER -L $REMOTE:80:127.0.0.1:1080 localhost"
}
要使其按上述方式工作,您需要将以下内容放入您的 ~/.ssh/config 文件中:
Host vps
HostName <server address>
User <server username>
如果您不想(或不能)这样做,那么以下方法将起作用:
SERVERUSER="<server username>"
ssh -l $SERVERUSER -tR 1080:127.0.0.1:$1 <server address> "sudo ssh -Nl \$SERVERUSER -L $REMOTE:80:127.0.0.1:1080 localhost"