Sha256: fde8b42ca5d192a445bbce8d97547702c0883e2d808430ab90cb511e4a2fa398

Contents?: true

Size: 1.11 KB

Versions: 62

Compression:

Stored size: 1.11 KB

Contents

module Workarea
  class Payment
    module Purchase
      class CreditCard
        include OperationImplementation
        include CreditCardOperation

        delegate :address, to: :tender

        def complete!
          # Some gateways will tokenize in the same request as the auth/capture.
          # If that is the case for the gateway you are implementing, omit the
          # following line, and save the token on the tender after doing the
          # gateway authorization.
          return unless StoreCreditCard.new(tender, options).save!

          transaction.response = handle_active_merchant_errors do
            gateway.purchase(
              transaction.amount.cents,
              tender.to_token_or_active_merchant,
              transaction_options
            )
          end
        end

        def cancel!
          return unless transaction.success?

          transaction.cancellation = handle_active_merchant_errors do
            gateway.void(transaction.response.authorization)
          end
        end

        private

        def transaction_options
          {}
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.4.27 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.5.4 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.26 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.5.3 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.25 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.5.2 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.24 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.5.1 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.23 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.22 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.5.0 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.21 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.5.0.beta.1 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.20 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.19 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.18 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.17 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.16 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.15 app/models/workarea/payment/purchase/credit_card.rb
workarea-core-3.4.14 app/models/workarea/payment/purchase/credit_card.rb