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, Gateway::RECURRING_DEPRECATION_MESSAGE, Gateway::STANDARD_ERROR_CODE
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
Parameters.
-
#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.
- #refund(money, reference, options = {}) ⇒ Object
-
#store(credit_card, options = {}) ⇒ Object
Stores a credit card in the Sage vault.
-
#unstore(identification, options = {}) ⇒ Object
Deletes a stored card from the Sage vault.
-
#void(reference, options = {}) ⇒ Object
Voids a prior transaction.
Methods inherited from Gateway
#card_brand, card_brand, #generate_unique_id, inherited, non_fractional_currency?, #scrub, supported_countries, #supported_countries, supported_countries=, supports?, #supports_network_tokenization?, #supports_scrubbing?, #test?
Methods included from CreditCardFormatting
Methods included from PostsData
included, #raw_ssl_request, #ssl_get, #ssl_post, #ssl_request
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.
22 23 24 25 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 22 def initialize( = {}) requires!(, :login, :password) 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 SageT_tax
. -
:shipping
- The shipping amount for the transaction as an Integer value in cents. Maps to SageT_shipping
.
-
53 54 55 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 53 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.
106 107 108 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 106 def capture(money, reference, = {}) bankcard.capture(money, reference, ) end |
#credit(money, source, options = {}) ⇒ Object
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.
128 129 130 131 132 133 134 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 128 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 SageT_tax
. -
:shipping
- The shipping amount for the transaction as an integer value in cents. Maps to SageT_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 formatmm/dd/yyyy
.
92 93 94 95 96 97 98 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 92 def purchase(money, source, = {}) if card_brand(source) == "check" virtual_check.purchase(money, source, ) else bankcard.purchase(money, source, ) end end |
#refund(money, reference, options = {}) ⇒ Object
136 137 138 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 136 def refund(money, reference, ={}) bankcard.refund(money, reference, ) end |
#store(credit_card, options = {}) ⇒ Object
Stores a credit card in the Sage vault.
Parameters
-
credit_card
- The CreditCard object to be stored.
145 146 147 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 145 def store(credit_card, = {}) vault.store(credit_card, ) end |
#unstore(identification, options = {}) ⇒ Object
Deletes a stored card from the Sage vault.
Parameters
-
identification
- The ‘GUID’ identifying the stored card.
154 155 156 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 154 def unstore(identification, = {}) vault.unstore(identification, ) 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.
115 116 117 118 119 120 121 |
# File 'lib/active_merchant/billing/gateways/sage.rb', line 115 def void(reference, = {}) if reference.split(";").last == "virtual_check" virtual_check.void(reference, ) else bankcard.void(reference, ) end end |