整合Paytm时网站上不允许出现特殊字符错误

时间:2019-04-18 10:42:09

标签: ruby-on-rails ruby paytm

我只想在Web上使用ruby on rails集成paytm,现在的问题是,当我从数据库中获取属性值(如MID,CUST_ID,WEBSITE,CALLBACK_URL,INDUSTRY_TYPE_ID和其他一些属性)时,出现了一个问题在下面。

属性:

paramList [“ WEBSITE”] =“ WEBSTAGING”

错误:

无效:不允许使用特殊字符

enter image description here

def start_payment
    unless @paytm_keys.nil? 
      paramList = Hash.new
      paramList["MID"] =  ""
      paramList["ORDER_ID"] = "#{Time.now.to_i.to_s}"
      paramList["CUST_ID"] = "#{Time.now.to_i.to_s}"
      paramList["INDUSTRY_TYPE_ID"] = @paytm_keys.industry_type_id
      paramList["CHANNEL_ID"] = @paytm_keys.channel_id
      paramList["TXN_AMOUNT"] = @payable_amount
      paramList["MOBILE_NO"] = @paytm_keys.mobile_number
      paramList["EMAIL"] = @paytm_keys.email
      paramList["WEBSITE"] = "WEBSTAGING" 
      paramList["CALLBACK_URL"] = @paytm_keys.paytm_url
      @paramList=paramList
      puts @paramList
      @checksum_hash = generate_checksum()
      respond_to do |format|
        format.js
        format.html
      end
    else
      redirect_to new_checkout_path, alert: "Right now you don't have to pay."
    end
  end

1 个答案:

答案 0 :(得分:0)

似乎您在哈希中传递的参数之一中有一些特殊字符。看看

的输出
puts @paramList

如果您可以在问题中发帖,这可能会有所帮助,但是您可能希望通过替换或删除看跌期权中的所有有效字母数字字符来混淆真实凭证,以便向我们提供以下输出:

puts paramList.to_s.gsub(/\w/, '') 

# this should only contain non alphanumeric characters which 
# would be safe to post in your question.