Consultar detalhes da transação

Como funciona

  1. Seu sistema solicita os detalhes de uma transação específica para a API;
  2. A Gerencianet processa as informações e retorna todas as informações da transação em formato XML;
  3. Com as informações sobre a transação em mãos você poderá executar baixas em seu estoque, liberar serviços, bloquear ou desbloquear clientes, etc.

Token de integração

O token de integração é uma espécie de senha. Ele é solicitado em todas as requisições da api de pagamentos.

Não divulgue seu token de integração. Caso isto aconteça, a Gerencianet recomenda que você gere um novo.

Para gerar um token de integração acesse sua conta Gerencianet e clique em Desenvolvedor e, em seguida Token de integração.

Consumindo a API

Para consultar os detalhes de uma transação, sua aplicação deve nos enviar o token de integração, e o identificador do pagamento:

POST https://go.gerencianet.com.br/api/detalhes/xml HTTP/1.1

Content-Type: multipart/form-data; charset=utf-8

token=token_de_integracao

dados=seu_xml

Ambiente de testes

Para realizar testes na API de pagamentos basta enviar as requisições para o ambiente de testes localizado em:

POST https://go.gerencianet.com.br/teste/api/detalhes/xml HTTP/1.1

Content-Type: multipart/form-data; charset=utf-8

token=token_de_integracao

dados=seu_xml

Requisições enviadas ao ambiente de testes retornam apenas um detalhes de transações listadas pelo histórico fictício.

Exemplo dos dados em formato XML

A seguir você encontra um exemplo de como os dados devem ser organizados em formato xml. O exemplo a seguir possui todos os parâmetros disponíveis.

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <integracao>
  3. <transacao>11110003</transacao>
  4. </integracao>

Descrição dos parâmetros de entrada

Tag Obrigatória Descrição
transacao sim Código da transação que deseja-se receber o detalhamento

Resposta em caso de sucesso

Se a requisição for processada com sucesso a Gerencianet retornará o detalhamento da transação em formato XML, como no exemplo a seguir:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <integracao>
  3. <status>2</status>
  4. <resposta>
  5. <transacao>11110003</transacao>
  6. <status>pago</status>
  7. <codigoStatus>5</codigoStatus>
  8. <pagamento>boleto</pagamento>
  9. <codigoPagamento>1</codigoPagamento>
  10. <descricao>descricao de teste</descricao>
  11. <valor>1300</valor>
  12. <dataEmissao>2014-01-03</dataEmissao>
  13. <vencimento>2014-01-06</vencimento>
  14. <cliente>
  15. <nome>nome de seu cliente</nome>
  16. <email>seucliente@email.com</email>
  17. <endereco>
  18. <rua>rua ficticia</rua>
  19. <numero>3</numero>
  20. <bairro>ficticio</bairro>
  21. <complemento>casa</complemento>
  22. <cep>99999999</cep>
  23. <cidade>Cidade Ficticia</cidade>
  24. <estado>MG</estado>
  25. </endereco>
  26. </cliente>
  27. <historico>
  28. <log>
  29. <acao>Pagamento efetuado via boleto</acao>
  30. <data>2014-01-31T:10:59:58</data>
  31. <status>pago</status>
  32. <codigoStatus>5</codigoStatus>
  33. </log>
  34. <log>
  35. <acao>Cliente selecionou pagamento via boleto</acao>
  36. <data>2014-01-30T:10:10:10</data>
  37. <status>aguardando</status>
  38. <codigoStatus>1</codigoStatus>
  39. </log>
  40. </historico>
  41. </resposta>
  42. </integracao>

Resposta em caso de erro

Caso ocorra algum erro na requisição à API de pagamentos a resposta listará todos os error encontrados como no exemplo à seguir:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <integracao>
  3. <status>1</status>
  4. <erros>
  5. <codigo>10038</codigo>
  6. <erro>Transação não enviada ou inexistente</erro>
  7. </erros>
  8. </integracao>

Descrição dos parâmetros de saída

