2016-11-02 2 views
0

У меня есть приложение rails, которое интегрировано с Stripe, я использую gem Stripe_events для обработки webhooks.Rails 4, интеграция полосы, ошибка Webhook

Однако, когда получен webhook, я получаю следующую ошибку.

NoMethodError - undefined method `[]' for ActiveSupport::Notifications::Fanout::Subscribers::Timed:0x007fde814aaee0 

stripe_event (1.5.0) lib/stripe_event.rb:28:in `instrument' 
stripe_event (1.5.0) app/controllers/stripe_event/webhook_controller.rb:12:in `event' 
actionpack (4.2.5.2) lib/action_controller/metal/implicit_render.rb:4:in `send_action' 

Кто-нибудь знает, на что это имеет отношение?

Вот мой stripe_events.rb файл

StripeEvent.event_retriever = lambda do |params| 
    return nil if StripeWebhook.exists?(stripe_id: params[:id]) 
    StripeWebhook.create!(stripe_id: params[:id]) 
    Stripe::Event.retrieve(params[:id]) 
end 

StripeEvent.configure do |events| 
    events.subscribe 'customer.subscription.created' do |event| 
    puts 'testing 123' 
    end 
end 

ответ

0

мне удалось решить эту проблему ...

Оказывается, я был missng некоторый код # конфиг/Инициализаторы/stripe.rb

StripeEvent.configure do |events| 
    events.subscribe 'charge.failed' do |event| 
    # Define subscriber behavior based on the event object 
    event.class  #=> Stripe::Event 
    event.type  #=> "charge.failed" 
    event.data.object #=> #<Stripe::Charge:0x3fcb34c115f8> 
    end 

    events.all do |event| 
    # Handle all event types - logging, etc. 
    end 
end