class Upay::Requestor

Public Instance Methods

delete(url, data = {}) click to toggle source
# File lib/upay/requestor.rb, line 70
def delete url, data = {}
  request = self.rest.delete do |req|
    req.url "#{url}"
    req.headers['Accept'] = 'application/json'
    req.headers['Content-Type'] = 'application/json; charset=utf-8'
    req.body = data.to_json
  end
  return request.body
end
get(url, data = {}) click to toggle source
# File lib/upay/requestor.rb, line 50
def get url, data = {}
  request = self.rest.get do |req|
    req.url "#{url}"
    req.headers['Accept'] = 'application/json'
    req.headers['Content-Type'] = 'application/json; charset=utf-8'
    req.body = data.to_json
  end
  return request.body
end
post(url, data = {}) click to toggle source
# File lib/upay/requestor.rb, line 60
def post url, data = {}
  request = self.rest.post do |req|
    req.url "#{url}"
    req.headers['Accept'] = 'application/json'
    req.headers['Content-Type'] = 'application/json; charset=utf-8'
    req.body = data.to_json
  end
  return request.body
end
put(url, data = {}) click to toggle source
# File lib/upay/requestor.rb, line 80
def put url, data = {}
  request = self.rest.put do |req|
    req.url "#{url}"
    req.headers['Accept'] = 'application/json'
    req.headers['Content-Type'] = 'application/json; charset=utf-8'
    req.body = data.to_json
  end
  return request.body
end
request(url, command, data={}) click to toggle source
# File lib/upay/requestor.rb, line 15
def request(url, command, data={})
  api_uri = URI.parse("https://#{'stg.' if Upay.test}api.payulatam.com")

  http = Net::HTTP.new(api_uri.host, api_uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  data["merchant"] = {
    "apiKey" =>     Upay.api_key,
    "apiLogin" =>   Upay.api_login
  }

  data["command"] = command
  data["test"] = Upay.test || false
  data["language"] = "es" || Upay.lang

  headers = {
    "Accept" =>         "application/json",
    "Content-Type" =>   "application/json; charset=utf-8"
  }

  result = http.send_request("POST", url, data.to_json, headers)

  begin
    response = JSON.parse(result.body)
  rescue Exception => e
    response = result.body
  end

  return {
    "status" => result.code,
    "response" => response
  }
end
rest() click to toggle source
# File lib/upay/requestor.rb, line 4
def rest
  api_uri = (Upay.test) ? 'https://stg.api.payulatam.com/payments-api/' : "https://api.payulatam.com/payments-api/"
  @rest = Faraday.new(:url => api_uri, :ssl => {:verify => false},  headers: { accept: 'application/json', :"Content-Type" => 'application/json; charset=utf-8' }) do |faraday|
    faraday.response :logger if Upay.logger == true
    faraday.response :json, :content_type => /\b(json|json-home)$/
    faraday.adapter  Faraday.default_adapter
  end
  @rest.basic_auth Upay.api_login, Upay.api_key
  @rest
end