class OffsitePayments::Integrations::Paytm::Helper
Constants
- CHECKSUM_FIELDS
Public Class Methods
new(order, account, options = {})
click to toggle source
Calls superclass method
# File lib/offsite_payments/integrations/paytm.rb, line 63 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
Public Instance Methods
customer(options = {})
click to toggle source
# File lib/offsite_payments/integrations/paytm.rb, line 74 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
encrypt_checksum()
click to toggle source
# File lib/offsite_payments/integrations/paytm.rb, line 90 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
form_fields()
click to toggle source
# File lib/offsite_payments/integrations/paytm.rb, line 85 def form_fields sanitize_fields @fields.merge(mappings[:checksum] => encrypt_checksum) end
sanitize_field(field)
click to toggle source
# File lib/offsite_payments/integrations/paytm.rb, line 106 def sanitize_field(field) field.gsub(/[^a-zA-Z0-9\-_@\/\s.]/, '') if field end
sanitize_fields()
click to toggle source
# File lib/offsite_payments/integrations/paytm.rb, line 100 def sanitize_fields %w(email phone).each do |field| @fields[field] = sanitize_field(@fields[field]) end end