class AuthorizeNet::XmlTransaction

The ARB transaction class.

Constants

XML_NAMESPACE

The XML namespace used by the ARB API.

Attributes

response[R]

Retrieve the response object (or Nil if transaction hasn’t been sent to the gateway).

xml[R]

Returns a deep-copy of the XML object sent to the payment gateway. Or nil if there was no XML payload.

Public Class Methods

new(api_login_id, api_transaction_key, options = {}) click to toggle source

DO NOT USE. Instantiate AuthorizeNet::ARB::Transaction or AuthorizeNet::CIM::Transaction instead.

Calls superclass method AuthorizeNet::Transaction::new
# File lib/authorize_net/xml_transaction.rb, line 66
def initialize(api_login_id, api_transaction_key, options = {})
  super()
  @api_login_id = api_login_id
  @api_transaction_key = api_transaction_key

  @response ||= nil
  @type ||= nil

  options = @@option_defaults.merge(options)
  @verify_ssl = options[:verify_ssl]
  @reference_id = options[:reference_id]
  @gateway = case options[:gateway].to_s
             when 'sandbox', 'test'
               Gateway::TEST
             when 'production', 'live'
               Gateway::LIVE
             else
               @gateway = options[:gateway]
               options[:gateway]
  end
end

Public Instance Methods

has_response?() click to toggle source

Checks to see if the transaction has a response (meaning it has been submitted to the gateway). Returns TRUE if a response is present, FALSE otherwise.

# File lib/authorize_net/xml_transaction.rb, line 114
def has_response?
  !@response.nil?
end
run() click to toggle source

Submits the transaction to the gateway for processing. Returns a response object. If the transaction has already been run, it will return nil.

# File lib/authorize_net/xml_transaction.rb, line 123
def run
  make_request
end
setOAuthOptions() click to toggle source
# File lib/authorize_net/xml_transaction.rb, line 88
def setOAuthOptions
  unless @options_OAuth.blank?
    @options_OAuth = @@option_defaults.merge(@options_OAuth)
    @verify_ssl = options_OAuth[:verify_ssl]
    @reference_id = options_OAuth[:reference_id]

    @gateway = case options_OAuth[:gateway].to_s
               when 'sandbox', 'test'
                 Gateway::TEST
               when 'production', 'live'
                 Gateway::LIVE
               else
                 @gateway = options_OAuth[:gateway]
                 options_OAuth[:gateway]
    end
   end
end
test?() click to toggle source

Checks if the transaction has been configured for the sandbox or not. Return FALSE if the transaction is running against the production, TRUE otherwise.

# File lib/authorize_net/xml_transaction.rb, line 108
def test?
  @gateway != Gateway::LIVE
end