class OffsitePayments::Integrations::Epay::Helper
def form_fields
def form_fields @fields.merge('hash' => generate_md5hash) end
def format_order_number(number)
def format_order_number(number) number.to_s.gsub(/[^\w_]/, '').rjust(4, "0")[0...20] end
def generate_md5hash
def generate_md5hash Digest::MD5.hexdigest(generate_md5string) end
def generate_md5string
def generate_md5string @fields.sort.each.map { |key, value| key != 'hash' ? value.to_s : ''} * "" + @md5secret end
def initialize(order, merchantnumber, options = {})
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
def md5secret(value)
def md5secret(value) @md5secret = value end