Class Index [+]

Quicksearch

ActiveMerchant::Billing::Integrations::Directebanking::Notification

Constants

PAYMENT_HOOK_SIGNATURE_FIELDS

for verifying the signature of the URL parameters

PAYMENT_HOOK_IGNORE_AT_METHOD_CREATION_FIELDS

Public Class Methods

new(data, options) click to toggle source
    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 7
 7:           def initialize(data, options)
 8:             if options[:credential4].nil?
 9:               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)"
10:             end
11:             super
12:           end

Public Instance Methods

acknowledge() click to toggle source
     # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 111
111:           def acknowledge
112:             # signature_is_valid?
113:             generate_signature.to_s == params['hash'].to_s
114:           end
complete?() click to toggle source
    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 14
14:           def complete?
15:             status == 'Completed'
16:           end
currency() click to toggle source
    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 40
40:           def currency
41:             params['currency_id']
42:           end
generate_signature() click to toggle source
     # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 107
107:           def generate_signature
108:             Digest::SHA1.hexdigest(generate_signature_string)
109:           end
generate_signature_string() click to toggle source
     # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 102
102:           def generate_signature_string
103:             #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
104:             PAYMENT_HOOK_SIGNATURE_FIELDS.map {|key| params[key.to_s]} * "|" + "|#{@options[:credential4]}"
105:           end
gross() click to toggle source

the money amount we received in X.2 decimal.

    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 32
32:           def gross
33:             "%.2f" % params['amount'].to_f
34:           end
item_id() click to toggle source
    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 18
18:           def item_id
19:             params['user_variable_0']
20:           end
received_at() click to toggle source

When was this payment received by the client.

    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 27
27:           def received_at
28:             Time.parse(params['created']) if params['created']
29:           end
status() click to toggle source
    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 36
36:           def status
37:             'Completed'
38:           end
test?() click to toggle source
    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 44
44:           def test?
45:             params['sender_bank_name'] == 'Testbank'
46:           end
transaction_id() click to toggle source
    # File lib/active_merchant/billing/integrations/directebanking/notification.rb, line 22
22:           def transaction_id
23:             params['transaction']
24:           end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.