Included Modules

Class Index [+]

Quicksearch

ActiveMerchant::Billing::Integrations::Valitor::Helper

Constants

DEFAULT_SUCCESS_TEXT

Public Class Methods

new(order, account, options={}) click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 12
12:           def initialize(order, account, options={})
13:             options[:currency] ||= 'ISK'
14:             super
15:             add_field 'Adeinsheimild', '0'
16:             add_field 'KaupandaUpplysingar', '0'
17:             add_field 'SlokkvaHaus', '0'
18:             @security_number = options[:credential2]
19:             @amount          = options[:amount]
20:             @order           = order
21:           end

Public Instance Methods

authorize_only() click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 36
36:           def authorize_only
37:             add_field 'Adeinsheimild', '1'
38:           end
collect_customer_info() click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 40
40:           def collect_customer_info
41:             add_field 'KaupandaUpplysingar', '1'
42:           end
form_fields() click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 73
73:           def form_fields
74:             product(1, :amount => @amount, :description => @order) if Array(@products).empty?
75:             @fields[mappings[:success_text]] ||= DEFAULT_SUCCESS_TEXT
76:             @fields.merge('RafraenUndirskrift' => signature)
77:           end
format_amount(amount) click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 79
79:           def format_amount(amount)
80:             amount.to_f.round
81:           end
hide_header() click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 44
44:           def hide_header
45:             add_field 'SlokkvaHaus', '1'
46:           end
product(id, options={}) click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 48
48:           def product(id, options={})
49:             raise ArgumentError, "Product id #{id} is not an integer between 1 and 500" unless id.to_i > 0 && id.to_i <= 500
50:             requires!(options, :amount, :description)
51:             options.assert_valid_keys([:description, :quantity, :amount, :discount])
52: 
53:             add_field("Vara_#{id}_Verd", format_amount(options[:amount]))
54:             add_field("Vara_#{id}_Fjoldi", options[:quantity] || "1")
55:             
56:             add_field("Vara_#{id}_Lysing", options[:description]) if options[:description]
57:             add_field("Vara_#{id}_Afslattur", options[:discount] || '0')
58:             
59:             @products ||= []
60:             @products << id.to_i
61:           end
signature() click to toggle source
    # File lib/active_merchant/billing/integrations/valitor/helper.rb, line 63
63:           def signature
64:             raise ArgumentError, "Security number not set" unless @security_number
65:             parts = [@security_number, @fields['Adeinsheimild']]
66:             @products.sort.uniq.each do |id|
67:               parts.concat(["Vara_#{id}_Fjoldi", "Vara_#{id}_Verd", "Vara_#{id}_Afslattur"].collect{|e| @fields[e]})
68:             end if @products
69:             parts.concat(%(VefverslunID Tilvisunarnumer SlodTokstAdGjaldfaera SlodTokstAdGjaldfaeraServerSide Gjaldmidill).collect{|e| @fields[e]})
70:             Digest::MD5.hexdigest(parts.compact.join(''))
71:           end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.