Sha256: e7255057a95e67ddafcdb4ff6e092705f5531d60a90cbec83c9316c8a4e38f9a

Contents?: true

Size: 574 Bytes

Versions: 10

Compression:

Stored size: 574 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

10 entries across 10 versions & 1 rubygems

Version Path
pay-1.0.2 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.1 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0.rc3 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0.rc2 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0.rc1 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0.beta5 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0.beta4 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0.beta3 lib/pay/stripe/webhooks/charge_refunded.rb
pay-1.0.0.beta2 lib/pay/stripe/webhooks/charge_refunded.rb