Parser and handler for incoming Automatic Payment Confirmations from Nochex.
Acknowledge the transaction to Nochex. This method has to be called after a new apc arrives. Nochex will verify that all the information we received are correct and will return a ok or a fail. This is very similar to the PayPal IPN scheme.
Example:
def nochex_ipn notify = NochexNotification.new(request.raw_post) if notify.acknowledge ... process order ... if notify.complete? else ... log possible hacking attempt ... end
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 77 def acknowledge payload = raw response = ssl_post(Nochex.notification_confirmation_url, payload, 'Content-Length' => "#{payload.size}", 'User-Agent' => "Active Merchant -- http://activemerchant.org", 'Content-Type' => "application/x-www-form-urlencoded" ) raise StandardError.new("Faulty Nochex result: #{response}") unless ["AUTHORISED", "DECLINED"].include?(response) response == "AUTHORISED" end
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 12 def complete? status == 'Completed' end
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 25 def currency 'GBP' end
the money amount we received in X.2 decimal.
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 50 def gross sprintf("%.2f", params['amount'].to_f) end
Id of the order we passed to Nochex
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 17 def item_id params['order_id'] end
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 37 def payer_email params['from_email'] end
When was this payment received by the client.
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 30 def received_at # U.K. Format: 27/09/2006 22:30:54 return if params['transaction_date'].blank? time = params['transaction_date'].scan(/\d+/) Time.utc(time[2], time[1], time[0], time[3], time[4], time[5]) end
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 41 def receiver_email params['to_email'] end
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 45 def security_key params['security_key'] end
# File lib/active_merchant/billing/integrations/nochex/notification.rb, line 59 def status 'Completed' end
Generated with the Darkfish Rdoc Generator 2.