Sha256: 26f6c93687a0a28e3da6e96cb95860f63baa0c0b99098f3527fd1ae9562692dd

Contents?: true

Size: 620 Bytes

Versions: 16

Compression:

Stored size: 620 Bytes

Contents

module Pay
  module Paddle
    module Webhooks
      class SubscriptionPaymentRefunded
        def call(event)
          charge = Pay.charge_model.find_by(processor: :paddle, processor_id: event["subscription_payment_id"])
          return unless charge.present?

          charge.update(amount_refunded: Integer(event["gross_refund"].to_f * 100))
          notify_user(charge.owner, charge)
        end

        def notify_user(billable, charge)
          if Pay.send_emails
            Pay::UserMailer.with(billable: billable, charge: charge).refund.deliver_later
          end
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
pay-2.7.2 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.7.1 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.7.0 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.11 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.10 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.9 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.8 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.7 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.6 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.5 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.4 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.3 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.2 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.1 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.6.0 lib/pay/paddle/webhooks/subscription_payment_refunded.rb
pay-2.5.0 lib/pay/paddle/webhooks/subscription_payment_refunded.rb