Class: ActiveMerchant::Billing::Integrations::Platron::Notification

Inherits:
Notification
  • Object
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

Methods inherited from Notification

#empty!, #gross, #gross_cents, #status, #test?, #valid_sender?

Constructor Details

#initialize(*args) ⇒ Notification

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

#acknowledgeObject



93
94
95
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 93

def acknowledge
  signature == Platron.generate_signature(params, path, secret)
end

#amountObject



81
82
83
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 81

def amount
  params['pg_amount']
end

#capturedObject



41
42
43
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 41

def captured
  params['pg_captured']
end

#card_brandObject



37
38
39
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 37

def card_brand
  params['pg_card_brand']
end

#complete?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 13

def complete?
  params['pg_result']
end

#currencyObject



25
26
27
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 25

def currency
  params['pg_ps_currency']
end

#failure_codeObject



49
50
51
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 49

def failure_code
  params['pg_failure_code']
end

#failure_descriptionObject



53
54
55
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 53

def failure_description
  params['pg_failure_description']
end

#net_amountObject



69
70
71
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 69

def net_amount
  params['pg_net_amount']
end

#order_idObject



17
18
19
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 17

def order_id
  params['pg_order_id']
end

#overpaymentObject



45
46
47
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 45

def overpayment
  params['pg_overpayment']
end

#pathObject



89
90
91
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 89

def path
  @options[:path]
end

#payment_dateObject



57
58
59
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 57

def payment_date
  params['pg_payment_date']
end

#payment_systemObject



29
30
31
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 29

def payment_system
  params['pg_payment_system']
end

#platron_payment_idObject



21
22
23
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 21

def platron_payment_id
  params['pg_payment_id']
end

#ps_amountObject



73
74
75
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 73

def ps_amount
  params['pg_ps_amount']
end

#ps_full_amountObject



77
78
79
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 77

def ps_full_amount
  params['pg_ps_full_amount']
end

#saltObject



61
62
63
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 61

def salt
  params['pg_salt']
end

#secretObject



85
86
87
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 85

def secret
  @options[:secret]
end

#signatureObject



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_phoneObject



33
34
35
# File 'lib/active_merchant/billing/integrations/platron/notification.rb', line 33

def user_phone
  params['pg_user_phone']
end