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