Class: ActiveMerchant::Billing::PayboxDirectGateway
- Inherits:
-
Gateway
- Object
- Gateway
- ActiveMerchant::Billing::PayboxDirectGateway
show all
- Defined in:
- lib/active_merchant/billing/gateways/paybox_direct.rb
Constant Summary
collapse
- TEST_URL =
'https://preprod-ppps.paybox.com/PPPS.php'
- LIVE_URL =
'https://ppps.paybox.com/PPPS.php'
- LIVE_URL_BACKUP =
'https://ppps1.paybox.com/PPPS.php'
- API_VERSION =
'00103'
- TRANSACTIONS =
{
:authorization => '00001',
:capture => '00002',
:purchase => '00003',
:unreferenced_credit => '00004',
:void => '00005',
:refund => '00014'
}
- CURRENCY_CODES =
{
"AUD"=> '036',
"CAD"=> '124',
"CZK"=> '203',
"DKK"=> '208',
"HKD"=> '344',
"ICK"=> '352',
"JPY"=> '392',
"NOK"=> '578',
"SGD"=> '702',
"SEK"=> '752',
"CHF"=> '756',
"GBP"=> '826',
"USD"=> '840',
"EUR"=> '978'
}
- SUCCESS_CODES =
['00000']
- UNAVAILABILITY_CODES =
['00001', '00097', '00098']
- FRAUD_CODES =
['00102','00104','00134','00138','00141','00143','00157','00159']
- SUCCESS_MESSAGE =
'The transaction was approved'
- FAILURE_MESSAGE =
'The transaction failed'
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
-
#authorize(money, creditcard, options = {}) ⇒ Object
-
#capture(money, authorization, options = {}) ⇒ Object
-
#credit(money, identification, options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ PayboxDirectGateway
constructor
A new instance of PayboxDirectGateway.
-
#purchase(money, creditcard, options = {}) ⇒ Object
-
#refund(money, identification, options = {}) ⇒ Object
-
#test? ⇒ Boolean
-
#void(identification, options = {}) ⇒ Object
Methods inherited from Gateway
#card_brand, card_brand, inherited, supports?
#format
Constructor Details
Returns a new instance of PayboxDirectGateway.
60
61
62
63
64
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 60
def initialize(options = {})
requires!(options, :login, :password)
@options = options
super
end
|
Instance Method Details
#authorize(money, creditcard, options = {}) ⇒ Object
66
67
68
69
70
71
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 66
def authorize(money, creditcard, options = {})
post = {}
add_invoice(post, options)
add_creditcard(post, creditcard)
commit('authorization', money, post)
end
|
#capture(money, authorization, options = {}) ⇒ Object
80
81
82
83
84
85
86
87
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 80
def capture(money, authorization, options = {})
requires!(options, :order_id)
post = {}
add_invoice(post, options)
post[:numappel] = authorization[0,10]
post[:numtrans] = authorization[10,10]
commit('capture', money, post)
end
|
#credit(money, identification, options = {}) ⇒ Object
99
100
101
102
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 99
def credit(money, identification, options = {})
deprecated CREDIT_DEPRECATION_MESSAGE
refund(money, identification, options)
end
|
#purchase(money, creditcard, options = {}) ⇒ Object
73
74
75
76
77
78
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 73
def purchase(money, creditcard, options = {})
post = {}
add_invoice(post, options)
add_creditcard(post, creditcard)
commit('purchase', money, post)
end
|
#refund(money, identification, options = {}) ⇒ Object
104
105
106
107
108
109
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 104
def refund(money, identification, options = {})
post = {}
add_invoice(post, options)
add_reference(post, identification)
commit('refund', money, post)
end
|
#test? ⇒ Boolean
111
112
113
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 111
def test?
@options[:test] || Base.gateway_mode == :test
end
|
#void(identification, options = {}) ⇒ Object
89
90
91
92
93
94
95
96
97
|
# File 'lib/active_merchant/billing/gateways/paybox_direct.rb', line 89
def void(identification, options = {})
requires!(options, :order_id, :amount)
post ={}
add_invoice(post, options)
add_reference(post, identification)
post[:porteur] = '000000000000000'
post[:dateval] = '0000'
commit('void', options[:amount], post)
end
|