class OffsitePayments::Integrations::Paytm::Helper

def customer(options = {})

def customer(options = {})
  customer_id =
    if options[:email].present?
      sanitize_field(options[:email])
    else
      sanitize_field(options[:phone])
    end
  add_field('CUST_ID', customer_id)
end

def encrypt_checksum

def encrypt_checksum
  payload_items = {}
  CHECKSUM_FIELDS.each do |field|
    payload_items[field] = @fields[field]
  end
  Paytm.encrypt(Paytm.checksum(payload_items), @options[:credential2])
end

def form_fields

def form_fields
  sanitize_fields
  @fields.merge(mappings[:checksum] => encrypt_checksum)
end

def initialize(order, account, options = {})

def initialize(order, account, options = {})
  super
  @options = options
  @timestamp = Time.now.strftime('%Y%m%d%H%M%S')
  add_field(mappings[:channel_id], "WEB")
  add_field 'ORDER_ID', "#{order}-#{@timestamp.to_i}"
  self.pg = 'CC'
end

def sanitize_field(field)

def sanitize_field(field)
  field.gsub(/[^a-zA-Z0-9\-_@\/\s.]/, '') if field
end

def sanitize_fields

def sanitize_fields
  %w(email phone).each do |field|
    @fields[field] = sanitize_field(@fields[field])
  end
end