1 | <?php |
||
11 | abstract class Boleto implements BoletoInterface |
||
12 | { |
||
13 | private $atributos_parser = [ |
||
14 | ':taxa', |
||
15 | ':multa', |
||
16 | ':vencimento' |
||
17 | ]; |
||
18 | public $beneficiario; |
||
19 | public $pagador; |
||
20 | public $info; |
||
21 | public $banco; |
||
22 | public $demonstrativo_array = []; |
||
23 | public $instrucoes_array = []; |
||
24 | public $bars = []; |
||
25 | public $processed = |
||
26 | [ |
||
27 | /* --------[A]------- */ |
||
28 | 'codigo_banco_compensacao' => '', |
||
29 | 'linha_digitavel' => '', |
||
30 | /* --------[B]------- */ |
||
31 | 'local_de_pagamento' => "PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE", |
||
32 | 'vencimento' => 'DD/MM/AAAA', |
||
33 | /* --------[C]------- */ |
||
34 | |||
35 | 'beneficiario' => |
||
36 | [ |
||
37 | 'razao_social' => 'Razão Social ou Nome Fantasia do Beneficiário', |
||
38 | 'cpf_cnpj' => 'CPF/CNPJ*', |
||
39 | 'endereco' => 'endereco', |
||
40 | 'cidade' => 'cidade' |
||
41 | ], |
||
42 | /* |
||
43 | * Formato AAAA / XXXXXX-DV, onde: |
||
44 | * AAAA: Código da Agência do Beneficiário |
||
45 | * XXXXXX: Código do Beneficiário |
||
46 | * DV: Dígito Verificador do Código do Beneficiário (Módulo 11), conforme Anexo VI |
||
47 | */ |
||
48 | 'agencia_codigo_beneficiario' => 'AAAA / XXXXXX-DV', |
||
49 | /* --------[D]------- */ |
||
50 | |||
51 | 'data_do_documento' => 'DD/MM/AAAA', |
||
52 | /* |
||
53 | * Também chamado de "Seu Número", é o número utilizado |
||
54 | * e controlado pelo Beneficiário para identificar o título de cobrança |
||
55 | */ |
||
56 | 'nr_do_documento' => '', |
||
57 | 'especie_doc' => '', |
||
58 | 'aceite' => '', |
||
59 | 'data_do_processamento' => 'DD/MM/AAAA', |
||
60 | /* |
||
61 | * - Formato: XYNNNNNNNNNNNNNNN-D, onde: |
||
62 | * X Modalidade/Carteira de Cobrança (1-Registrada/2-Sem Registro) |
||
63 | * Y Emissão do boleto (4-Beneficiário) |
||
64 | * NNNNNNNNNNNNNNN Nosso Número (15 posições livres do Beneficiário) |
||
65 | * D Dígito Verificador |
||
66 | */ |
||
67 | 'nosso_numero' => 'XYNNNNNNNNNNNNNNN-D', |
||
68 | /* --------[E]------- */ |
||
69 | 'carteira' => 'SR ou RG', |
||
70 | 'especie_moeda' => 'R$', |
||
71 | 'valor_documento' => '< R$ 9.999.999,99', |
||
72 | 'uso_do_banco' => NULL,//'não preencher', |
||
73 | 'qtde_moeda' => NULL,//'não preencher', |
||
74 | 'xValor' => NULL,//'não preencher', |
||
75 | |||
76 | /* --------[F]------- */ |
||
77 | 'instrucoes' => [], |
||
78 | 'desconto' => NULL, //'não preencher', |
||
79 | |||
80 | /* --------[G]------- */ |
||
81 | /*'juros' => NULL,'não preencher',*/ |
||
82 | |||
83 | /* --------[H]------- */ |
||
84 | /*'valor_cobrado' => NULL,'não preencher',*/ |
||
85 | |||
86 | /* --------[I]------- */ |
||
87 | 'pagador' => |
||
88 | [ |
||
89 | 'nome' => NULL, |
||
90 | 'endereco' => NULL, |
||
91 | 'cidade_estado_cep' => NULL, |
||
92 | 'cpf_cnpj' => NULL |
||
93 | //'Obrigatório na Cobrança Registrada.' |
||
94 | ] |
||
95 | , |
||
96 | 'sacador' => |
||
97 | [ |
||
98 | 'nome' => 'emitente original do documento que originou o boleto de cobrança', |
||
99 | 'cpf_cnpj' => '' |
||
100 | ] |
||
101 | , |
||
102 | /* --------[J]------- */ |
||
103 | |||
104 | 'codigo_de_barras' => '' |
||
105 | ]; |
||
106 | |||
107 | /** |
||
108 | * @param BancoInterface $banco |
||
109 | * @param BeneficiarioInterface $beneficiario |
||
110 | * @param PagadorInterface $pagador |
||
111 | * @param BoletoInfoInterface $info |
||
112 | */ |
||
113 | public function __construct( |
||
126 | |||
127 | /** |
||
128 | * Função responsável por processar os dados que serão impressos no boleto |
||
129 | */ |
||
130 | public function processaDadosBoleto() |
||
173 | |||
174 | /** |
||
175 | * @return array |
||
176 | */ |
||
177 | private function getAtributosParser() |
||
181 | |||
182 | /** |
||
183 | * @param string $string |
||
184 | * @return string |
||
185 | */ |
||
186 | protected function parseAttributes($string) |
||
210 | |||
211 | /** |
||
212 | * @param string $string |
||
213 | * @return $this |
||
214 | */ |
||
215 | public function adicionaDemonstrativo($string) |
||
221 | |||
222 | /** |
||
223 | * @param string $string |
||
224 | * @return $this |
||
225 | */ |
||
226 | public function adicionaInstrucao($string) |
||
232 | |||
233 | /** |
||
234 | * @return string |
||
235 | */ |
||
236 | public abstract function getLinhaDigitavelFormatada(); |
||
237 | |||
238 | /** |
||
239 | * @return string |
||
240 | */ |
||
241 | public abstract function getNossoNumeroFormatado(); |
||
242 | |||
243 | /** |
||
244 | * @return string |
||
245 | */ |
||
246 | public abstract function getCodigoBarras(); |
||
247 | |||
248 | /** |
||
249 | * @return string |
||
250 | */ |
||
251 | public abstract function getAgenciaCodigoBeneficiarioDv(); |
||
252 | |||
253 | |||
254 | } |