Class: SuperpayApi::WebService

Inherits:
Object
  • Object
show all
Defined in:
lib/superpay_api/web_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeWebService

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



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/superpay_api/web_service.rb', line 12

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/",
    }
  )
end

Instance Attribute Details

#savon_clientObject (readonly)

Atributo para o cliente SOAP



8
9
10
# File 'lib/superpay_api/web_service.rb', line 8

def savon_client
  @savon_client
end

Instance Method Details

#consulta_transacao_completa(numero_transacao) ⇒ Object

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



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/superpay_api/web_service.rb', line 26

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?
    return {error: true}
  else
    return helper.build_response_retorno(retorno)
  end
end

#pagamento_transacao_completa(transacao) ⇒ Object

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



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/superpay_api/web_service.rb', line 46

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)
    # return helper.build_response_error({error: error.to_hash[:fault][:faultstring]})
  end

  # Verifica se a retorno veio correta ou se deu problema
  if retorno.blank?
    return {error: true}
  else
    return helper.build_response_retorno(retorno)
  end
end