gpt4 book ai didi

php - 我可以从 localhost 测试 paypal api

转载 作者:IT王子 更新时间:2023-10-28 23:57:32 25 4
gpt4 key购买 nike

更新 1:

根据 Using PayPal's Instant Payment Notification with PHP 上的本教程, 除非打开某些路由器端口,否则 PayPal 无法访问本地托管的网站。这是因为该网站是关于 IPN 的还是所有 PayPal API 都是如此?

原始问题:

在我的笔记本电脑上,我有一个 LAMP 环境设置,当我使用 http://localhost 在上线之前创建网站时。

对于一个新项目,我需要使用 PayPal API。如果我将笔记本电脑连接到互联网,是否可以使用 localhost 测试 PayPal API?还是我必须将我的网站上传到其他地方的 LAMP 主机?

你可能在想,多么愚蠢的问题,试试看它是否有效。我已经尝试过了,但它不起作用,我想在继续下一步之前排除这个问题。

最佳答案

如果您想调试您的 IPN 代码,您需要以某种方式公开您的服务器。这样 PayPal 可以在您提交请求后稍后异步回发到您的服务器。通常我认为这很快(15 秒内),但可能会更长。

我发现让开发服务器公开可用的一种简单方法是使用 a tunneling solution from this list ,如 boringproxy .这使您可以像往常一样在 IDE 中继续开发,在 Debug模式下运行代码。当 PayPal 回发到您的端点时,您可以在 IDE 中对其进行调试。这些服务为您完成了这项工作,因此无需任何技术知识即可轻松完成。

据我了解,这是使用“反向 SSH 隧道”完成的,该隧道允许您的网站通过已公开可用的服务器代理来公开。请注意,在您执行此操作之前,您必须考虑到,一旦您的网站公开,不仅 PayPal 可以访问您的网站,任何人都可以,所以请先考虑到这一点。

另外,如果您有自己的公共(public)域并且不介意在终端中使用 SSH,您可以执行类似这个 shell 脚本 (copied from this 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"

关于php - 我可以从 localhost 测试 paypal api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5510995/

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