--- !ruby/object:RI::ClassDescription 
attributes: 
- !ruby/object:RI::Attribute 
  comment: 
  name: options
  rw: R
class_methods: 
- !ruby/object:RI::MethodSummary 
  name: card_brand
- !ruby/object:RI::MethodSummary 
  name: inherited
- !ruby/object:RI::MethodSummary 
  name: new
- !ruby/object:RI::MethodSummary 
  name: supports?
comment: 
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Description
- !ruby/struct:SM::Flow::P 
  body: The Gateway class is the base class for all ActiveMerchant gateway implementations.
- !ruby/struct:SM::Flow::P 
  body: "The standard list of gateway functions that most concrete gateway subclasses implement is:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>purchase(money, creditcard, options = {})</tt>
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>authorize(money, creditcard, options = {})</tt>
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>capture(money, authorization, options = {})</tt>
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>void(identification, options = {})</tt>
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>credit(money, identification, options = {})</tt>
  type: :BULLET
- !ruby/struct:SM::Flow::P 
  body: Some gateways include features for recurring billing
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>recurring(money, creditcard, options = {})</tt>
  type: :BULLET
- !ruby/struct:SM::Flow::P 
  body: "Some gateways also support features for storing credit cards:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>store(creditcard, options = {})</tt>
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>unstore(identification, options = {})</tt>
  type: :BULLET
- !ruby/struct:SM::Flow::H 
  level: 3
  text: Gateway Options
- !ruby/struct:SM::Flow::P 
  body: "The options hash consists of the following options:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:order_id</tt> - The order number
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:ip</tt> - The IP address of the customer making the purchase
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:customer</tt> - The name, customer number, or other information that identifies the customer
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:invoice</tt> - The invoice number
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:merchant</tt> - The name or description of the merchant offering the product
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:description</tt> - A description of the transaction
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:email</tt> - The email address of the customer
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:currency</tt> - 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.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:billing_address</tt> - A hash containing the billing address of the customer.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:shipping_address</tt> - A hash containing the shipping address of the customer.
  type: :BULLET
- !ruby/struct:SM::Flow::P 
  body: "The <tt>:billing_address</tt>, and <tt>:shipping_address</tt> hashes can have the following keys:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:name</tt> - The full name of the customer.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:company</tt> - The company name of the customer.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:address1</tt> - The primary street address of the customer.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:address2</tt> - Additional line of address information.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:city</tt> - The city of the customer.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:state</tt> - 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.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:country</tt> - The [ISO 3166-1-alpha-2 code](http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm) for the customer.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:zip</tt> - The zip or postal code of the customer.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>:phone</tt> - The phone number of the customer.
  type: :BULLET
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Implmenting new gateways
- !ruby/struct:SM::Flow::P 
  body: See the {ActiveMerchant Guide to Contributing}[http://code.google.com/p/activemerchant/wiki/Contributing]
constants: 
- !ruby/object:RI::Constant 
  comment: 
  name: DEBIT_CARDS
  value: "[ :switch, :solo ]"
full_name: ActiveMerchant::Billing::Gateway
includes: 
- !ruby/object:RI::IncludedModule 
  name: PostsData
- !ruby/object:RI::IncludedModule 
  name: RequiresParameters
- !ruby/object:RI::IncludedModule 
  name: CreditCardFormatting
- !ruby/object:RI::IncludedModule 
  name: Utils
instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: card_brand
- !ruby/object:RI::MethodSummary 
  name: test?
name: Gateway
superclass: Object
