Class: PayuIndia::Helper

Inherits:
Object
  • Object
show all
Defined in:
lib/payuindia.rb

Constant Summary collapse

CHECKSUM_FIELDS =
[ :txnid, :amount, :productinfo, :firstname, :email, :udf1, :udf2, :udf3, :udf4,
:udf5, :udf6, :udf7, :udf8, :udf9, :udf10 ]

Instance Method Summary collapse

Constructor Details

#initialize(key, salt, options = {}) ⇒ Helper

Returns a new instance of Helper.



65
66
67
# File 'lib/payuindia.rb', line 65

def initialize(key, salt, options = {})
  @key, @salt, @options = key, salt, options
end

Instance Method Details

#form_fieldsObject



69
70
71
72
# File 'lib/payuindia.rb', line 69

def form_fields
  sanitize_fields
  @options.merge(:hash => generate_checksum)
end

#generate_checksumObject



74
75
76
77
# File 'lib/payuindia.rb', line 74

def generate_checksum
  checksum_payload_items = CHECKSUM_FIELDS.map { |field| @options[field] }
  PayuIndia.checksum(@key, @salt, checksum_payload_items )
end

#sanitize_fieldsObject



79
80
81
82
83
# File 'lib/payuindia.rb', line 79

def sanitize_fields
  [:address1, :address2, :city, :state, :country, :productinfo, :email, :phone].each do |field|
    @options[field].gsub!(/[^a-zA-Z0-9\-_@\/\s.]/, '') if @options[field]
  end
end