--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: []

comment: 
- !ruby/struct:SM::Flow::P 
  body: This class implements the Canadian {Beanstream}[http://www.beanstream.com] payment gateway. It is also named TD Canada Trust Online Mart payment gateway. To learn more about the specification of Beanstream gateway, please read the OM_Direct_Interface_API.pdf, which you can get from your Beanstream account or get from me by email.
- !ruby/struct:SM::Flow::H 
  level: 2
  text: "Supported transaction types by Beanstream:"
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>P</tt> - Purchase
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>PA</tt> - Pre Authorization
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: <tt>PAC</tt> - Pre Authorization Completion
  type: :BULLET
- !ruby/struct:SM::Flow::H 
  level: 2
  text: Notes
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: Recurring billing is not yet implemented.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: Adding of order products information is not implemented.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: Ensure that country and province data is provided as a code such as &quot;CA&quot;, &quot;US&quot;, &quot;QC&quot;.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: login is the Beanstream merchant ID, username and password should be enabled in your Beanstream account and passed in using the <tt>:user</tt> and <tt>:password</tt> options.
  - !ruby/struct:SM::Flow::LI 
    label: "*"
    body: Test your app with your true merchant id and test credit card information provided in the api pdf document.
  type: :BULLET
- !ruby/struct:SM::Flow::VERB 
  body: " Example authorization (Beanstream PA transaction type):\n\n  twenty = 2000\n  gateway = BeanstreamGateway.new(\n    :login =&gt; '100200000',\n    :user =&gt; 'xiaobozz',\n    :password =&gt; 'password'\n  )\n\n  credit_card = CreditCard.new(\n    :number =&gt; '4030000010001234',\n    :month =&gt; 8,\n    :year =&gt; 2011,\n    :first_name =&gt; 'xiaobo',\n    :last_name =&gt; 'zzz',\n    :verification_value =&gt; 137\n  )\n  response = gateway.authorize(twenty, credit_card,\n    :order_id =&gt; '1234',\n    :billing_address =&gt; {\n      :name =&gt; 'xiaobo zzz',\n      :phone =&gt; '555-555-5555',\n      :address1 =&gt; '1234 Levesque St.',\n      :address2 =&gt; 'Apt B',\n      :city =&gt; 'Montreal',\n      :state =&gt; 'QC',\n      :country =&gt; 'CA',\n      :zip =&gt; 'H2C1X8'\n    },\n    :email =&gt; 'xiaobozzz@example.com',\n    :subtotal =&gt; 800,\n    :shipping =&gt; 100,\n    :tax1 =&gt; 100,\n    :tax2 =&gt; 100,\n    :custom =&gt; 'reference one'\n  )\n"
constants: []

full_name: ActiveMerchant::Billing::BeanstreamGateway
includes: 
- !ruby/object:RI::IncludedModule 
  name: BeanstreamCore
instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: authorize
- !ruby/object:RI::MethodSummary 
  name: interac
- !ruby/object:RI::MethodSummary 
  name: purchase
- !ruby/object:RI::MethodSummary 
  name: void
name: BeanstreamGateway
superclass: Gateway
