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 collapse

LIVE_URL =
'https://secure.quantumgateway.com/cgi/xml_requester.php'

Constants inherited from Gateway

Gateway::CREDIT_DEPRECATION_MESSAGE, Gateway::CURRENCIES_WITHOUT_FRACTIONS, Gateway::DEBIT_CARDS

Instance Attribute Summary

Attributes inherited from Gateway

#options

Instance Method Summary collapse

Methods inherited from Gateway

#card_brand, card_brand, inherited, supports?

Methods included from CreditCardFormatting

#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
42
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 38

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

Instance Method Details

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

Request an authorization for an amount from CyberSource



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

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



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

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

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



77
78
79
80
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 77

def credit(money, identification, options = {})
  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



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

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

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



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

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

#test?Boolean

Should run against the test servers or not?

Returns:

  • (Boolean)


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

def test?
  @options[:test] || Base.gateway_mode == :test
end

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



69
70
71
# File 'lib/active_merchant/billing/gateways/quantum.rb', line 69

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