无法将200返回给Stripe Webhook

时间:2015-01-30 20:48:11

标签: ruby-on-rails stripe-payments http-status-codes webhooks

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

我读过:

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错误。

2 个答案:

答案 0 :(得分:3)

如果您只想返回状态,请使用

head :ok

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

head 200

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

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

答案 1 :(得分:1)

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