Class: ActiveMerchant::Billing::SageGateway

Class | ActiveMerchant::Billing::SageGateway
In: | lib/active_merchant/billing/gateways/sage.rb
Parent: | Gateway

### Methods

authorize capture credit new purchase void

### Public Class methods

new(options = {})

Creates a new SageGateway

The gateway requires that a valid login and password be passed in the `options` hash.

#### Options

- `:login` - The Sage Payment Solutions Merchant ID Number.
- `:password` - The Sage Payment Solutions Merchant Key Number.

### Public Instance methods

authorize(money, credit_card, options = {})

Performs an authorization transaction

#### Parameters

- `money` - The amount to be authorized as an integer value in cents.
- `credit_card` - The CreditCard object to be used as the funding source for the transaction.
- `options` - A hash of optional parameters.
  - `:order_id` - A unique reference for this order. (maximum of 20 characters).
  - `:email` - The customer‘s email address
  - `:customer` - The Customer Number for Purchase Card Level II Transactions
  - `:billing_address` - The customer‘s billing address as a hash of address information.
    - `:address1` - The billing address street
    - `:city` - The billing address city
    - `:state` - The billing address state
    - `:country` - The 2 digit ISO billing address country code
    - `:zip` - The billing address zip code
    - `:phone` - The billing address phone number
    - `:fax` - The billing address fax number
  - `:shipping_address` - The customer‘s shipping address as a hash of address information.
    - `:name` - The name at the shipping address
    - `:address1` - The shipping address street
    - `:city` - The shipping address city
    - `:state` - The shipping address state code
    - `:country` - The 2 digit ISO shipping address country code
    - `:zip` - The shipping address zip code
  - `:tax` - The tax amount for the transaction as an Integer value in cents. Maps to Sage `T_tax`.
  - `:shipping` - The shipping amount for the transaction as an Integer value in cents. Maps to Sage `T_shipping`.

capture(money, reference, options = {})

Captures authorized funds.

#### Parameters

- `money` - The amount to be authorized as an integer value in cents. Sage doesn‘t support changing the capture amount, so the full amount of the initial transaction will be captured.
- `reference` - The authorization reference string returned by the original transaction‘s Response#authorization.

credit(money, source, options = {})

Performs a credit transaction. (Sage `Credit` transaction).

#### Parameters

- `money` - The amount to be authorized as an integer value in cents.
- `source` - The CreditCard or Check object to be used as the target for the credit.

purchase(money, source, options = {})

Performs a purchase, which is essentially an authorization and capture in a single operation.

#### Parameters

- `money` - The amount to be authorized as an integer value in cents.
- `source` - The CreditCard or Check object to be used as the funding source for the transaction.
- `options` - A hash of optional parameters.
  - `:order_id` - A unique reference for this order. (maximum of 20 characters).
  - `:email` - The customer‘s email address
  - `:customer` - The Customer Number for Purchase Card Level II Transactions
  - `:billing_address` - The customer‘s billing address as a hash of address information.
    - `:address1` - The billing address street
    - `:city` - The billing address city
    - `:state` - The billing address state
    - `:country` - The 2 digit ISO billing address country code
    - `:zip` - The billing address zip code
    - `:phone` - The billing address phone number
    - `:fax` - The billing address fax number
  - `:shipping_address` - The customer‘s shipping address as a hash of address information.
    - `:name` - The name at the shipping address
    - `:address1` - The shipping address street
    - `:city` - The shipping address city
    - `:state` - The shipping address state code
    - `:country` - The 2 digit ISO shipping address country code
    - `:zip` - The shipping address zip code
  - `:tax` - The tax amount for the transaction as an integer value in cents. Maps to Sage `T_tax`.
  - `:shipping` - The shipping amount for the transaction as an integer value in cents. Maps to Sage `T_shipping`.

#### Additional options in the `options` hash for when using a Check as the funding source

- `:originator_id` - 10 digit originator. If not provided, Sage will use the default Originator ID for the specific customer type.
- `:addenda` - Transaction addenda.
- `:ssn` - The customer‘s Social Security Number.
- `:drivers_license_state` - The customer‘s drivers license state code.
- `:drivers_license_number` - The customer‘s drivers license number.
- `:date_of_birth` - The customer‘s date of birth as a Time or Date object or a string in the format `mm/dd/yyyy`.

void(reference, options = {})

Voids a prior transaction. Works for both CreditCard and Check transactions.

#### Parameters

- `reference` - The authorization reference string returned by the original transaction‘s Response#authorization.

[Validate]