Sha256: f897a70fb3100c024d1ff94b6c2b53186446b42a48c9525fdd97dc0b31455e8a

Contents?: true

Size: 698 Bytes

Versions: 5

Compression:

Stored size: 698 Bytes

Contents

module Spreedly

  class GatewayTransaction < Transaction

    field :order_id, :ip, :description, :gateway_token
    field :merchant_name_descriptor, :merchant_location_descriptor
    field :on_test_gateway, type: :boolean

    attr_reader :response

    def initialize(xml_doc)
      super
      @response = Response.new(xml_doc.at_xpath('.//response'))
    end

  end

  class Response
    include Fields

    field :success, :pending, :cancelled, type: :boolean
    field :created_at, :updated_at, type: :date_time
    field :message, :avs_code, :avs_message, :cvv_code, :cvv_message, :error_code, :error_detail

    def initialize(xml_doc)
      initialize_fields(xml_doc)
    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spreedly-2.0.4 lib/spreedly/transactions/gateway_transaction.rb
spreedly-2.0.3 lib/spreedly/transactions/gateway_transaction.rb
spreedly-2.0.2 lib/spreedly/transactions/gateway_transaction.rb
spreedly-2.0.1 lib/spreedly/transactions/gateway_transaction.rb
spreedly-2.0.0 lib/spreedly/transactions/gateway_transaction.rb