Consultar detalhes da transação
Como funciona
- Seu sistema solicita os detalhes de uma transação específica para a API;
- A Gerencianet processa as informações e retorna todas as informações da transação em formato XML;
- 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.
- <?xml version="1.0" encoding="utf-8"?>
- <integracao>
- <transacao>11110003</transacao>
- </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:
- <?xml version="1.0" encoding="utf-8"?>
- <integracao>
- <status>2</status>
- <resposta>
- <transacao>11110003</transacao>
- <status>pago</status>
- <codigoStatus>5</codigoStatus>
- <pagamento>boleto</pagamento>
- <codigoPagamento>1</codigoPagamento>
- <descricao>descricao de teste</descricao>
- <valor>1300</valor>
- <dataEmissao>2014-01-03</dataEmissao>
- <vencimento>2014-01-06</vencimento>
- <cliente>
- <nome>nome de seu cliente</nome>
- <email>seucliente@email.com</email>
- <endereco>
- <rua>rua ficticia</rua>
- <numero>3</numero>
- <bairro>ficticio</bairro>
- <complemento>casa</complemento>
- <cep>99999999</cep>
- <cidade>Cidade Ficticia</cidade>
- <estado>MG</estado>
- </endereco>
- </cliente>
- <historico>
- <log>
- <acao>Pagamento efetuado via boleto</acao>
- <data>2014-01-31T:10:59:58</data>
- <status>pago</status>
- <codigoStatus>5</codigoStatus>
- </log>
- <log>
- <acao>Cliente selecionou pagamento via boleto</acao>
- <data>2014-01-30T:10:10:10</data>
- <status>aguardando</status>
- <codigoStatus>1</codigoStatus>
- </log>
- </historico>
- </resposta>
- </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:
- <?xml version="1.0" encoding="utf-8"?>
- <integracao>
- <status>1</status>
- <erros>
- <codigo>10038</codigo>
- <erro>Transação não enviada ou inexistente</erro>
- </erros>
- </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:
|
codigoStatus | Demonstra código referente ao status atual da transação. Os códigos podem ser:
|
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. |
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
- $url = "https://go.gerencianet.com.br/api/detalhes/xml";
- $token = "token";
- $xml = "<?xml version='1.0' encoding='utf-8'?>
- <integracao>
- <transacao>13201</transacao>
- </integracao>";
- $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
- curl_setopt($ch, CURLOPT_AUTOREFERER, true);
- $data = array("token" => $token, "dados" => $xml);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- $response = curl_exec($ch);
- curl_close($ch);
- echo "<xmp>".$response."</xmp>";
Via Guzzle
- $url = "https://go.gerencianet.com.br/api/detalhes/xml";
- $token = "token";
- $xml = "<?xml version='1.0' encoding='utf-8'?>
- <integracao>
- <transacao>1231231</transacao>
- </integracao>";
- $xml = str_replace(array("\n", "\r", "\t"), '', $xml);
- Guzzle\Http\StaticClient::mount();
- $client = new \Guzzle\Http\Client($url);
- $request = $client->post('', null, array("token" => $token, "dados" => $xml));
- $response = $request->send();
- echo "<xmp>".$response."</xmp>";
- String url = "https://go.gerencianet.com.br/api/detalhes/xml";
- String token = "token";
- String xml = "<?xml version='1.0' encoding='utf-8'?>" +
- "<integracao>" +
- "<transacao>17469100</transacao>" +
- "</integracao>";
- HttpClient client = new DefaultHttpClient();
- HttpPost post = new HttpPost(url);
- List<NameValuePair> urlParameters;
- urlParameters = new ArrayList<>();
- urlParameters.add(new BasicNameValuePair("token", token));
- urlParameters.add(new BasicNameValuePair("dados", xml));
- post.setEntity(new UrlEncodedFormEntity(urlParameters));
- HttpResponse response = client.execute(post);
- System.out.println("Response Code : " + response.getStatusLine().getStatusCode());
- BufferedReader rd = new BufferedReader(
- new InputStreamReader(response.getEntity().getContent()));
- StringBuilder result = new StringBuilder();
- String line = "";
- while ((line = rd.readLine()) != null) {
- result.append(line);
- }
- System.out.println(result.toString());
- String url = "http://go.gerencianet.com.br/api/detalhes/xml";
- String token = "token";
- String xml = "<?xml version='1.0' encoding='utf-8'?> <integracao> <transacao>1231231</transacao> </integracao>";
- WebClient client = new WebClient();
- NameValueCollection postData = new NameValueCollection() { { "token", token }, { "dados", xml } };
- byte[] response = client.UploadValues(url, postData);
- Console.WriteLine("Output: " + System.Text.Encoding.Default.GetString(response));
- import requests
- import xmltodict
- url = "https://go.gerencianet.com.br/api/detalhes/xml"
- token = "token"
- params = { 'integracao': { 'transacao': '17469100' } }
- response = requests.post(url = url, data = { 'token': token, 'dados': xmltodict.unparse(params) })
- print response.text
- require 'httparty'
- url = "http://go.gerencianet.com.br/api/detalhes/xml"
- token = "token"
- xml = "<?xml version='1.0' encoding='utf-8'?> <integracao> <transacao>1231231</transacao> </integracao>"
- 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.