class OffsitePayments::Integrations::Directebanking::Notification
Constants
- PAYMENT_HOOK_IGNORE_AT_METHOD_CREATION_FIELDS
- PAYMENT_HOOK_SIGNATURE_FIELDS
for verifying the signature of the URL parameters
Public Class Methods
new(data, options)
click to toggle source
Calls superclass method
OffsitePayments::Notification::new
# File lib/offsite_payments/integrations/directebanking.rb, line 123 def initialize(data, options) if options[:credential4].nil? raise ArgumentError, "You need to provide the notification password (SH1) as the option :credential4 to verify that the notification originated from Directebanking (Payment Networks AG)" end super end
Public Instance Methods
acknowledge(authcode = nil)
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 227 def acknowledge(authcode = nil) # signature_is_valid? generate_signature.to_s == params['hash'].to_s end
complete?()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 130 def complete? status == 'Completed' end
currency()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 156 def currency params['currency_id'] end
generate_signature()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 223 def generate_signature Digest::SHA1.hexdigest(generate_signature_string) end
generate_signature_string()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 218 def generate_signature_string #format is: transaction|user_id|project_id|sender_holder|sender_account_number|sender_bank_code|sender_bank_name|sender_bank_bic|sender_iban|sender_country_id|recipient_holder|recipient_account_number|recipient_bank_code|recipient_bank_name|recipient_bank_bic|recipient_iban|recipient_country_id|international_transaction|amount|currency_id|reason_1|reason_2|security_criteria|user_variable_0|user_variable_1|user_variable_2|user_variable_3|user_variable_4|user_variable_5|created|notification_password PAYMENT_HOOK_SIGNATURE_FIELDS.map {|key| params[key.to_s]} * "|" + "|#{@options[:credential4]}" end
gross()
click to toggle source
the money amount we received in X.2 decimal.
# File lib/offsite_payments/integrations/directebanking.rb, line 148 def gross "%.2f" % params['amount'].to_f end
item_id()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 134 def item_id params['user_variable_0'] end
received_at()
click to toggle source
When was this payment received by the client.
# File lib/offsite_payments/integrations/directebanking.rb, line 143 def received_at Time.parse(params['created']) if params['created'] end
status()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 152 def status 'Completed' end
test?()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 160 def test? params['sender_bank_name'] == 'Testbank' end
transaction_id()
click to toggle source
# File lib/offsite_payments/integrations/directebanking.rb, line 138 def transaction_id params['transaction'] end