For more information on the Authorize.Net Gateway please visit their Integration Center
The login and password are not the username and password you use to login to the Authorize.Net Merchant Interface. Instead, you will use the API Login ID as the login and Transaction Key as the password.
Log into the Merchant Interface
Select Settings from the Main Menu
Click on API Login ID and Transaction Key in the Security section
Type in the answer to the secret question configured on setup
Click Submit
Automated Recurring Billing (ARB) is an optional service for submitting and managing recurring, or subscription-based, transactions.
To use recurring, update_recurring, cancel_recurring and status_recurring ARB must be enabled for your account.
Information about ARB is available on the Authorize.Net website. Information about the ARB API is available at the Authorize.Net Integration Center
Creates a new AuthorizeNetGateway
The gateway requires that a valid login and password be passed in the options hash.
:login -- The Authorize.Net API Login ID (REQUIRED)
:password -- The Authorize.Net Transaction Key. (REQUIRED)
:test -- true or false. If true, perform transactions against the test server. Otherwise, perform transactions against the production server.
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 73 def initialize(options = {}) requires!(options, :login, :password) @options = options super end
Cancel a recurring payment.
This transaction cancels an existing Automated Recurring Billing (ARB) subscription. Your account must have ARB enabled and the subscription must have already been created previously by calling recurring()
subscription_id -- A string containing the subscription_id of the recurring payment already in place for a given credit card. (REQUIRED)
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 241 def cancel_recurring(subscription_id) request = build_recurring_request(:cancel, :subscription_id => subscription_id) recurring_commit(:cancel, request) end
Captures the funds from an authorized transaction.
money -- The amount to be captured as an Integer value in cents.
authorization -- The authorization returned from the previous authorize request.
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 122 def capture(money, authorization, options = {}) post = {:trans_id => authorization} add_customer_data(post, options) commit('PRIOR_AUTH_CAPTURE', money, post) end
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 173 def credit(money, identification, options = {}) deprecated CREDIT_DEPRECATION_MESSAGE refund(money, identification, options) end
Perform a purchase, which is essentially an authorization and capture in a single operation.
money -- The amount to be purchased as an Integer value in cents.
creditcard -- The CreditCard details for the transaction.
options -- A hash of optional parameters.
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 105 def purchase(money, creditcard, options = {}) post = {} add_invoice(post, options) add_creditcard(post, creditcard) add_address(post, options) add_customer_data(post, options) add_duplicate_window(post) commit('AUTH_CAPTURE', money, post) end
Create a recurring payment.
This transaction creates a new Automated Recurring Billing (ARB) subscription. Your account must have ARB enabled.
money -- The amount to be charged to the customer at each interval as an Integer value in cents.
creditcard -- The CreditCard details for the transaction.
options -- A hash of parameters.
:interval -- A hash containing information about the interval of time between payments. Must contain the keys :length and :unit. :unit can be either :months or :days. If :unit is :months then :length must be an integer between 1 and 12 inclusive. If :unit is :days then :length must be an integer between 7 and 365 inclusive. For example, to charge the customer once every three months the hash would be +:interval => { :unit => :months, :length => 3 }+ (REQUIRED)
:duration -- A hash containing keys for the :start_date the subscription begins (also the date the initial billing occurs) and the total number of billing :occurences or payments for the subscription. (REQUIRED)
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 198 def recurring(money, creditcard, options={}) requires!(options, :interval, :duration, :billing_address) requires!(options[:interval], :length, [:unit, :days, :months]) requires!(options[:duration], :start_date, :occurrences) requires!(options[:billing_address], :first_name, :last_name) options[:credit_card] = creditcard options[:amount] = money request = build_recurring_request(:create, options) recurring_commit(:create, request) end
Refund a transaction.
This transaction indicates to the gateway that money should flow from the merchant to the customer.
money -- The amount to be credited to the customer as an Integer value in cents.
identification -- The ID of the original transaction against which the refund is being issued.
options -- A hash of parameters.
:card_number -- The credit card number the refund is being issued to. (REQUIRED)
:first_name -- The first name of the account being refunded.
:last_name -- The last name of the account being refunded.
:zip -- The postal code of the account being refunded.
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 156 def refund(money, identification, options = {}) requires!(options, :card_number) post = { :trans_id => identification, :card_num => options[:card_number] } post[:first_name] = options[:first_name] if options[:first_name] post[:last_name] = options[:last_name] if options[:last_name] post[:zip] = options[:zip] if options[:zip] add_invoice(post, options) add_duplicate_window(post) commit('CREDIT', money, post) end
Get Subscription Status of a recurring payment.
This transaction gets the status of an existing Automated Recurring Billing (ARB) subscription. Your account must have ARB enabled.
subscription_id -- A string containing the subscription_id of the recurring payment already in place for a given credit card. (REQUIRED)
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 254 def status_recurring(subscription_id) request = build_recurring_request(:status, :subscription_id => subscription_id) recurring_commit(:status, request) end
Update a recurring payment’s details.
This transaction updates an existing Automated Recurring Billing (ARB) subscription. Your account must have ARB enabled and the subscription must have already been created previously by calling +recurring()+. The ability to change certain details about a recurring payment is dependent on transaction history and cannot be determined until after calling +update_recurring()+. See the ARB XML Guide for such conditions.
options -- A hash of parameters.
:subscription_id -- A string containing the :subscription_id of the recurring payment already in place for a given credit card. (REQUIRED)
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 226 def update_recurring(options={}) requires!(options, :subscription_id) request = build_recurring_request(:update, options) recurring_commit(:update, request) end
Void a previous transaction
authorization - The authorization returned from the previous authorize request.
# File lib/active_merchant/billing/gateways/authorize_net.rb, line 133 def void(authorization, options = {}) post = {:trans_id => authorization} add_duplicate_window(post) commit('VOID', nil, post) end
Generated with the Darkfish Rdoc Generator 2.