Class: ChargebeeRails::WebhooksController

Inherits:
ActionController::Base
  • Object
show all
Includes:
WebhookHandler
Defined in:
app/controllers/chargebee_rails/webhooks_controller.rb

Instance Method Summary collapse

Methods included from WebhookHandler

#card_added, #card_deleted, #card_expired, #card_expiry_reminder, #card_updated, #credit_note_created, #credit_note_deleted, #credit_note_updated, #customer_changed, #customer_created, #customer_deleted, #event, #handle, #invoice_deleted, #invoice_generated, #invoice_updated, #payment_failed, #payment_initiated, #payment_refunded, #payment_succeeded, #pending_invoice_created, #refund_initiated, #subscription_activated, #subscription_cancellation_reminder, #subscription_cancellation_scheduled, #subscription_cancelled, #subscription_changed, #subscription_created, #subscription_deleted, #subscription_reactivated, #subscription_renewal_reminder, #subscription_renewed, #subscription_scheduled_cancellation_removed, #subscription_shipping_address_updated, #subscription_started, #subscription_trial_end_reminder, #transaction_created, #transaction_deleted, #transaction_updated

Instance Method Details

#handle_eventObject

Handle ChargeBee webhook events From the post request received from chargebee, the event for which the webhook is triggered is found from the id parameter sent. The event is then handled by the WebhookHandler module.

  • Raises :

    • ChargebeeRails::Error -> If event is not valid or if event unprocessable



12
13
14
15
16
17
18
19
# File 'app/controllers/chargebee_rails/webhooks_controller.rb', line 12

def handle_event
  event = ChargeBee::Event.retrieve(params[:id]).event
  handle(event)
  head :ok
  rescue ChargebeeRails::Error => e
    log_errors(e)
    head :internal_server_error
end