Sha256: 558b47b16f8bf3ee75e99edb266b419a054d211ccf90b51d5cacaa58192e97de

Contents?: true

Size: 677 Bytes

Versions: 54

Compression:

Stored size: 677 Bytes

Contents

module Pay
  module Braintree
    class Charge
      attr_reader :pay_charge

      delegate :processor_id, to: :pay_charge

      def initialize(pay_charge)
        @pay_charge = pay_charge
      end

      def charge
        Pay.braintree_gateway.transaction.find(processor_id)
      rescue ::Braintree::Braintree::Error => e
        raise Pay::Braintree::Error, e
      end

      def refund!(amount_to_refund)
        Pay.braintree_gateway.transaction.refund(processor_id, amount_to_refund / 100.0)
        pay_charge.update(amount_refunded: amount_to_refund)
      rescue ::Braintree::BraintreeError => e
        raise Pay::Braintree::Error, e
      end
    end
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
pay-6.1.2 lib/pay/braintree/charge.rb
pay-6.1.1 lib/pay/braintree/charge.rb
pay-6.1.0 lib/pay/braintree/charge.rb
pay-6.0.3 lib/pay/braintree/charge.rb
pay-6.0.2 lib/pay/braintree/charge.rb
pay-6.0.1 lib/pay/braintree/charge.rb
pay-6.0.0 lib/pay/braintree/charge.rb
pay-5.0.4 lib/pay/braintree/charge.rb
pay-5.0.3 lib/pay/braintree/charge.rb
pay-5.0.2 lib/pay/braintree/charge.rb
pay-5.0.1 lib/pay/braintree/charge.rb
pay-5.0.0 lib/pay/braintree/charge.rb
pay-4.2.1 lib/pay/braintree/charge.rb
pay-4.2.0 lib/pay/braintree/charge.rb
pay-4.1.1 lib/pay/braintree/charge.rb
pay-4.1.0 lib/pay/braintree/charge.rb
pay-4.0.4 lib/pay/braintree/charge.rb
pay-4.0.2 lib/pay/braintree/charge.rb
pay-4.0.1 lib/pay/braintree/charge.rb
pay-4.0.0 lib/pay/braintree/charge.rb