Sachin Singh
Sachin Singh

Reputation: 7225

issue while connecting to payU

I am trying to connect my web application to PayU, my code is

require 'net/http'
require 'json'

uri = URI('https://test.payu.in/merchant/postservice')
req = Net::HTTP::Post.new(uri, initheader = {'Content-Type' =>'application/json'})

req.body = {key: "some key", command: "save_user_card", hash: "some code", var1: "some code",
var2: "dummy",
var3: "CC",
var4: "AMEX",
var5: "some name",
var6: "card number",
var7: "05",
var8: "2017"}.to_json

res = Net::HTTP.start(uri.hostname, uri.port) do |http|
  http.request(req)
end

and the error message that i get is

net/http/response.rb:41:in `read_status_line': wrong status line: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">" (Net::HTTPBadResponse)

please provide me with some hints to resolve this issue.

Upvotes: 0

Views: 362

Answers (1)

Narasu Londave
Narasu Londave

Reputation: 29

As url has https ,use like request = URI.parse(URI.encode(request.strip)) http = Net::HTTP.new(request.host, request.port) request = Net::HTTP::Post.new(request.request_uri) request.set_form_data('form'=>'2','key' => @merchant_key,'command'=>command,'hash'=>hash,'var1'=>input_array_var) http.use_ssl = true response = http.request(request)

Upvotes: 1

Related Questions