Class: ActiveMerchant::Billing::Integrations::DirecPay::Notification
- Inherits:
-
Notification
- Object
- Notification
- ActiveMerchant::Billing::Integrations::DirecPay::Notification
show all
- Defined in:
- lib/active_merchant/billing/integrations/direc_pay/notification.rb
Constant Summary
collapse
- RESPONSE_PARAMS =
['DirecPay Reference ID', 'Flag', 'Country', 'Currency', 'Other Details', 'Merchant Order No', 'Amount']
Instance Attribute Summary
Attributes inherited from Notification
#params, #raw
Instance Method Summary
collapse
#amount, #empty!, #gross_cents, #initialize, #valid_sender?
Instance Method Details
#acknowledge(authcode = nil) ⇒ Object
10
11
12
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 10
def acknowledge(authcode = nil)
true
end
|
#complete? ⇒ Boolean
14
15
16
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 14
def complete?
status == 'Completed' || status == 'Pending'
end
|
#country ⇒ Object
48
49
50
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 48
def country
params['Country']
end
|
#currency ⇒ Object
44
45
46
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 44
def currency
params['Currency']
end
|
#gross ⇒ Object
the money amount we received in X.2 decimal
40
41
42
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 40
def gross
params['Amount']
end
|
#item_id ⇒ Object
31
32
33
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 31
def item_id
params['Merchant Order No']
end
|
#other_details ⇒ Object
52
53
54
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 52
def other_details
params['Other Details']
end
|
#parse(post) ⇒ Object
Take the posted data and move the relevant data into a hash
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 61
def parse(post)
super
values = params['responseparams'].to_s.split('|')
response_params = values.size == 3 ? ['DirecPay Reference ID', 'Flag', 'Error message'] : RESPONSE_PARAMS
response_params.each_with_index do |name, index|
params[name] = values[index]
end
params
end
|
#status ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 18
def status
case params['Flag']
when 'SUCCESS'
'Completed'
when 'PENDING'
'Pending'
when 'FAIL'
'Failed'
else
'Error'
end
end
|
#test? ⇒ Boolean
56
57
58
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 56
def test?
false
end
|
#transaction_id ⇒ Object
35
36
37
|
# File 'lib/active_merchant/billing/integrations/direc_pay/notification.rb', line 35
def transaction_id
params['DirecPay Reference ID']
end
|