Class: ActiveMerchant::Billing::DataCashGateway
- Defined in:
- lib/active_merchant/billing/gateways/data_cash.rb
Constant Summary collapse
- 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, Gateway::RECURRING_DEPRECATION_MESSAGE, Gateway::STANDARD_ERROR_CODE
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
-
#void(authorization, options = {}) ⇒ Object
Void a previous 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 = {}) ⇒ 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.
52 53 54 55 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 52 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 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
99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 99 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.
117 118 119 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 117 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
-
141 142 143 144 145 146 147 148 149 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 141 def credit(money, reference_or_credit_card, = {}) if reference_or_credit_card.is_a?(String) ActiveMerchant.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
71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 71 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
151 152 153 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 151 def refund(money, reference, = {}) commit(build_transaction_refund_request(money, reference)) end |
#void(authorization, options = {}) ⇒ Object
Void a previous transaction
Parameters
-
authorization
- The authorization returned from the previous authorize request.
126 127 128 129 130 |
# File 'lib/active_merchant/billing/gateways/data_cash.rb', line 126 def void(, = {}) request = build_void_or_capture_request(CANCEL_TYPE, nil, , ) commit(request) end |