Class: SolidusPaypalCommercePlatform::WebhookJob

Inherits:
ApplicationJob
  • Object
show all
Defined in:
app/jobs/solidus_paypal_commerce_platform/webhook_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(payload) ⇒ Object



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

def perform(payload)
  case payload["resource_type"]
  when "checkout-order"
    payment_source = PaymentSource.find_by!(paypal_order_id: payload.dig("resource", "id"))
    payment = ::Spree::Payment.where(source: payment_source).last!
    payment.log_entries.create!(details: payload.to_yaml)
  when "capture"
    payment_source = PaymentSource.find_by!(capture_id: payload.dig("resource", "id"))
    payment = ::Spree::Payment.where(source: payment_source).last!
    payment.log_entries.create!(details: payload.to_yaml)
  when "refund"
    payment_source = PaymentSource.find_by!(refund_id: payload.dig("resource", "id"))
    payment = ::Spree::Payment.where(source: payment_source).last!
    payment.log_entries.create!(details: payload.to_yaml)
  end
end