【问题标题】:Stripe webhook test error 302条纹 webhook 测试错误 302
【发布时间】:2018-04-10 19:02:15
【问题描述】:

我正在尝试测试条带 webhook 以结束订阅试用。当我将测试发送到我的 webhook 接收路由时,我得到error 302。我正在使用一个名为stripe-webhook-middleware 的中间件。我的路线如下所示:

app.post('/stripe/events',
    stripeWebhook.middleware,
    stripeEvents
  );

我知道这条路线与他们的文档所说的不符,但我确实是直接从包创建者那里得到的。所以它应该可以工作,然后我从包中得到stripe-events.js。我只是在路由中添加console.log 以找到我需要的正确数据。

我尝试了不同的 webhook 并且都给出了相同的错误,它必须是我的设置方式。我还是希望。

编辑**

我还做了一个新路由,它只是一个带有console.log 的基本发布路由,但仍然出现 302 错误。可能的原因是什么?由于我不小心泄露了凭据,我无法发布 github。

【问题讨论】:

  • A 302 是重定向,您的端点重定向到哪里?这可能有助于解决这个问题?最坏的情况尝试使用 curl 向您的端点发出请求 curl -IvL http://localhost:4000/stripe/events
  • @duck 检查我发布的答案。它解释了正在发生的事情。我不在本地主机上,而是在云开发环境上。
  • 太棒了,很高兴你解决了这个问题!

标签: node.js express stripe-payments webhooks


【解决方案1】:

我正在/正在使用 cloud9.io 作为我的开发环境,并且我的测试站点是私有的。这导致条纹需要登录才能做任何事情。我把它公开了,现在它可以工作了。我完全忘记了必须登录才能查看该站点,因为当我访问该站点时,我总是登录到 Cloud 9。如果您收到 302 错误,请确保您无需登录即可到达该路线。

【讨论】:

    【解决方案2】:

    以防万一有人在 Codeigniter 3 中看到这个 302 错误,我的 webhook 路由指向一个订阅控制器,如果用户未登录和授权,该控制器总是退出构造函数 - 所以我将该方法移至我的 Home 控制器(用于注册、登录等)因此:

    $route['webhook']['post'] = 'home/webhook';
    

    302 错误消失了。我希望这对疲倦的 CI 开发人员有所帮助。

    【讨论】:

      【解决方案3】:

      万一有人收到 dJango 的这个错误,我的 webhook 路由指向一个语言重定向。您可以使用curl -IvL http://localhost:8000/webhooks/stripe 进行调查,如上面建议的@duck

      这是我的输出:

      HTTP/1.1 302 Found
      ...
      * Issue another request to this URL: 'http://localhost:8000/en/webhooks/stripe/'
      ...
      

      您可以在输出中看到重定向的 URL。

      所以,当我让 Stripe CLI 监听该 URL 时,它可以工作:

      stripe listen --forward-to localhost:8000/en/webhooks/stripe/
      

      【讨论】:

        猜你喜欢
        • 2013-12-02
        • 2017-02-09
        • 2016-05-15
        • 2022-01-13
        • 2021-04-03
        • 2016-03-09
        • 2016-03-07
        • 2016-09-12
        • 1970-01-01
        相关资源
        最近更新 更多