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