不能 return 200 到 Stripe Webhook

Can't return 200 to Stripe Webhook

我正在尝试测试从 Stripe 接收 JSON webhooks。

我已阅读:

Stripe Webhook on Rails

https://stripe.com/docs/webhooks

他们需要 200 状态响应才能确认收到。

我想在继续处理 JSON 之前解决这个问题。

路线

post 'webhook'       => 'web_hook#webhook'

控制器

Stripe.api_key = "sk_test_whatsupbuttercup"
class WebHookController < ApplicationController
  protect_from_forgery :except => :webhook

  def webhook
    render status: 200
  end

end

使用此设置,当我测试 webhook 时,Stripe 收到 500 错误。

如果你只想return一个状态使用

head :ok

而不是渲染。 :ok 是 200 的对应符号,但您也可以将其与状态代码本身一起使用。

head 200

可在此处找到代码和相应符号的完整列表...

http://guides.rubyonrails.org/layouts_and_rendering.html

每当您收到 500 错误(或任何时候您对您的应用程序的实际行为方式感到困惑)时,您应该查看您的日志。在这种情况下,您可能会发现存在 ActionView::MissingTemplate 错误,因为您正在 rendering 但未包含任何要呈现的内容。