class Easebuzz::Payment
Public Class Methods
initiate(params)
click to toggle source
# File lib/paywitheasebuzz-ruby/payment.rb, line 3 def self.initiate params params = self.get_params(JSON.parse((params || {}).to_json)) validation_result = self.params_valid? params if validation_result['status'] easepay_response = Easebuzz.request.initiate_payment params easepay_response else validation_result end end
Private Class Methods
get_params(params)
click to toggle source
# File lib/paywitheasebuzz-ruby/payment.rb, line 48 def self.get_params params params['key'] = Easebuzz.key udf_keys = ["udf1","udf2","udf3","udf4","udf5","udf6","udf7","udf8","udf9","udf10"] (params.keys + udf_keys).uniq.each do |param_key| value = params[param_key] || '' params[param_key] = value.instance_of?(String) ? value.strip : value end params['hash'] = Helper.generate_hash(params, Easebuzz.key, Easebuzz.salt) params end
params_valid?(params)
click to toggle source
# File lib/paywitheasebuzz-ruby/payment.rb, line 15 def self.params_valid? params result = { 'status' => true } if not params['key'].present? or not params['key'].instance_of?(String) result['status'] = false result['message'] = "Merchant Key is not valid. Must be string. Please refer documentation." elsif not params['txnid'].present? or not params['txnid'].instance_of?(String) result['status'] = false result['message'] = "Transaction ID is not valid. Must be string. Please refer documentation." elsif not params['amount'].present? or not params['amount'].instance_of?(Float) result['status'] = false result['message'] = "Amount is not valid. Must be float. Please refer documentation." elsif not params['productinfo'].present? or not params['productinfo'].instance_of?(String) result['status'] = false result['message'] = "Product Info is not valid. Must be string. Please refer documentation." elsif not params['firstname'].present? or not params['firstname'].instance_of?(String) result['status'] = false result['message'] = "First Name is not valid. Must be string. Please refer documentation." elsif not params['email'].present? or not params['email'].match? URI::MailTo::EMAIL_REGEXP result['status'] = false result['message'] = "Email is not valid. Must be a valid email. Please refer documentation." elsif not params['phone'].present? or not params['phone'].instance_of?(String) result['status'] = false result['message'] = "Phone number is not valid. Must be string. Please refer documentation." elsif not params['surl'].present? or not params['surl'].instance_of?(String) result['status'] = false result['message'] = "Success URL is not valid. Must be string. Please refer documentation." elsif not params['furl'].present? or not params['furl'].instance_of?(String) result['status'] = false result['message'] = "Failure URL is not valid. Must be string. Please refer documentation." end result end