Sha256: 773895a7d7c5f6c19115936b998cbffc90e01c30586dbe86388158e8ca7d750b

Contents?: true

Size: 572 Bytes

Versions: 13

Compression:

Stored size: 572 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(user, charge)
          if Pay.send_emails
            Pay::UserMailer.refund(user, charge).deliver_later
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pay-2.3.1 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.3.0 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.2.2 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.2.1 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.2.0 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.1.3 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.1.2 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.1.1 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.1.0 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.0.3 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.0.2 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.0.1 lib/pay/stripe/webhooks/charge_refunded.rb
pay-2.0.0 lib/pay/stripe/webhooks/charge_refunded.rb