Class: ActiveMerchant::Billing::SageGateway
- Defined in:
- lib/active_merchant/billing/gateways/sage.rb
Constant Summary
Constants inherited from Gateway
Gateway::CREDIT_DEPRECATION_MESSAGE, Gateway::CURRENCIES_WITHOUT_FRACTIONS, Gateway::DEBIT_CARDS
Instance Attribute Summary
Attributes inherited from Gateway
Instance Method Summary collapse
-
#authorize(money, credit_card, options = {}) ⇒ Object
Performs an authorization transaction.
-
#capture(money, reference, options = {}) ⇒ Object
Captures authorized funds.
-
#credit(money, source, options = {}) ⇒ Object
Performs a credit transaction.
-
#initialize(options = {}) ⇒ SageGateway
constructor
Creates a new SageGateway.
-
#purchase(money, source, options = {}) ⇒ Object
Performs a purchase, which is essentially an authorization and capture in a single operation.
-
#void(reference, options = {}) ⇒ Object
Voids a prior transaction.
Methods inherited from Gateway
#card_brand, card_brand, inherited, supports?, #test?
Methods included from CreditCardFormatting
Constructor Details
#initialize(options = {}) ⇒ SageGateway
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.
19 20 21 22 23 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 19 def initialize( = {}) requires!(, :login, :password) @options = super end |
Instance Method Details
#authorize(money, credit_card, options = {}) ⇒ Object
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.
51 52 53 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 51 def (money, credit_card, = {}) bankcard.(money, credit_card, ) end |
#capture(money, reference, options = {}) ⇒ Object
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.
104 105 106 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 104 def capture(money, reference, = {}) bankcard.capture(money, reference, ) end |
#credit(money, source, options = {}) ⇒ Object
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.
127 128 129 130 131 132 133 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 127 def credit(money, source, = {}) if card_brand(source) == "check" virtual_check.credit(money, source, ) else bankcard.credit(money, source, ) end end |
#purchase(money, source, options = {}) ⇒ Object
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.
90 91 92 93 94 95 96 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 90 def purchase(money, source, = {}) if card_brand(source) == "check" virtual_check.purchase(money, source, ) else bankcard.purchase(money, source, ) end end |
#void(reference, options = {}) ⇒ Object
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.
113 114 115 116 117 118 119 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 113 def void(reference, = {}) if reference.split(";").last == "virtual_check" virtual_check.void(reference, ) else bankcard.void(reference, ) end end |