Skip to content

Commit bb13d0a

Browse files
committed
agora pode dar baixa no boleto, e foi adicionado alguns exemplos...
1 parent cec6853 commit bb13d0a

File tree

2 files changed

+193
-4
lines changed

2 files changed

+193
-4
lines changed

readme.md

Lines changed: 164 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ $ret = $boletos->registrar($boleto);
6262
var_dump($ret);
6363
```
6464

65-
Resposta do servidor:
65+
Resposta do banco:
6666
```
6767
{
6868
"numero":"00031285570043832319",
@@ -91,6 +91,169 @@ Resposta do servidor:
9191
}
9292
```
9393

94+
Outras funções:
95+
96+
Dar baixa em um boleto:
97+
```
98+
?php
99+
use Diorgesl\DiorgesBB\Boletos;
100+
101+
$boletos = new Boletos();
102+
103+
$boletos->baixar(12345);
104+
```
105+
106+
Resposta do banco:
107+
```
108+
{
109+
"numeroContratoCobranca": "19581316"
110+
"dataBaixa": "01.10.2020"
111+
"horarioBaixa": "15:04:33"
112+
}
113+
```
114+
---------
115+
Listar boletos:
116+
```
117+
?php
118+
use Diorgesl\DiorgesBB\Boletos;
119+
120+
$boletos = new Boletos();
121+
122+
// Retornar todos os boletos baixados/liquidados no periodo do movimento
123+
$boletos = $boletos->boletos([
124+
"indicadorSituacao" => "B", // A = em aberto (Padrão), B = Baixados/Protestados/Liquidados
125+
"dataInicioMovimento" => "01.10.2020",
126+
"dataFimMovimento" => "20.10.2020",
127+
]);
128+
129+
// Retornar todos os boletos de um CPF/CNPJ
130+
// Todos os boletos em aberto do CPF
131+
$boletos = $boletos->boletos([
132+
//"indicadorSituacao" => "A", // A = em aberto (Padrão), B = Baixados/Protestados/Liquidados
133+
"cpfPagador" => 979659401,
134+
"digitoCPFPagador" => 32,
135+
]);
136+
137+
//Todos os boletos em aberto do CNPJ
138+
$boletos = $boletos->boletos([
139+
"cnpjPagador" => 196152360001,
140+
"digitoCNPJPagador" => 27,
141+
]);
142+
```
143+
---------
144+
Detalhar um Boleto:
145+
```
146+
?php
147+
use Diorgesl\DiorgesBB\Boletos;
148+
149+
$boletos = new Boletos();
150+
// Busca o boleto com ID 123456
151+
$boleto = $boletos->boleto(123456);
152+
var_dump($boleto);
153+
```
154+
155+
Resposta do banco:
156+
```
157+
{
158+
"numeroContratoCobranca":"19581316",
159+
"codigoEstadoTituloCobranca":1,
160+
"codigoTipoTituloCobranca":10,
161+
"codigoModalidadeTitulo":1,
162+
"codigoAceiteTituloCobranca":"N",
163+
"codigoPrefixoDependenciaCobrador":14,
164+
"codigoIndicadorEconomico":9,
165+
"numeroTituloCedenteCobranca":"123456",
166+
"dataEmissaoTituloCobranca":"29.09.2020",
167+
"dataRegistroTituloCobranca":"30.09.2020",
168+
"dataVencimentoTituloCobranca":"30.10.2020",
169+
"valorOriginalTituloCobranca":109.9,
170+
"valorAtualTituloCobranca":109.9,
171+
"valorPagamentoParcialTitulo":0,
172+
"valorAbatimentoTituloCobranca":0,
173+
"percentualImpostoSobreOprFinanceirasTituloCobranca":0,
174+
"valorImpostoSobreOprFinanceirasTituloCobranca":0,
175+
"valorMoedaTituloCobranca":0,
176+
"quantidadeParcelaTituloCobranca":0,
177+
"dataBaixaAutomaticoTitulo":"30.10.2021",
178+
"textoCampoUtilizacaoCedente":"",
179+
"indicadorCobrancaPartilhadoTitulo":"N",
180+
"valorMoedaAbatimentoTitulo":0,
181+
"dataProtestoTituloCobranca":"",
182+
"numeroCarteiraCobranca":17,
183+
"numeroVariacaoCarteiraCobranca":35,
184+
"quantidadeDiaProtesto":0,
185+
"quantidadeDiaPrazoLimiteRecebimento":360,
186+
"dataLimiteRecebimentoTitulo":"25.10.2021",
187+
"indicadorPermissaoRecebimentoParcial":"N",
188+
"textoCodigoBarrasTituloCobranca":"00197842400000109900000003128557000000123456",
189+
"codigoOcorrenciaCartorio":0,
190+
"indicadorDebitoCreditoTitulo":0,
191+
"valorImpostoSobreOprFinanceirasRecebidoTitulo":0,
192+
"valorAbatimentoTotal":0,
193+
"valorCreditoCedente":0,
194+
"codigoTipoLiquidacao":0,
195+
"dataCreditoLiquidacao":"",
196+
"dataRecebimentoTitulo":"",
197+
"codigoPrefixoDependenciaRecebedor":0,
198+
"codigoNaturezaRecebimento":0,
199+
"codigoResponsavelAtualizacao":"",
200+
"codigoTipoBaixaTitulo":0,
201+
"valorReajuste":0,
202+
"valorOutroRecebido":0,
203+
"codigoIndicadorEconomicoUtilizadoInadimplencia":0,
204+
"sacado":{
205+
"codigoTipoInscricaoSacado":1,
206+
"numeroInscricaoSacadoCobranca":97965940132,
207+
"nomeSacadoCobranca":"CLIENTE TESTE",
208+
"textoEnderecoSacadoCobranca":"RUA TESTE",
209+
"nomeBairroSacadoCobranca":"TESTE",
210+
"nomeMunicipioSacadoCobranca":"BRASILIA",
211+
"siglaUnidadeFederacaoSacadoCobranca":"DF",
212+
"numeroCepSacadoCobranca":79000000,
213+
"valorPagoSacado":0,
214+
"numeroIdentidadeSacadoTituloCobranca":""
215+
},
216+
"sacador":{
217+
"codigoTipoInscricaoSacador":1,
218+
"numeroInscricaoSacadorAvalista":97965940132,
219+
"nomeSacadorAvalistaTitulo":"CLIENTE TESTE"
220+
},
221+
"multa":{
222+
"percentualMultaTitulo":0,
223+
"valorMultaTituloCobranca":0,
224+
"dataMultaTitulo":"",
225+
"valorMultaRecebido":0
226+
},
227+
"desconto":{
228+
"percentualDescontoTitulo":0,
229+
"dataDescontoTitulo":"",
230+
"valorDescontoTitulo":0,
231+
"codigoDescontoTitulo":0,
232+
"valorDescontoUtilizado":0,
233+
"segundoDesconto":{
234+
"percentualSegundoDescontoTitulo":0,
235+
"dataSegundoDescontoTitulo":"",
236+
"valorSegundoDescontoTitulo":0,
237+
"codigoSegundoDescontoTitulo":0
238+
},
239+
"terceiroDesconto":{
240+
"percentualTerceiroDescontoTitulo":0,
241+
"dataTerceiroDescontoTitulo":"",
242+
"valorTerceiroDescontoTitulo":0,
243+
"codigoTerceiroDescontoTitulo":0
244+
}
245+
},
246+
"juroMora":{
247+
"codigoTipoJuroMora":0,
248+
"percentualJuroMoraTitulo":0,
249+
"valorJuroMoraTitulo":0,
250+
"dataJuroMoraTitulo":"",
251+
"valorJuroMoraRecebido":0
252+
}
253+
}
254+
```
255+
256+
94257
## Change log
95258

96259
Please see the [changelog](changelog.md) for more information on what has changed recently.

src/Boletos.php

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ class Boletos
3333
*/
3434
protected $secrets = [];
3535

36+
/**
37+
* @var string
38+
*/
39+
private $convenio;
40+
3641
/**
3742
* Boletos constructor.
3843
* @param Client $client
@@ -44,6 +49,7 @@ public function __construct(Client $client)
4449
$this->token = $token;
4550
$this->uri = ! config('diorgesbb.production') ? 'https://api.hm.bb.com.br/cobrancas/v1/boletos' : 'https://api.bb.com.br/cobrancas/v1/boletos';
4651
$this->secrets = ! config('diorgesbb.production') ? config('diorgesbb.api.homologa') : config('diorgesbb.api.producao');
52+
$this->convenio = str_pad($this->secrets['numeroConvenio'], 10, '0', STR_PAD_LEFT);
4753
}
4854

4955
/**
@@ -53,10 +59,9 @@ public function __construct(Client $client)
5359
*/
5460
public function boleto($id)
5561
{
56-
$convenio = str_pad($this->secrets['numeroConvenio'], 10, '0', STR_PAD_LEFT);
5762
$boleto = str_pad($id, 10, '0', STR_PAD_LEFT);
5863
try {
59-
$res = $this->client->request('GET', $this->uri.'/'.$convenio.$boleto, [
64+
$res = $this->client->request('GET', $this->uri.'/'.$this->convenio.$boleto, [
6065
'query' => [
6166
'gw-dev-app-key' => $this->secrets['developer_application_key'],
6267
'numeroConvenio' => $this->secrets['numeroConvenio'],
@@ -89,10 +94,11 @@ public function boletos($params = [])
8994
$query = array_merge($query, $params);
9095

9196
try {
92-
$request = $this->client->get($this->uri.'/', [
97+
$request = $this->client->request( 'GET', $this->uri, [
9398
'query' => $query,
9499
'headers' => [
95100
'Authorization' => 'Bearer '.$this->token,
101+
'Content-type' => 'application/json'
96102
],
97103
]);
98104

@@ -127,6 +133,26 @@ public function registrar(Boleto $boleto)
127133
}
128134
}
129135

136+
public function baixar($id){
137+
$boleto = str_pad($id, 10, '0', STR_PAD_LEFT);
138+
try {
139+
$res = $this->client->request('POST', $this->uri.'/'.$this->convenio.$boleto.'/baixar', [
140+
'query' => [
141+
'gw-dev-app-key' => $this->secrets['developer_application_key'],
142+
],
143+
'body' => json_encode(["numeroConvenio" => $this->secrets['numeroConvenio']]),
144+
'headers' => [
145+
'Authorization' => 'Bearer '.$this->token,
146+
'Content-Type' => 'application/json',
147+
],
148+
]);
149+
150+
return json_decode($res->getBody()->getContents());
151+
} catch (GuzzleException $e) {
152+
$this->__responseException($e);
153+
}
154+
}
155+
130156
public function verificarRegisto(array $boletos)
131157
{
132158
}

0 commit comments

Comments
 (0)