Не допускается ошибка на веб-сайте при вводе платежа - PullRequest
0 голосов
/ 18 апреля 2019

Я хочу интегрировать paytm с использованием ruby ​​на рельсах только для веб, теперь проблема в том, что когда я выбираю значения атрибутов из базы данных, таких как 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 голосов
/ 18 апреля 2019

Кажется, в одном из параметров, которые вы передаете в хэш, есть какие-то специальные символы.Посмотрите на вывод

puts @paramList

. Это может быть полезно, если вы можете опубликовать это в своем вопросе, но вы, вероятно, хотите скрыть реальные учетные данные, возможно, заменив или удалив все действительные буквенно-цифровые символы из ваших пут, такВы можете дать нам вывод:

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

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