无法将 200 返回给 Stripe Webhook

sof*_*ode 3 ruby-on-rails http-status-codes webhooks stripe-payments

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

我读过了:

Rails 上的 Stripe Webhook

https://stripe.com/docs/webhooks

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

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

路线

post 'webhook'       => 'web_hook#webhook'
Run Code Online (Sandbox Code Playgroud)

控制器

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

  def webhook
    render status: 200
  end

end
Run Code Online (Sandbox Code Playgroud)

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

Ste*_*zyn 5

如果您只想返回状态使用

head :ok
Run Code Online (Sandbox Code Playgroud)

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

head 200
Run Code Online (Sandbox Code Playgroud)

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

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