Невозможно вернуть 200 в Stripe Webhook

Я пытаюсь протестировать получение веб-перехватчиков JSON от Stripe.

Я прочитал:

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

При такой настройке, когда я тестирую веб-перехватчик, Stripe получает ошибку 500.


person softcode    schedule 30.01.2015    source источник


Ответы (2)


Если вы хотите вернуть только статус, используйте

head :ok

Вместо рендера. :ok - соответствующий символ для 200, но вы также можете использовать его с самим кодом состояния.

head 200

Полный список кодов и соответствующих символов можно найти здесь ...

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

person SteveTurczyn    schedule 30.01.2015
comment
Спасибо за быстрый ответ. На самом деле они просят 200 ... Я обновил свой ответ, возможно, вы захотите обновить свой. @SteveTurczyn - person softcode; 31.01.2015

Каждый раз, когда вы получаете ошибку 500 (или каждый раз, когда вы не понимаете, как ваше приложение ведет себя на самом деле), вы должны смотреть в свои журналы. В этом случае вы, вероятно, обнаружите, что есть ActionView::MissingTemplate ошибка, потому что вы render обрабатываете, но не включаете ничего для рендеринга.

person smathy    schedule 30.01.2015