class OffsitePayments::Integrations::PayuIn::Helper

Constants

CHECKSUM_FIELDS

Public Class Methods

new(order, account, options = {}) click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/payu_in.rb, line 69
def initialize(order, account, options = {})
  super
  @options = options
  self.pg = 'CC'
  add_field('udf5', application_id)
end

Public Instance Methods

form_fields() click to toggle source
# File lib/offsite_payments/integrations/payu_in.rb, line 76
def form_fields
  sanitize_fields
  @fields.merge(mappings[:checksum] => generate_checksum)
end
generate_checksum() click to toggle source
# File lib/offsite_payments/integrations/payu_in.rb, line 81
def generate_checksum
  checksum_payload_items = CHECKSUM_FIELDS.map { |field| @fields[field] }

  PayuIn.checksum(@fields["key"], @options[:credential2], checksum_payload_items )
end
sanitize_fields() click to toggle source
# File lib/offsite_payments/integrations/payu_in.rb, line 87
def sanitize_fields
  @fields['phone'] = @fields['phone'].gsub(/[^0-9]/, '') if @fields['phone']
  ['address1', 'address2', 'city', 'state', 'country', 'productinfo', 'email'].each do |field|
    @fields[field] = @fields[field].gsub(/[^a-zA-Z0-9\-_@\/\s.]/, '') if @fields[field]
  end
end