Sha256: 4dc58a8eda607b31d4fa6c1512c1ea158026e3db26ae486074bcf434376fc754

Contents?: true

Size: 603 Bytes

Versions: 19

Compression:

Stored size: 603 Bytes

Contents

module Pay
  module Stripe
    module Webhooks
      class ChargeRefunded
        def call(event)
          object = event.data.object
          charge = Pay.charge_model.find_by(processor: :stripe, processor_id: object.id)

          return unless charge.present?

          charge.update(amount_refunded: object.amount_refunded)
          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

19 entries across 18 versions & 1 rubygems

Version Path
pay-2.7.0 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.11 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.10 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.9 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.8 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.7 lib/pay/stripe_marketplace/webhooks/charge_refunded.rb
pay-2.6.7 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.6 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.5 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.4 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.3 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.2 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.1 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.6.0 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.5.0 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.4.4 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.4.3 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.4.2 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.4.0 lib/pay/stripe/webhooks/charge_refunded.rb