我正在我的网站中实施 instamojo 付款方式。我可以使用 localhost URL 作为 Webhook URL 来测试该过程吗?
5 回答
我来自 Instamojo。
您不能使用本地 URL。这是因为 webhook 请求是从我们的服务器发出的 POST 请求。因此,我们可以向其发出这些请求的唯一 URL 将是公开可用的 URL。
出于测试目的,我建议使用RequestBin。您可以创建一个新的 bin 并将该 bin 的 URL 粘贴到 Instamojo 链接的 webhook URL 字段中。?inspect
这将为您提供一个可由我们的服务器访问的链接,您可以通过在 URL 末尾附加来检查对该链接的 POST 请求。
可以使用诸如localtunnel
.
npm
需要安装本地隧道。[如何安装node和npm]安装 本地隧道
假设您在端口 8000 上运行本地服务器,在新的终端窗口中,执行以下命令:
lt --port 8000
它会显示如下输出:
your url is: https://whawgpctcs.localtunnel.me
这是一个临时的webhook URL,它会将发送到的每个 HTTPS 请求转发到https://whawgpctcs.localtunnel.me
在 port 上运行的本地服务器8000
。
将此临时 url 粘贴到 Instamojo 的 webhook 字段中并继续测试。
完成测试后,请记住从 Instamojo 中删除临时 Webhook URL
只要lt --port 8000
命令(和您的 Internet 连接)处于活动状态,临时 Webhook URL 就有效。
我怀疑您是否可以使用本地主机 URL,但您可以创建新链接,如下所示 https://www.instamojo.com/api/1.1/links/
我们不能使用 localhost 或作为 Webhook URL。如果使用,以下错误将显示“域名不应为“localhost”或“127.0.0.1””。所以它必须是一个实时 URL。
您不能使用 localhost URL 作为 webhook URL 来测试该过程。但是你可以简单地绕过它,打开 hosts 文件 from C:\Windows\System32\Drivers\etc\hosts
At the end of the line write
127.0.0.1 yourname.com
并使用 yourname.com 访问 localhost。只需在 PHP 文件中使用 yourname.com/your-location 更改 localhost/your-location url。