Sha256: 65f5923fa3ca421cf593961d4d4e2335213ca1302e4dc656d42f77335c3bad1a

Contents?: true

Size: 969 Bytes

Versions: 17

Compression:

Stored size: 969 Bytes

Contents

# frozen_string_literal: true

module SolidusPaypalCommercePlatform
  class WebhookJob < SolidusPaypalCommercePlatform::ApplicationJob
    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
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
solidus_paypal_commerce_platform-1.0.3 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-1.0.2 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.7.1 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-1.0.1 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-1.0.0 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.7.0 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-1.0.0.beta3 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-1.0.0.beta2 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-1.0.0.beta1 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.6.0 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.5.0 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.4.0 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.3.2 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.3.1 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.3.0 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.2.2 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb
solidus_paypal_commerce_platform-0.2.1 app/jobs/solidus_paypal_commerce_platform/webhook_job.rb