Class: Payflow::WebhookJob

Inherits:
ApplicationJob show all
Defined in:
app/jobs/payflow/webhook_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(provider:, payload:) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/jobs/payflow/webhook_job.rb', line 7

def perform(provider:, payload:)
  event = WebhookEvent.create!(
    provider: provider.to_s,
    payload: payload,
    status: :pending
  )

  Webhooks::Dispatcher.new(webhook_event: event).dispatch!
  event.update!(status: :processed, processed_at: Time.current)
rescue StandardError
  event&.update!(status: :failed)
  raise
end