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 =>
trueor +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) = 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 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
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? [: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 |