Class: ActiveMerchant::Billing::DataCashGateway
- Defined in:
- lib/active_merchant/billing/gateways/data_cash.rb
Constant Summary collapse
- TEST_URL =
Datacash server URLs
'https://testserver.datacash.com/Transaction'
- LIVE_URL =
'https://mars.transaction.datacash.com/Transaction'
- AUTH_TYPE =
Different Card Transaction Types
'auth'
- CANCEL_TYPE =
'cancel'
- FULFILL_TYPE =
'fulfill'
- PRE_TYPE =
'pre'
- REFUND_TYPE =
'refund'
- TRANSACTION_REFUND_TYPE =
'txn_refund'
- POLICY_ACCEPT =
Constant strings for use in the ExtendedPolicy complex element for CV2 checks
'accept'
- POLICY_REJECT =
'reject'
- DATACASH_SUCCESS =
Datacash success code
'1'
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, authorization_or_credit_card, options = {}) ⇒ Object
Performs an authorization, which reserves the funds on the customer’s credit card, but does not charge the card.
-
#capture(money, authorization, options = {}) ⇒ Object
Captures the funds from an authorized transaction.
-
#credit(money, reference_or_credit_card, options = {}) ⇒ Object
Refund to a card.
-
#initialize(options = {}) ⇒ DataCashGateway
constructor
Creates a new DataCashGateway.
-
#purchase(money, authorization_or_credit_card, options = {}) ⇒ Object
Perform a purchase, which is essentially an authorization and capture in a single operation.
- #refund(money, reference, options = {}) ⇒ Object
-
#test? ⇒ Boolean
Is the gateway running in test mode?.
-
#void(authorization, options = {}) ⇒ Object
Void a previous transaction.
Methods inherited from Gateway
#card_brand, card_brand, inherited, supports?
Methods included from CreditCardFormatting
Constructor Details
#initialize(options = {}) ⇒ DataCashGateway
Creates a new DataCashGateway
The gateway requires that a valid login and password be passed in the options
hash.
Options
-
:login
– The Datacash account login. -
:password
– The Datacash account password. -
:test => true or false
– Use the test or live Datacash url.
50 51 52 53 54 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 50 def initialize( = {}) requires!(, :login, :password) @options = super end |
Instance Method Details
#authorize(money, authorization_or_credit_card, options = {}) ⇒ Object
Performs an authorization, which reserves the funds on the customer’s credit card, but does not charge the card.
Parameters
-
money
The amount to be authorized as an Integer value in cents. authorization_or_credit_card
-
The continuous authority reference or CreditCard details for the transaction.
-
options
A hash of optional parameters.-
:order_id
A unique reference for this order (corresponds to merchantreference in datacash documentation) :set_up_continuous_authority
-
Set to true to set up a recurring historic transaction account be set up. Only supported for :visa, :master and :american_express card types See www.datacash.com/services/recurring/historic.php for more details of historic transactions.
:address
-
billing address for card
-
The continuous authority reference will be available in response#params if you have requested one
98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 98 def (money, , = {}) requires!(, :order_id) if .is_a?(String) request = (AUTH_TYPE, money, , ) else request = (PRE_TYPE, money, , ) end commit(request) end |
#capture(money, authorization, options = {}) ⇒ Object
Captures the funds from an authorized transaction.
Parameters
-
money
– The amount to be captured as anInteger value in cents. -
authorization
– The authorization returned from the previous authorize request.
116 117 118 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 116 def capture(money, , = {}) commit(build_void_or_capture_request(FULFILL_TYPE, money, , )) end |
#credit(money, reference_or_credit_card, options = {}) ⇒ Object
Refund to a card
Parameters
-
money
The amount to be refunded as an Integer value in cents. Set to nil for a full refund on existing transaction. -
reference_or_credit_card
The credit card you want to refund OR the datacash_reference for the existing transaction you are refunding -
options
Are ignored when refunding via reference to an existing transaction, otherwise-
:order_id
A unique reference for this order (corresponds to merchantreference in datacash documentation) :address
-
billing address for card
-
140 141 142 143 144 145 146 147 148 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 140 def credit(money, reference_or_credit_card, = {}) if reference_or_credit_card.is_a?(String) deprecated CREDIT_DEPRECATION_MESSAGE refund(money, reference_or_credit_card) else request = build_refund_request(money, reference_or_credit_card, ) commit(request) end end |
#purchase(money, authorization_or_credit_card, options = {}) ⇒ Object
Perform 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. authorization_or_credit_card
-
The continuous authority reference or CreditCard details for the transaction.
-
options
A hash of optional parameters.-
:order_id
A unique reference for this order (corresponds to merchantreference in datacash documentation) -
:set_up_continuous_authority
Set to true to set up a recurring historic transaction account be set up. Only supported for :visa, :master and :american_express card types See http://www.datacash.com/services/recurring/historic.php for more details of historic transactions.
:address
-
billing address for card
-
The continuous authority reference will be available in response#params if you have requested one
70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 70 def purchase(money, , = {}) requires!(, :order_id) if .is_a?(String) request = (AUTH_TYPE, money, , ) else request = (AUTH_TYPE, money, , ) end commit(request) end |
#refund(money, reference, options = {}) ⇒ Object
150 151 152 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 150 def refund(money, reference, = {}) commit(build_transaction_refund_request(money, reference)) end |
#test? ⇒ Boolean
Is the gateway running in test mode?
155 156 157 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 155 def test? @options[:test] || super end |
#void(authorization, options = {}) ⇒ Object
Void a previous transaction
Parameters
-
authorization
- The authorization returned from the previous authorize request.
125 126 127 128 129 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 125 def void(, = {}) request = build_void_or_capture_request(CANCEL_TYPE, nil, , ) commit(request) end |