Sha256: 8d8076375a3ccf4fb46dbb362cf742780a374d213b0705164cdd3cd90f1598a5

Contents?: true

Size: 1.11 KB

Versions: 62

Compression:

Stored size: 1.11 KB

Contents

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

        delegate :address, to: :tender

        def complete!
          # Some gateways will tokenize in the same request as the authorize.
          # 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.authorize(
              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.5.27 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.26 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.45 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.25 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.23 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.44 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.22 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.43 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.21 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.42 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.20 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.41 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.19 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.40 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.18 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.39 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.17 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.38 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.5.16 app/models/workarea/payment/authorize/credit_card.rb
workarea-core-3.4.37 app/models/workarea/payment/authorize/credit_card.rb