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.



33
34
35
# File 'lib/payuindia.rb', line 33

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

Instance Method Details

#form_fieldsObject



37
38
39
40
# File 'lib/payuindia.rb', line 37

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

#generate_checksumObject



42
43
44
45
# File 'lib/payuindia.rb', line 42

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

#sanitize_fieldsObject



47
48
49
50
51
# File 'lib/payuindia.rb', line 47

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