class SuperpayApi::WebService

Attributes

savon_client[R]

Atributo para o cliente SOAP

Public Class Methods

new() click to toggle source

Nova instancia da classe WebService Será considerado o ambiente informado nas configurações

# File lib/superpay_api/web_service.rb, line 11
def initialize
  @savon_client = Savon.client(
    wsdl: ::SuperpayApi.url,
    env_namespace: :soapenv,
    convert_request_keys_to: :lower_camelcase,
    namespace_identifier: :pag,
    namespaces: {
      "xmlns:soapenv" => "http://schemas.xmlsoap.org/soap/envelope/",
      "xmlns:pag" => "http://pagamentos.webservices.superpay.ernet.com.br/",
    }
  )

  @savon_client_estorno = Savon.client(
    wsdl: ::SuperpayApi.url_estorno,
    env_namespace: :soapenv,
    convert_request_keys_to: :lower_camelcase,
    namespace_identifier: :est,
    namespaces: {
      "xmlns:soapenv" => "http://schemas.xmlsoap.org/soap/envelope/",
      "xmlns:est" => "http://estorno.webservices.superpay.ernet.com.br/",
    }
  )
end

Public Instance Methods

cancelar_transacao(numero_transacao) click to toggle source

Função que faz a requisição para cancelar_transacao

# File lib/superpay_api/web_service.rb, line 80
def cancelar_transacao(numero_transacao)
  # Monta os parâmetros
  params = helper.build_request_cancelar_transacao(numero_transacao)

  # Faz a requisição para o wsdl
  begin
    retorno = @savon_client.call(:operacao_transacao, message: params)
  rescue Savon::SOAPFault => error
    return helper.build_response_error(error)
  end

  # Verifica se a retorno veio correta ou se deu problema
  if retorno.blank?
    retorno = SuperpayApi::Retorno.new
    retorno.errors.add(:mensagem, "Resposta vazia")
    return retorno
  else
    return helper.build_response_retorno(retorno)
  end
end
capturar_transacao(numero_transacao) click to toggle source

Função que faz a requisição para capturar_transacao

# File lib/superpay_api/web_service.rb, line 102
def capturar_transacao(numero_transacao)
  # Monta os parâmetros
  params = helper.build_request_capturar_transacao(numero_transacao)

  # Faz a requisição para o wsdl
  begin
    retorno = @savon_client.call(:operacao_transacao, message: params)
  rescue Savon::SOAPFault => error
    return helper.build_response_error(error)
  end

  # Verifica se a retorno veio correta ou se deu problema
  if retorno.blank?
    retorno = SuperpayApi::Retorno.new
    retorno.errors.add(:mensagem, "Resposta vazia")
    return retorno
  else
    return helper.build_response_retorno(retorno)
  end
end
consulta_transacao_completa(numero_transacao) click to toggle source

Função que faz a requisição para consulta_transacao_completa

# File lib/superpay_api/web_service.rb, line 36
def consulta_transacao_completa(numero_transacao)
  # Monta os parâmetros
  params = helper.build_request_consulta_transacao_completa(numero_transacao)

  # Faz a requisição para o wsdl
  begin
    retorno = @savon_client.call(:consulta_transacao_completa, message: params)
  rescue Savon::SOAPFault => error
    return helper.build_response_error(error)
  end

  # Verifica se a retorno veio correta ou se deu problema
  if retorno.blank?
    retorno = SuperpayApi::Retorno.new
    retorno.errors.add(:mensagem, "Resposta vazia")
    return retorno
  else
    return helper.build_response_retorno(retorno)
  end
end
estorno_de_transacao(numero_transacao, valor_estorno) click to toggle source

Função que faz a requisição para Estorno de transação

# File lib/superpay_api/web_service.rb, line 124
def estorno_de_transacao(numero_transacao, valor_estorno)
  # Monta os parâmetros
  params = helper.build_request_estorno_de_transacao(numero_transacao, valor_estorno)

  # Faz a requisição para o wsdl
  begin
    retorno = @savon_client_estorno.call(:estorna_transacao, message: params)
  rescue Savon::SOAPFault => error
    return helper.build_response_error_estorno(error)
  end

  # Verifica se a retorno veio correta ou se deu problema
  if retorno.blank?
    return "Resposta vazia"
  else
    return helper.build_response_retorno_estorno(retorno)
  end
end
pagamento_transacao_completa(transacao) click to toggle source

Função que faz a requisição para pagamento_transacao_completa

# File lib/superpay_api/web_service.rb, line 58
def pagamento_transacao_completa(transacao)
  # Monta os parâmetros
  params = helper.build_request_pagamento_transacao_completa(transacao)

  # Faz a requisição para o wsdl
  begin
    retorno = @savon_client.call(:pagamento_transacao_completa, message: params)
  rescue Savon::SOAPFault => error
    return helper.build_response_error(error)
  end

  # Verifica se a retorno veio correta ou se deu problema
  if retorno.blank?
    retorno = SuperpayApi::Retorno.new
    retorno.errors.add(:mensagem, "Resposta vazia")
    return retorno
  else
    return helper.build_response_retorno(retorno)
  end
end

Private Instance Methods

helper() click to toggle source

Acesso ao helper

# File lib/superpay_api/web_service.rb, line 146
def helper
  @helper ||= SuperpayApi::Helper.new
end