Description
The Gateway class is the base class for all
ActiveMerchant gateway implementations.
The standard list of gateway functions that most concrete gateway
subclasses implement is:
- purchase(money, creditcard, options = {})
- authorize(money, creditcard, options = {})
- capture(money, authorization, options = {})
- void(identification, options = {})
- credit(money, identification, options = {})
Some gateways include features for recurring billing
- recurring(money, creditcard, options = {})
Some gateways also support features for storing credit cards:
- store(creditcard, options = {})
- unstore(identification, options = {})
The options hash consists of the following options:
- :order_id - The order number
- :ip - The IP address of the customer making the purchase
- :customer - The name, customer number, or other information that
identifies the customer
- :invoice - The invoice number
- :merchant - The name or description of the merchant offering the
product
- :description - A description of the transaction
- :email - The email address of the customer
- :currency - The currency of the transaction. Only important when
you are using a currency that is not the default with a gateway that
supports multiple currencies.
- :billing_address - A hash containing the billing address of the
customer.
- :shipping_address - A hash containing the shipping address of the
customer.
The :billing_address, and :shipping_address hashes can
have the following keys:
- :name - The full name of the customer.
- :company - The company name of the customer.
- :address1 - The primary street address of the customer.
- :address2 - Additional line of address information.
- :city - The city of the customer.
- :state - The state of the customer. The 2 digit code for US and
Canadian addresses. The full name of the state or province for foreign
addresses.
- :country - The [ISO 3166-1-alpha-2 code](www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm)
for the customer.
- :zip - The zip or postal code of the customer.
- :phone - The phone number of the customer.
Implmenting new gateways
See the ActiveMerchant
Guide to Contributing