Class: ActiveMerchant::Billing::QuantumGateway

Inherits:
Gateway
  • Object
show all
Defined in:
lib/active_merchant/billing/gateways/quantum.rb

Overview

ActiveMerchant Implementation for Quantum Gateway XML Requester Service Based on API Doc from 8/6/2009

Important Notes

  • Support is included for a customer id via the :customer option, invoice number via :invoice option, invoice description via :merchant option and memo via :description option

  • You can force email of receipt with :email_receipt => true

  • You can force email of merchant receipt with :merchant_receipt => true

  • You can exclude CVV with :ignore_cvv => true

  • All transactions use dollar values.

Constant Summary

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

#options

Instance Method Summary collapse

Methods inherited from Gateway

#card_brand, card_brand, #generate_unique_id, inherited, non_fractional_currency?, #scrub, supported_countries, #supported_countries, supported_countries=, supports?, #supports_scrubbing?, #test?

Methods included from CreditCardFormatting

#expdate, #format

Constructor Details

#initialize(options = {}) ⇒ QuantumGateway

These are the options that can be used when creating a new Quantum Gateway object.

:login => Your Quantum Gateway Gateway ID

:password => Your Quantum Gateway Vault Key or Restrict Key

NOTE: For testing supply your test GatewayLogin and GatewayKey

:email_receipt => true if you want a receipt sent to the customer (false be default)

:merchant_receipt => true if you want to override receiving the merchant receipt

:ignore_avs => true ignore both AVS and CVV verification :ignore_cvv => true don't want to use CVV so continue processing even if CVV would have failed



38
39
40
41
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 38

def initialize(options = {})
  requires!(options, :login, :password)
  super
end

Instance Method Details

#authorize(money, creditcard, options = {}) ⇒ Object

Request an authorization for an amount from CyberSource



45
46
47
48
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 45

def authorize(money, creditcard, options = {})
  setup_address_hash(options)
  commit(build_auth_request(money, creditcard, options), options )
end

#capture(money, authorization, options = {}) ⇒ Object

Capture an authorization that has previously been requested



51
52
53
54
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 51

def capture(money, authorization, options = {})
  setup_address_hash(options)
  commit(build_capture_request(money, authorization, options), options)
end

#credit(money, identification, options = {}) ⇒ Object



71
72
73
74
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 71

def credit(money, identification, options = {})
  ActiveMerchant.deprecated CREDIT_DEPRECATION_MESSAGE
  refund(money, identification, options)
end

#purchase(money, creditcard, options = {}) ⇒ Object

Purchase is an auth followed by a capture You must supply an order_id in the options hash



58
59
60
61
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 58

def purchase(money, creditcard, options = {})
  setup_address_hash(options)
  commit(build_purchase_request(money, creditcard, options), options)
end

#refund(money, identification, options = {}) ⇒ Object



67
68
69
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 67

def refund(money, identification, options = {})
  commit(build_credit_request(money, identification, options), options)
end

#void(identification, options = {}) ⇒ Object



63
64
65
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 63

def void(identification, options = {})
  commit(build_void_request(identification, options), options)
end