Class: ActiveMerchant::Billing::Integrations::Platron::Notification
- Inherits:
-
Notification
- Object
- Notification
- ActiveMerchant::Billing::Integrations::Platron::Notification
show all
- Defined in:
- lib/active_merchant/billing/integrations/platron/notification.rb
Instance Attribute Summary
Attributes inherited from Notification
#params, #raw
Instance Method Summary
collapse
#empty!, #gross, #gross_cents, #status, #test?, #valid_sender?
Constructor Details
Returns a new instance of Notification.
8
9
10
11
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 8
def initialize(*args)
super
@signature = params.delete('pg_sig')
end
|
Instance Method Details
#acknowledge ⇒ Object
93
94
95
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 93
def acknowledge
signature == Platron.generate_signature(params, path, secret)
end
|
#amount ⇒ Object
81
82
83
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 81
def amount
params['pg_amount']
end
|
#captured ⇒ Object
41
42
43
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 41
def captured
params['pg_captured']
end
|
#card_brand ⇒ Object
37
38
39
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 37
def card_brand
params['pg_card_brand']
end
|
#complete? ⇒ Boolean
13
14
15
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 13
def complete?
params['pg_result']
end
|
#currency ⇒ Object
25
26
27
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 25
def currency
params['pg_ps_currency']
end
|
#failure_code ⇒ Object
49
50
51
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 49
def failure_code
params['pg_failure_code']
end
|
#failure_description ⇒ Object
53
54
55
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 53
def failure_description
params['pg_failure_description']
end
|
#net_amount ⇒ Object
69
70
71
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 69
def net_amount
params['pg_net_amount']
end
|
#order_id ⇒ Object
17
18
19
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 17
def order_id
params['pg_order_id']
end
|
#overpayment ⇒ Object
45
46
47
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 45
def overpayment
params['pg_overpayment']
end
|
#path ⇒ Object
89
90
91
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 89
def path
@options[:path]
end
|
#payment_date ⇒ Object
57
58
59
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 57
def payment_date
params['pg_payment_date']
end
|
#payment_system ⇒ Object
29
30
31
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 29
def payment_system
params['pg_payment_system']
end
|
#platron_payment_id ⇒ Object
21
22
23
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 21
def platron_payment_id
params['pg_payment_id']
end
|
#ps_amount ⇒ Object
73
74
75
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 73
def ps_amount
params['pg_ps_amount']
end
|
#ps_full_amount ⇒ Object
77
78
79
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 77
def ps_full_amount
params['pg_ps_full_amount']
end
|
#salt ⇒ Object
61
62
63
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 61
def salt
params['pg_salt']
end
|
#secret ⇒ Object
85
86
87
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 85
def secret
@options[:secret]
end
|
#signature ⇒ Object
65
66
67
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 65
def signature
@signature
end
|
#success_response(path, secret) ⇒ Object
97
98
99
100
101
102
103
104
105
106
107
108
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 97
def success_response(path,secret)
salt = rand(36**15).to_s(36)
xml = ""
doc = Builder::XmlMarkup.new(:target => xml)
sign = Platron.generate_signature({:pg_status => 'ok', :pg_salt => salt}, path, secret)
doc.response do
doc.pg_status 'ok'
doc.pg_salt salt
doc.pg_sig sign
end
xml
end
|
#user_phone ⇒ Object
33
34
35
|
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 33
def user_phone
params['pg_user_phone']
end
|