class OffsitePayments::Integrations::Quickpay::Helper
Constants
- MD5_CHECK_FIELDS
Public Class Methods
new(order, account, options = {})
click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/quickpay.rb, line 16 def initialize(order, account, options = {}) md5secret options.delete(:credential2) super add_field('protocol', '7') add_field('msgtype', 'authorize') add_field('language', 'da') add_field('autocapture', 0) add_field('testmode', test? ? 1 : 0) add_field('ordernumber', format_order_number(order)) end
Public Instance Methods
form_fields()
click to toggle source
# File lib/offsite_payments/integrations/quickpay.rb, line 31 def form_fields @fields.merge('md5check' => generate_md5check) end
format_order_number(number)
click to toggle source
Limited to 20 digits max
# File lib/offsite_payments/integrations/quickpay.rb, line 44 def format_order_number(number) number.to_s.gsub(/[^\w]/, '').rjust(4, "0")[0...20] end
generate_md5check()
click to toggle source
# File lib/offsite_payments/integrations/quickpay.rb, line 39 def generate_md5check Digest::MD5.hexdigest(generate_md5string) end
generate_md5string()
click to toggle source
# File lib/offsite_payments/integrations/quickpay.rb, line 35 def generate_md5string MD5_CHECK_FIELDS.map {|key| @fields[key.to_s]} * "" + @md5secret end
md5secret(value)
click to toggle source
# File lib/offsite_payments/integrations/quickpay.rb, line 27 def md5secret(value) @md5secret = value end