Class: Vpago::PaymentProcessorJob

Inherits:
ApplicationUniqueJob show all
Defined in:
app/jobs/vpago/payment_processor_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(options) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/jobs/vpago/payment_processor_job.rb', line 6

def perform(options)
  payment = Spree::Payment.find_by!(number: options[:payment_number])

  VpagoLogger.log(
    label: 'Vpago::PaymentProcessorJob#perform',
    data: {
      payment_number: payment.number,
      order_number: payment.order.number,
      payment_method_type: payment.payment_method.type,
      payment_method_name: payment.payment_method.name
    }
  ) { Vpago::PaymentProcessor.new(payment: payment).call }
rescue StandardError => e
  VpagoLogger.error(
    label: 'Vpago::PaymentProcessorJob#perform failed',
    data: { payment_number: options[:payment_number], error_class: e.class.name, error_message: e.message, backtrace: e.backtrace&.first(5) }
  )
  raise
end