Class: OffsitePayments::Integrations::DirecPay::Notification
- Inherits:
-
Notification
- Object
- Notification
- OffsitePayments::Integrations::DirecPay::Notification
show all
- Defined in:
- lib/offsite_payments/integrations/direc_pay.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, #iso_currency, #valid_sender?
Instance Method Details
#acknowledge(authcode = nil) ⇒ Object
227
228
229
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 227
def acknowledge(authcode = nil)
true
end
|
#complete? ⇒ Boolean
231
232
233
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 231
def complete?
status == 'Completed' || status == 'Pending'
end
|
#country ⇒ Object
265
266
267
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 265
def country
params['Country']
end
|
#currency ⇒ Object
261
262
263
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 261
def currency
params['Currency']
end
|
#gross ⇒ Object
the money amount we received in X.2 decimal
257
258
259
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 257
def gross
params['Amount']
end
|
#item_id ⇒ Object
248
249
250
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 248
def item_id
params['Merchant Order No']
end
|
#other_details ⇒ Object
269
270
271
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 269
def other_details
params['Other Details']
end
|
#parse(post) ⇒ Object
Take the posted data and move the relevant data into a hash
278
279
280
281
282
283
284
285
286
287
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 278
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
235
236
237
238
239
240
241
242
243
244
245
246
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 235
def status
case params['Flag']
when 'SUCCESS'
'Completed'
when 'PENDING'
'Pending'
when 'FAIL'
'Failed'
else
'Error'
end
end
|
#test? ⇒ Boolean
273
274
275
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 273
def test?
false
end
|
#transaction_id ⇒ Object
252
253
254
|
# File 'lib/offsite_payments/integrations/direc_pay.rb', line 252
def transaction_id
params['DirecPay Reference ID']
end
|