Class: AuthorizeNet::XmlTransaction
- Inherits:
-
Transaction
- Object
- Transaction
- AuthorizeNet::XmlTransaction
- Defined in:
- lib/authorize_net/xml_transaction.rb
Overview
The ARB transaction class.
Direct Known Subclasses
API::ApiTransaction, ARB::Transaction, CIM::Transaction, Reporting::Transaction
Defined Under Namespace
Constant Summary collapse
- XML_NAMESPACE =
The XML namespace used by the ARB API.
'AnetApi/xml/v1/schema/AnetApiSchema.xsd'
- @@boolean_fields =
Fields to convert to/from booleans.
[]
- @@decimal_fields =
Fields to convert to/from BigDecimal.
[]
- @@date_fields =
Fields to convert to/from Date.
[]
- @@datetime_fields =
Fields to convert to/from DateTime.
[]
- @@option_defaults =
The default options for the constructor.
{ :gateway => :production, :verify_ssl => true, :reference_id => nil }
Constants included from TypeConversions
TypeConversions::API_FIELD_PREFIX
Instance Method Summary collapse
-
#has_response? ⇒ Boolean
Checks to see if the transaction has a response (meaning it has been submitted to the gateway).
-
#initialize(api_login_id, api_transaction_key, options = {}) ⇒ XmlTransaction
constructor
DO NOT USE.
-
#response ⇒ Object
Retrieve the response object (or Nil if transaction hasn’t been sent to the gateway).
-
#run ⇒ Object
Submits the transaction to the gateway for processing.
- #setOAuthOptions ⇒ Object
-
#test? ⇒ Boolean
Checks if the transaction has been configured for the sandbox or not.
-
#xml ⇒ Object
Returns a deep-copy of the XML object sent to the payment gateway.
Methods inherited from Transaction
#fields, #set_address, #set_customer, #set_fields, #set_shipping_address
Methods included from TypeConversions
#boolean_to_value, #date_to_value, #datetime_to_value, #decimal_to_value, #integer_to_value, #to_external_field, #to_internal_field, #to_param, #value_to_boolean, #value_to_date, #value_to_datetime, #value_to_decimal, #value_to_integer
Constructor Details
#initialize(api_login_id, api_transaction_key, options = {}) ⇒ XmlTransaction
DO NOT USE. Instantiate AuthorizeNet::ARB::Transaction or AuthorizeNet::CIM::Transaction instead.
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/authorize_net/xml_transaction.rb', line 68 def initialize(api_login_id, api_transaction_key, = {}) super() @api_login_id = api_login_id @api_transaction_key = api_transaction_key @response ||= nil @type ||= nil = @@option_defaults.merge() @verify_ssl = [:verify_ssl] @reference_id = [:reference_id] @gateway = case [:gateway].to_s when 'sandbox', 'test' Gateway::TEST when 'production', 'live' Gateway::LIVE else @gateway = [:gateway] [:gateway] end end |
Instance Method Details
#has_response? ⇒ Boolean
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.
116 117 118 |
# File 'lib/authorize_net/xml_transaction.rb', line 116 def has_response? !@response.nil? end |
#response ⇒ Object
Retrieve the response object (or Nil if transaction hasn’t been sent to the gateway).
121 122 123 |
# File 'lib/authorize_net/xml_transaction.rb', line 121 def response @response end |
#run ⇒ Object
Submits the transaction to the gateway for processing. Returns a response object. If the transaction has already been run, it will return nil.
127 128 129 |
# File 'lib/authorize_net/xml_transaction.rb', line 127 def run make_request end |
#setOAuthOptions ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/authorize_net/xml_transaction.rb', line 90 def setOAuthOptions() if !@options_OAuth.blank? @options_OAuth = @@option_defaults.merge(@options_OAuth) @verify_ssl = [:verify_ssl] @reference_id = [:reference_id] @gateway = case [:gateway].to_s when 'sandbox', 'test' Gateway::TEST when 'production', 'live' Gateway::LIVE else @gateway = [:gateway] [:gateway] end end end |
#test? ⇒ Boolean
Checks if the transaction has been configured for the sandbox or not. Return FALSE if the transaction is running against the production, TRUE otherwise.
110 111 112 |
# File 'lib/authorize_net/xml_transaction.rb', line 110 def test? @gateway != Gateway::LIVE end |
#xml ⇒ Object
Returns a deep-copy of the XML object sent to the payment gateway. Or nil if there was no XML payload.
132 133 134 |
# File 'lib/authorize_net/xml_transaction.rb', line 132 def xml @xml end |