Detalhamento de Cobranças
Como funciona
Detalhe as cobranças geradas no sistema Gerencianet.
O consumo do webservice é realizado a partir do envio de um XML via post.
O XML deve ser atribuído ao parâmetro xml do post enviado:
POST https://fortunus.gerencianet.com.br/webservice/detalharCobranca HTTP/1.0
xml=seu_xml
Você deve especificar através do XML (cuja estrutura é mostrada a seguir), o token de integração e a chave da cobrança a ser detalhada.
</> Estrutura do XML a ser enviado
TAG | OBRIGATÓRIA | DESCRIÇÃO |
Token <DetalharCobranca> <Token> |
Sim |
Chave de integração com 32 caracteres, gerada em sua conta. |
Chave <DetalharCobranca> <Chave> |
Sim |
Chave da cobrança a ser detalhada, retornada nas integrações de emissão. |
</> Quais dados você receberá?
TAG | DESCRIÇÃO |
StatusCod <DetalharCobranca> <StatusCod> |
Pode conter os valores:
|
Processo <DetalharCobranca> <Processo> |
Em formato numérico, o processo é o identificador de consumo do webservice. |
Tipo <DetalharCobranca> <Tipo> |
Informa o tipo da cobrança sendo detalhada, pode conter os valores:
|
Numero <DetalharCobranca> <Numero> |
Número da cobrança detalhada. |
Cliente <DetalharCobranca> <Cliente> |
Informações do cliente à quem a cobrança foi destinada. |
Nome <DetalharCobranca> <Cliente> <Nome> |
Nome do cliente à quem a cobrança foi destinada. |
<DetalharCobranca> <Cliente> <Email> |
E-mail do cliente à quem a cobrança foi destinada. |
Telefone <DetalharCobranca> <Cliente> <Telefone> |
Telefone do cliente à quem a cobrança foi destinada. |
CpfCnpJ <DetalharCobranca> <Cliente> <CpfCnpJ> |
CPF ou CNPJ do cliente à quem a cobrança foi destinada. |
Endereco <DetalharCobranca> <Cliente> <Endereco> |
Endereço do cliente à quem a cobrança foi destinada. |
ProdutosServicos <DetalharCobranca> <ProdutosServicos> |
Produtos e/ou serviços que justificam o valor da cobrança. |
Item <DetalharCobranca> <ProdutosServicos> <Item> |
Itens que estão inclusos na cobrança, sejão eles, produtos ou serviços. |
Descricao <DetalharCobranca> <ProdutosServicos> <Item> <Descricao> |
Descrição do item incluso na cobrança. |
ValorUnitario <DetalharCobranca> <ProdutosServicos> <Item> <ValorUnitario> |
Valor, em centavos, do item envolvido na cobrança. Por exemplo, se o item custa R$99,00, o valor será detalhando como “9900”. |
Quantidade <DetalharCobranca> <ProdutosServicos> <Item> <Quantidade> |
Quantidade desse item específico a ser enviada para o cliente ou empresa. |
Desconto <DetalharCobranca> <ProdutosServicos> <Item> <Desconto> |
Desconto, em centavos, do item envolvido na cobrança. Por exemplo, se o desconto é de R$1,00, o valor será detalhando como “100”. |
Dados específicos para detalhamento de boletos
TAG | DESCRIÇÃO |
Boleto <DetalharCobranca> <Boleto> |
Informações detalhadas sobre o boleto. |
Status <DetalharCobranca> <Boleto> <Status> |
Status que se encontra o boleto. Por exemplo: Aguardando Pagamento, Inadimplente, Pagamento Confirmado, etc. |
Valor <DetalharCobranca> <Boleto> <Valor> |
Valor total do boleto. |
DataEmissao <DetalharCobranca> <Boleto> <DataEmissao> |
Data em que o boleto foi emitido. |
DataVencimento <DetalharCobranca> <Boleto> <DataVencimento> |
Data de vencimento do boleto. |
DataPagamento <DetalharCobranca> <Boleto> <DataPagamento> |
Data em que o cliente realizou o pagamento do boleto |
Dados específicos para detalhamento de carnês
TAG | DESCRIÇÃO |
Carne <DetalharCobranca> <Carne> |
Informações detalhadas sobre o carnê. |
ValorTotal <DetalharCobranca> <Carne> <ValorTotal> |
Soma do valor de todas as pacelas do carnê. |
Parcelas <DetalharCobranca> <Carne> <Parcelas> |
Detalhe de cada parcela do carnê. |
Parcela <DetalharCobranca> <Carne> <Parcelas> <Parcela> |
Detalhe de uma determinada parcela do carnê. Esta tag pode constar mais de uma vez no detalhamento, depende da quantidade de parcelas do carnê detalhado. |
Numero <DetalharCobranca> <Carne> <Parcelas> <Parcela> <Numero> |
Número da parcela. |
Status <DetalharCobranca> <Carne> <Parcelas> <Parcela> <Status> |
Status que se encontra a parcela. Por exemplo: Aguardando Pagamento, Inadimplente, Pagamento Confirmado, etc. |
Valor <DetalharCobranca> <Carne> <Parcelas> <Parcela> <Valor> |
Valor da parcela. |
DataEmissao <DetalharCobranca> <Carne> <Parcelas> <Parcela> <DataEmissao> |
Data que o carnê foi emitido. |
DataVencimento <DetalharCobranca> <Carne> <Parcelas> <Parcela> <DataVencimento> |
Data de vencimento da parcela. |
DataPagamento <DetalharCobranca> <Carne> <Parcelas> <Parcela> <DataPagamento> |
Data de pagamento da parcela. |
Exemplos
- <?php
- /**
- * String $URL
- * URL para onde deve ser enviada a requisição XML via post para detalhamento de cobranças.
- */
- $url = 'https://fortunus.gerencianet.com.br/webservice/detalharCobranca';
- /**
- * String $token
- * Variável que armazena o token de integração utilizado no detalhamento de cobranças.
- * Gere o token em sua conta Gerencianet e atribua à variável.
- */
- $token = '';
- /**
- * String $chave
- * Variável que armazena a chave da cobrança gerada através das integrações de emissões.
- */
- $chave = '00001-1-ABCDE1';
- /**
- * String $XML
- * XML com os dados necessários para detalhamento de cobranças.
- */
- $xml = "<?xml version='1.0' encoding='utf-8'?>
- <DetalharCobranca>
- <Token>{$token}</Token>
- <Chave>{$chave}</Chave>
- </DetalharCobranca>";
- /**
- * O XML enviado não pode conter quebras de linha e tabulações.
- */
- $xml = str_replace("\n", '', $xml);
- $xml = str_replace("\r",'',$xml);
- $xml = str_replace("\t",'',$xml);
- /**
- * Handle $ch : Manipulador de comunicação para transferência de dados, via CURL.
- */
- $ch = curl_init();
- /**
- * Atualiza a URL de destino da variável $ch para a URL definida pela variável $url.
- */
- curl_setopt($ch, CURLOPT_URL, $url);
- /**
- * Configura a variável $ch para retornar o resultado da comunicação, ao invés de exibir diretamente.
- */
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- /**
- * Configura o máximo de redirecionamentos permitido.
- */
- curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
- /**
- * Configura para que seja inserido automaticamente o campo Referer: nas requisições que seguem um redirecionamento Location:
- */
- curl_setopt($ch, CURLOPT_AUTOREFERER, true);
- /**
- * Array $data: Armazena o xml a ser enviado($data['xml']=$xml)
- */
- $data = array('xml' => $xml);
- /**
- * Configura para que a requisição seja enviada via POST
- */
- curl_setopt($ch, CURLOPT_POST, true);
- /**
- * Define os dados a serem enviados na requisição via POST
- */
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
- /**
- * Define o tempo limite de tentativa de conexão
- */
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
- /**
- * Configura o USERAGENT da requisição
- */
- curl_setopt($ch, CURLOPT_USERAGENT, 'seu agente');
- /**
- * Envia a requisição via POST com o XML e retorna o resultado da requisição
- * String $resposta: Resposta da requisição
- */
- $resposta = curl_exec($ch);
- /**
- * Encerra a ponte de comunicação
- */
- curl_close($ch);
- /**
- * Imprime a resposta da requisição.
- */
- echo $resposta;
- <%@page import="java.net.URLEncoder"%>
- <%@page import="java.io.DataOutputStream"%>
- <%@page import="java.net.HttpURLConnection"%>
- <%@page import="java.net.URL"%>
- <%@page import="java.io.BufferedReader"%>
- <%@page import="java.io.InputStreamReader"%>
- <%@page import="javax.net.ssl.HttpsURLConnection;"%>
- <%@page contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <%
- /**
- * String token: Chave de integração gerada em sua conta Gerencianet
- */
- String token = "";
- /**
- * String chave: Variável que armazena a chave da cobrança gerada através das integrações de emissões.
- */
- String chave = '00001-1-ABCDE1';
- /**
- * String xml: XML gerado para envio ao Webservice
- */
- String xml= "<?xml version='1.0' encoding='utf-8'?>"
- +"<DetalharCobranca>"
- + "<Token>" + token + "</Token>"
- + "<Chave>" + chave + "</Chave>"
- +"</DetalharCobranca>";
- /**
- * String urlWS: URL para acesso ao Webservice
- */
- String urlWS = "https://fortunus.gerencianet.com.br/webservice/detalharCobranca";
- /**
- * String urlParametros: Parametros para o envio junto a URL
- * Contem o parametro entrada com o XML codificado para comunicação via POST.
- */
- String urlParametros = "xml=" + URLEncoder.encode(xml, "UTF-8");
- /**
- * final String USER_AGENT: Dados de USER_AGENT enviados junto ao POST
- */
- final String USER_AGENT = "Mozilla/5.0";
- /**
- * Objeto URL obj: Objeto que armazena a conexão com o Webservice a partir da URL definida anteriormente
- */
- URL obj = new URL(urlWS);
- /**
- * HttpsURLConnection con: Objeto responsável pela comunicação HTTPS utilizando a conexão obtida do URL obj.
- */
- HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
- /**
- * Seleciona o método de requisição, no caso POST
- */
- con.setRequestMethod("POST");
- /**
- * Altera a propriedade de User-Agent da requisição para o valor especificado anteriormente
- */
- con.setRequestProperty("User-Agent", USER_AGENT);
- /**
- * Permite que a conexão seja utilizada para também para envio dos dados
- */
- con.setDoOutput(true);
- /**
- * DataOutputStream wr: Define o objeto para envio da requisição
- */
- DataOutputStream wr = new DataOutputStream(con.getOutputStream());
- /**
- * Envia a requisição POST para a URL definida
- */
- wr.writeBytes(urlParametros);
- /**
- * Força o envio da requisição, enviando dados que tenham ficado em buffer
- */
- wr.flush();
- /**
- * Encerra o envio de dados, fechando a saida da conexão
- */
- wr.close();
- /**
- * int responseCode: Código respondido pelo servidor, 200 em caso de sucesso
- */
- int responseCode = con.getResponseCode();
- /**
- * BufferedReader in: Define o objeto de entrada de dados para recuperação da resposta.
- */
- BufferedReader in = new BufferedReader(
- new InputStreamReader(con.getInputStream()));
- /**
- * String inputLine: String auxiliar para recuperação linha a linha dos dados
- */
- String inputLine;
- /**
- * StringBuffer resposta: String que armazenará o retorno enviado pelo servidor
- */
- StringBuffer resposta = new StringBuffer();
- /**
- * Recupera os dados, linha a linha e armazena continuamente na resposta
- */
- while ((inputLine = in.readLine()) != null) {
- resposta.append(inputLine);
- }
- /**
- * Encerra a conexão fechando a entrada dos dados
- */
- in.close();
- /**
- * String resp: cópia de resposta, em formato de string simples
- */
- String resp = resposta.toString();
- %>
- <%= resp%>
- <%@ Page aspcompat=true %>
- <%
- dim url, xml, httpRequest, postResponse, token, chave
- '''
- ' String url
- ' URL para onde deve ser enviada a requisição XML via post para detalhamento da cobrança.
- '''
- url = "https://fortunus.gerencianet.com.br/webservice/detalharCobranca"
- '''
- ' String token
- ' Variável que armazena o token de integração utilizado no detalhamento de cobranças
- ' Gere o token em sua conta Gerêncianet e atribua à variável.
- '''
- token = ""
- '''
- ' String chave
- ' Variável que armazena a chave da cobrança gerada através das integrações de emissões.
- '''
- chave = "00001-1-ABCDE1";
- '''
- ' String xml
- ' XML com os dados necessários para detalhamento de cobranças.
- '''
- xml = "" &
- "<?xml version=""1.0"" encoding=""utf-8""?>" &
- "<DetalharCobranca>" &
- "<Token>" & token & "</Token>" &
- "<Chave>" & chave & "</Chave>" &
- "</DetalharCobranca>" &
- ""
- '''
- ' Os dados serao enviados para a URL definida na string url através do objeto httpRequest e o retorno armazenado na variavel postResponse.
- '''
- httpRequest = Server.CreateObject("MSXML2.ServerXMLHTTP")
- httpRequest.Open("POST", url, False)
- httpRequest.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
- httpRequest.Send("xml=" & Server.URLEncode(xml))
- postResponse = Server.URLDecode(httpRequest.ResponseText)
- '''
- ' Imprime o conteudo da variavel postResponse na tela.
- '''
- response.write(postResponse)
- %>
- <%@ Page Title="Home Page" Language="C#" AutoEventWireup="true"
- CodeBehind="detalhamento.aspx.cs" Inherits="Gerencianet._Detalhamento" %>
- <%= fazRequisicao() %>
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Collections.Specialized;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Security.Cryptography.X509Certificates;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- namespace Gerencianet
- {
- public partial class _Detalhamento : System.Web.UI.Page
- {
- public string fazRequisicao()
- {
- string url, xml, postResponse, token, chave;
- /**
- * String url
- * URL para onde deve ser enviada a requisição XML via post para detalhamento de cobranças.
- */
- url = "https://fortunus.gerencianet.com.br/webservice/detalharCobranca";
- /**
- * String token
- * Variável que armazena o token de integração utilizado no detalhamento de cobranças.
- * Gere o token em sua conta Gerencianet e atribua à variável.
- */
- token = "";
- /**
- * String chave
- * Variável que armazena a chave da cobrança gerada através das integrações de emissões.
- */
- chave = "00001-1-ABCDE1";
- /**
- * String xml
- * XML com os dados necessários para detalhamento de cobranças.
- */
- xml = "" +
- "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
- "<DetalharCobranca>" +
- "<Token>" + token + "</Token>" +
- "<Chave>" + chave + "</Chave>" +
- "</DetalharCobranca>" +
- "";
- /**
- * Os dados serao enviados para a URL definida na string url através do objeto httpRequest e o retorno armazenado na variavel postResponse.
- */
- postResponse = Post(url, "xml=" + HttpUtility.UrlEncode(xml));
- return postResponse;
- }
- /**
- * Daqui em diante, se voce mexer no codigo, o ceu caira sobre sua cabeca
- */
- public string Post(string url, string data)
- {
- string vystup = null;
- byte[] buffer = Encoding.ASCII.GetBytes(data);
- HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(url);
- WebReq.Method = "POST";
- WebReq.ContentType = "application/x-www-form-urlencoded";
- WebReq.ContentLength = buffer.Length;
- Stream PostData = WebReq.GetRequestStream();
- PostData.Write(buffer, 0, buffer.Length);
- PostData.Close();
- HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
- Console.WriteLine(WebResp.StatusCode);
- Console.WriteLine(WebResp.Server);
- Stream Answer = WebResp.GetResponseStream();
- StreamReader _Answer = new StreamReader(Answer);
- vystup = _Answer.ReadToEnd();
- return vystup.Trim();
- }
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- }
- }