如果要调试 IPN 代码,则需要以某种方式公开使用服务器。因此PayPal提交请求后,可以在以后异步回发到服务器。通常我认为这很快(在15秒内),但它可能会更长。
我发现公开开发服务器的一种简单方法是使用此列表中的隧道解决方案,例如boringproxy。这允许您像往常一样继续在 IDE 中开发,在调试模式下运行代码。当PayPal回发到终结点时,可以直接在 IDE 中对其进行调试。这些服务为您总结了这一点,因此无需任何技术知识即可轻松完成。
根据我的理解,这是使用“反向SSH隧道”完成的,该隧道允许通过已经公开的服务器代理您的网站来公开。请注意,在执行此操作之前,您必须考虑不仅PayPal可以在公开您的网站后访问您的网站,而且任何人都可以,因此请首先考虑这一点。
另外,如果你有自己的面向公众的域名,并且不介意使用SSH在终端中玩,你可以做一些类似这个shell脚本的事情(从这个要点复制))
# 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"