Tag Descrição
status Código de status do processamento da requisição. Pode ser 1 ou 2. Caso seja 1 indica que ocorreu algum erro. Caso for 2 o processamento foi realizado com sucesso.
resposta Engloba toda resposta da requisição.
transacao Deve ser o número de transação enviado.
status Demonstra o status atual da transação. Os status podem ser:
  • aguardando (para transações ainda não pagas)
  • pago (para transações que já foram pagas)
  • recusado (para transações com cartão de crédito recusado)
  • visualizado (para transações em que o cliente já abriu a tela de pagamento mas ainda não o efetuou)
  • selecionado (para transações que estão aguardando a confirmação do pagamento)
  • cancelado (para transações que foram canceladas)
  • arquivado (para transações que foram pagas e arquivadas)
  • vencido (para transações que ultrapassaram a data de vencimento e ainda não foram pagas)
codigoStatus Demonstra código referente ao status atual da transação. Os códigos podem ser:
  • 1 (aguardando)
  • 2 (visitado)
  • 3 (selecionado)
  • 4 (vencido)
  • 5 (pago)
  • 6 (recusado)
  • 7 (arquivado)
  • 8 (cancelado)
pagamento Demonstra a forma de pagamento selecionada pelo cliente. Esta tag existirá somente se a cobrança tiver o status "pago". Os valores possíveis para esta tag são: boleto e cartão de crédito
codigoPagamento Código da forma de pagamento selecionada pelo cliente. Esta tag existirá somente se a cobrança tiver o status "pago". Os valores possíveis para esta tag são: 1 (boleto) e 2 (cartão de crédito)
descricao Descrição referente desta transação.
valor Valor, em centavos, do item envolvido na transação. Este campo deve conter apenas números. Por exemplo, se o item custa R$ 99,00, o valor deverá ser 9900.
dataEmissao Data da emissão da transação no formato:
YYYY-MM-DDThh:mm:ss
formato oficial do W3C
vencimento Data de vencimento da transação no formato:
YYYY-MM-DDThh:mm:ss
formato oficial do W3C
cliente Engloba todos os dados do cliente envolvido na transação.
nome Nome do cliente.
email E-mail do cliente.
endereco Engloba todos os dados de endereço do cliente envolvido na transação.
rua Rua do endereço cadastrada pelo cliente.
numero Número do endereço cadastrado pelo cliente.
bairro Bairro do endereço cadastrado pelo cliente.
complemento Complemento do endereço cadastrado pelo cliente.
cep CEP do endereço cadastrado pelo cliente. O formato do CEP 35400-000 será: 35400000
cidade Cidade do endereço cadastrado pelo cliente.
estado Estado (sigla) do endereço cadastrado pelo cliente.
historico Engloba o log de mudanças do statusTransacao desta transação. Ordenado por data mais atual.
log Uma ocorrência de modificação do statusTransacao.
acao Descrição da ação que efetuou a alteração de status.
data Data da realização da mudança de status da transação no formato:
YYYY-MM-DDThh:mm:ss
formato oficial do W3C
status Simboliza o status da transação quando foi realizada a mudança.
codigoStatus Código do status da transação quando foi realizada a mudança (mesma sequência listada na tag resposta > codigoStatus).
pagamento Demonstra a forma de pagamento selecionada pelo cliente. Esta tag existirá somente o status for igual a "pago". Os valores possíveis para esta tag são: boleto e cartão de crédito
codigoPagamento Código da forma de pagamento selecionada pelo cliente. Esta tag existirá somente o status for igual a "pago". Os valores possíveis para esta tag são: 1 (boleto) e 2 (cartão de crédito)
erros Em caso de status 1, os dados dos erros serão englobados por esta tag.
codigo Código que simboliza o erro gerado.
erro Descrição do erro ocorrido ao realiza a requisição.

Exemplos

