class OffsitePayments::Integrations::Epay::Helper
Public Class Methods
new(order, merchantnumber, options = {})
click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/epay.rb, line 16 def initialize(order, merchantnumber, options = {}) super add_field('windowstate', 3) add_field('language', '0') add_field('orderid', format_order_number(order)) @fields = Hash[@fields.sort] end
Public Instance Methods
form_fields()
click to toggle source
# File lib/offsite_payments/integrations/epay.rb, line 28 def form_fields @fields.merge('hash' => generate_md5hash) end
format_order_number(number)
click to toggle source
Limited to 20 digits max
# File lib/offsite_payments/integrations/epay.rb, line 41 def format_order_number(number) number.to_s.gsub(/[^\w_]/, '').rjust(4, "0")[0...20] end
generate_md5hash()
click to toggle source
# File lib/offsite_payments/integrations/epay.rb, line 36 def generate_md5hash Digest::MD5.hexdigest(generate_md5string) end
generate_md5string()
click to toggle source
# File lib/offsite_payments/integrations/epay.rb, line 32 def generate_md5string @fields.sort.each.map { |key, value| key != 'hash' ? value.to_s : ''} * "" + @md5secret end
md5secret(value)
click to toggle source
# File lib/offsite_payments/integrations/epay.rb, line 24 def md5secret(value) @md5secret = value end