【问题标题】:Shopify Webhooks are not working in laravelShopify Webhooks 在 laravel 中不起作用
【发布时间】:2018-12-13 09:52:56
【问题描述】:

我正在 laravel 中开发 shopify 应用程序。我在获取应用程序安装时在 shopify 商店中添加的 shopify 网络钩子的响应时遇到问题。我在 web.php 中创建了一个路由:

Route::any('/uninstall','uninstallController@index');

但我无法在 Controller 中得到响应。

另一方面,当我在公共文件夹中创建一个文件并将其添加为目标文件时,我得到了我的 web-hook 的响应。

为什么我在控制器中没有收到我的 web-hook 的响应? 我也试图通过创建函数来获得路由响应,但没有得到任何东西。

【问题讨论】:

  • 你有uninstallController吗?不是叫UninstallController吗? index() 方法在您的UninstallController 中是什么样的?您如何测试页面?
  • @ThomasEdwards 是的,我已经在 laravel 中创建了 uninstallController,并且 index() 是我的函数中的方法,我试图使用钩子响应编写日志文件,但我还没有得到任何东西。
  • 你能告诉我们那个代码吗?

标签: php laravel shopify shopify-app


【解决方案1】:

这可能有两个主要原因。

1) 无法成功创建 Webhook。要检查这个请使用 API 调用 获取请求

GET /admin/api/2019-10/webhooks.json

如果您没有在响应中获得所需的 webhook,请创建它

2) 在 Laravel 的开发中,你的 webhook 路由需要绕过 VerifyCsrfToken 中间件 因为 Laravel 默认不允许和阻止跨站点请求。要这样做,请按照以下步骤操作。

转到 app/http/middleware/VerifyCsrfToken 并在 $except 数组中添加您的路线。

例如:

protected $except = [
  '/app/uninstalled-webhook-shopify/*',
  '/products/create-webhook-shopify/*',
];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多