Via Curl
  1. $url = "https://go.gerencianet.com.br/api/detalhes/xml";
  2. $token = "token";
  3.  
  4. $xml = "<?xml version='1.0' encoding='utf-8'?>
  5. <integracao>
  6. <transacao>13201</transacao>
  7. </integracao>";
  8.  
  9. $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
  10.  
  11. $ch = curl_init();
  12. curl_setopt($ch, CURLOPT_URL, $url);
  13. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  14. curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
  15. curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  16. $data = array("token" => $token, "dados" => $xml);
  17.  
  18. curl_setopt($ch, CURLOPT_POST, true);
  19.  
  20. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  21. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  22. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  23. $response = curl_exec($ch);
  24.  
  25. curl_close($ch);
  26.  
  27. echo "<xmp>".$response."</xmp>";
Via Guzzle
  1. $url = "https://go.gerencianet.com.br/api/detalhes/xml";
  2. $token = "token";
  3.  
  4. $xml = "<?xml version='1.0' encoding='utf-8'?>
  5. <integracao>
  6. <transacao>1231231</transacao>
  7. </integracao>";
  8.  
  9. $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
  10.  
  11. Guzzle\Http\StaticClient::mount();
  12. $client = new \Guzzle\Http\Client($url);
  13. $request = $client->post('', null, array("token" => $token, "dados" => $xml));
  14. $response = $request->send();
  15.  
  16. echo "<xmp>".$response."</xmp>";
  1. String url = "https://go.gerencianet.com.br/api/detalhes/xml";
  2. String token = "token";
  3.  
  4. String xml = "<?xml version='1.0' encoding='utf-8'?>" +
  5. "<integracao>" +
  6. "<transacao>17469100</transacao>" +
  7. "</integracao>";
  8.  
  9. HttpClient client = new DefaultHttpClient();
  10. HttpPost post = new HttpPost(url);
  11.  
  12. List<NameValuePair> urlParameters;
  13. urlParameters = new ArrayList<>();
  14. urlParameters.add(new BasicNameValuePair("token", token));
  15. urlParameters.add(new BasicNameValuePair("dados", xml));
  16.  
  17. post.setEntity(new UrlEncodedFormEntity(urlParameters));
  18.  
  19. HttpResponse response = client.execute(post);
  20. System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
  21.  
  22. BufferedReader rd = new BufferedReader(
  23. new InputStreamReader(response.getEntity().getContent()));
  24.  
  25. StringBuilder result = new StringBuilder();
  26. String line = "";
  27. while ((line = rd.readLine()) != null) {
  28. result.append(line);
  29. }
  30.  
  31. System.out.println(result.toString());
  1. String url = "http://go.gerencianet.com.br/api/detalhes/xml";
  2. String token = "token";
  3. String xml = "<?xml version='1.0' encoding='utf-8'?> <integracao> <transacao>1231231</transacao> </integracao>";
  4.  
  5. WebClient client = new WebClient();
  6. NameValueCollection postData = new NameValueCollection() { { "token", token }, { "dados", xml } };
  7. byte[] response = client.UploadValues(url, postData);
  8.  
  9. Console.WriteLine("Output: " + System.Text.Encoding.Default.GetString(response));
  1. import requests
  2. import xmltodict
  3.  
  4. url = "https://go.gerencianet.com.br/api/detalhes/xml"
  5. token = "token"
  6. params = { 'integracao': { 'transacao': '17469100' } }
  7.  
  8. response = requests.post(url = url, data = { 'token': token, 'dados': xmltodict.unparse(params) })
  9. print response.text
  1. require 'httparty'
  2.  
  3. url = "http://go.gerencianet.com.br/api/detalhes/xml"
  4. token = "token"
  5. xml = "<?xml version='1.0' encoding='utf-8'?> <integracao> <transacao>1231231</transacao> </integracao>"
  6. HTTParty.post(url, body: { token: token, dados: xml }).body

Histórico de requisições

Acompanhe o histórico de requisições realizadas à API de pagamentos em sua conta. O histórico de requisições é ideal para identificar erros durante a etapa de implementação da integração.