class OffsitePayments::Integrations::Nochex::Notification
Parser and handler for incoming Automatic Payment Confirmations from Nochex
.
Public Instance Methods
acknowledge(authcode = nil)
click to toggle source
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/offsite_payments/integrations/nochex.rb, line 209 def acknowledge(authcode = nil) 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
complete?()
click to toggle source
# File lib/offsite_payments/integrations/nochex.rb, line 144 def complete? status == 'Completed' end
currency()
click to toggle source
# File lib/offsite_payments/integrations/nochex.rb, line 157 def currency 'GBP' end
gross()
click to toggle source
the money amount we received in X.2 decimal.
# File lib/offsite_payments/integrations/nochex.rb, line 182 def gross sprintf("%.2f", params['amount'].to_f) end
item_id()
click to toggle source
Id of the order we passed to Nochex
# File lib/offsite_payments/integrations/nochex.rb, line 149 def item_id params['order_id'] end
payer_email()
click to toggle source
# File lib/offsite_payments/integrations/nochex.rb, line 169 def payer_email params['from_email'] end
received_at()
click to toggle source
When was this payment received by the client.
# File lib/offsite_payments/integrations/nochex.rb, line 162 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
receiver_email()
click to toggle source
# File lib/offsite_payments/integrations/nochex.rb, line 173 def receiver_email params['to_email'] end
security_key()
click to toggle source
# File lib/offsite_payments/integrations/nochex.rb, line 177 def security_key params['security_key'] end
status()
click to toggle source
# File lib/offsite_payments/integrations/nochex.rb, line 191 def status 'Completed' end
test?()
click to toggle source
Was this a test transaction?
# File lib/offsite_payments/integrations/nochex.rb, line 187 def test? params['status'] == 'test' end
transaction_id()
click to toggle source
# File lib/offsite_payments/integrations/nochex.rb, line 153 def transaction_id params['transaction_id'] end