Completed
Push — master ( f4f5ad...3e60e2 )
by Naylon Kessler de
02:45
created

Bradesco::motives()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 4
rs 10
c 1
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace SmartCNAB\Support\Bank;
4
5
use SmartCNAB\Support\Bank\Bank;
6
7
/**
8
 * Bank Bradesco support class.
9
 */
10
class Bradesco extends Bank
11
{
12
    /**
13
     * Constants for returning occurrences statuses.
14
     */
15
    const OCCURRENCES_DISCHARGED = [9, 10];
16
    const OCCURRENCES_ENTRY = [2];
17
    const OCCURRENCES_PAID = [6, 15, 17];
18
    const OCCURRENCES_PROTESTED = [19, 25];
19
20
    /**
21
     * Channels codes.
22
     *
23
     * @var array
24
     */
25
    protected static $channels = [
26
        '001' => 'CICS (AT00)',
27
        '007' => 'Terminal gerência CBCA PF8',
28
        '010' => 'Terminal gerência CBCA senhas',
29
        '074' => 'Boca do caixa',
30
        '075' => 'Retaguarda',
31
        '076' => 'Subcentro',
32
        '002' => 'BDN multi saque',
33
        '024' => 'Terminal multi função',
34
        '027' => 'Pagamento contas',
35
        '014' => 'Internet',
36
        '035' => 'Net empresa',
37
        '052' => 'Shop credit',
38
        '073' => 'Pag for',
39
        '013' => 'Fone fácil',
40
        '067' => 'Débito automático',
41
        '077' => 'Cartão de crédito',
42
        '078' => 'Compensação eletrônica',
43
        '082' => 'Bradesco expresso',
44
    ];
45
46
    /**
47
     * Emission codes.
48
     *
49
     * @var array
50
     */
51
    protected static $emission = [
52
        '1' => 'Banco emite',
53
        '2' => 'Cliente emite',
54
    ];
55
56
    /**
57
     * Especies codes.
58
     *
59
     * @var array
60
     */
61
    protected static $especies = [
62
        '01' => 'Duplicata',
63
        '02' => 'Nota promissória',
64
        '03' => 'Nota de seguro',
65
        '04' => 'Cobrança seriada',
66
        '05' => 'Recibo',
67
        '10' => 'Letras de câmbio',
68
        '11' => 'Nota de débito',
69
        '12' => 'Duplicata de serviço',
70
        '99' => 'Outros',
71
    ];
72
73
    /**
74
     * Billing instruction.
75
     *
76
     * @var array
77
     */
78
    protected static $instructions = [
79
        '00' => 'Nenhuma instrucão',
80
        '05' => 'Protestar (falimentar)',
81
        '06' => 'Protestar',
82
        '18' => 'Baixa por decurso de prazo',
83
    ];
84
85
    /**
86
     * Returning motives codes.
87
     *
88
     * @var array
89
     */
90
    protected static $motives = [
91
        '02' => [
92
            '00' => 'Ocorrência aceita',
93
            '01' => 'Código do banco inválido',
94
            '04' => 'Código do movimento não permitido para a carteira',
95
            '15' => 'Características da cobrança incompatíveis',
96
            '17' => 'Data de vencimento anterior a data de emissão',
97
            '21' => 'Espécie do título inválido',
98
            '24' => 'Data da emissão inválida',
99
            '27' => 'Valor/taxa de juros mora inválido',
100
            '38' => 'Prazo para protesto inválido',
101
            '39' => 'Pedido para protesto não permitido para título',
102
            '43' => 'Prazo para baixa e devolução inválido',
103
            '45' => 'Nome do pagador inválido',
104
            '46' => 'Tipo/número de inscrição do pagador inválidos',
105
            '47' => 'Endereço do pagador não informado',
106
            '48' => 'CEP inválido',
107
            '50' => 'CEP referente a banco correspondente',
108
            '53' => 'Número de inscrição do pagador/avalista inválidos (CPF/CNPJ)',
109
            '54' => 'Pagador/avalista não informado',
110
            '67' => 'Débito automático agendado',
111
            '68' => 'Débito não agendado - erro nos dados de remessa',
112
            '69' => 'Débito não agendado - pagador não consta no cadastro de autorizante',
113
            '70' => 'Débito não agendado - beneficiário não autorizado pelo pagador',
114
            '71' => 'Débito não agendado - beneficiário não participa da modalidade de débito automático',
115
            '72' => 'Débito não agendado - código de moeda diferente de R$',
116
            '73' => 'Débito não agendado - data de vencimento inválida/vencida',
117
            '75' => 'Débito não agendado - tipo do número de inscrição do pagador debitado inválido',
118
            '76' => 'Pagador eletrônico dda',
119
            '86' => 'Seu número do documento inválido',
120
            '89' => 'Email pagador não enviado – título com débito automático',
121
            '90' => 'Email pagador não enviado – título de cobrança sem registro',
122
        ],
123
        '03' => [
124
            '02' => 'Código do registro detalhe inválido',
125
            '03' => 'Código da ocorrência inválida',
126
            '04' => 'Código de ocorrência não permitida para a carteira',
127
            '05' => 'Código de ocorrência não numérico',
128
            '07' => 'Agência/conta/dígito - inválido',
129
            '08' => 'Nosso número inválido',
130
            '09' => 'Nosso número duplicado',
131
            '10' => 'Carteira inválida',
132
            '13' => 'Identificação da emissão do bloqueto inválida',
133
            '16' => 'Data de vencimento inválida',
134
            '18' => 'Vencimento fora do prazo de operação',
135
            '20' => 'Valor do título inválido',
136
            '21' => 'Espécie do título inválida',
137
            '22' => 'Espécie não permitida para a carteira',
138
            '24' => 'Data de emissão inválida',
139
            '28' => 'Código do desconto inválido',
140
            '38' => 'Prazo para protesto inválido',
141
            '44' => 'Agência beneficiário não prevista',
142
            '45' => 'Nome do pagador não informado',
143
            '46' => 'Tipo/número de inscrição do pagador inválidos',
144
            '47' => 'Endereço do pagador não informado',
145
            '48' => 'CEP inválido',
146
            '50' => 'CEP irregular - banco correspondente',
147
            '63' => 'Entrada para título já cadastrado',
148
            '65' => 'Limite excedido',
149
            '66' => 'Número autorização inexistente',
150
            '68' => 'Débito não agendado - erro nos dados de remessa',
151
            '69' => 'Débito não agendado - pagador não consta no cadastro de autorizante',
152
            '70' => 'Débito não agendado - beneficiário não autorizado pelo pagador',
153
            '71' => 'Débito não agendado - beneficiário não participa do débito automático',
154
            '72' => 'Débito não agendado - código de moeda diferente de R$',
155
            '73' => 'Débito não agendado - data de vencimento inválida',
156
            '74' => 'Débito não agendado - conforme seu pedido, título não registrado',
157
            '75' => 'Débito não agendado – tipo de número de inscrição do debitado inválido',
158
        ],
159
        '06' => [
160
            '00' => 'Título pago com dinheiro',
161
            '15' => 'Título pago com cheque',
162
            '42' => 'Rateio não efetuado, código cálculo 2',
163
        ],
164
        '09' => [
165
            '00' => 'Ocorrência aceita',
166
            '10' => 'Baixa comandada pelo cliente',
167
        ],
168
        '10' => [
169
            '00' => 'Baixado conforme instruções da agência',
170
            '14' => 'Título protestado',
171
            '15' => 'Título excluído',
172
            '16' => 'Título baixado pelo banco por decurso prazo',
173
            '17' => 'Titulo baixado transferido carteira',
174
            '20' => 'Titulo baixado e transferido para desconto',
175
        ],
176
        '15, 17' => [
177
            '00' => 'Título pago com dinheiro',
178
            '15' => 'Título pago com cheque',
179
        ],
180
        '24' => [
181
            '48' => 'CEP inválido',
182
        ],
183
        '27' => [
184
            '04' => 'Código de ocorrência não permitido para a carteira',
185
            '07' => 'Agência/conta/dígito inválidos',
186
            '08' => 'Nosso número inválido',
187
            '10' => 'Carteira inválida',
188
            '15' => 'Carteira/agência/conta/nosso número inválidos',
189
            '40' => 'Título com ordem de protesto emitido',
190
            '42' => 'Código para baixa/devolução via tele bradesco inválido',
191
            '60' => 'Movimento para título não cadastrado',
192
            '77' => 'Transferência para desconto não permitido para a carteira',
193
            '85' => 'Título com pagamento vinculado',
194
        ],
195
        '28' => [
196
            '02' => 'Tarifa de permanência título cadastrado',
197
            '03' => 'Tarifa de sustação',
198
            '04' => 'Tarifa de protesto',
199
            '05' => 'Tarifa de outras instruções',
200
            '06' => 'Tarifa de outras ocorrências',
201
            '08' => 'Custas de protesto',
202
            '12' => 'Tarifa de registro',
203
            '13' => 'Tarifa título pago no bradesco',
204
            '14' => 'Tarifa título pago compensação',
205
            '15' => 'Tarifa título baixado não pago',
206
            '16' => 'Tarifa alteração de vencimento',
207
            '17' => 'Tarifa concessão abatimento',
208
            '18' => 'Tarifa cancelamento de abatimento',
209
            '19' => 'Tarifa concessão desconto',
210
            '20' => 'Tarifa cancelamento desconto',
211
            '21' => 'Tarifa título pago CICS',
212
            '22' => 'Tarifa título pago internet',
213
            '23' => 'Tarifa título pago terminal gerencial serviços',
214
            '24' => 'Tarifa título pago pág-contas',
215
            '25' => 'Tarifa título pago fone fácil',
216
            '26' => 'Tarifa título débito postagem',
217
            '27' => 'Tarifa impressão de títulos pendentes',
218
            '28' => 'Tarifa título pago BDN',
219
            '29' => 'Tarifa título pago terminal multi função',
220
            '30' => 'Impressão de títulos baixados',
221
            '31' => 'Impressão de títulos pagos',
222
            '32' => 'Tarifa título pago pagfor',
223
            '33' => 'Tarifa reg/pgto – guichê caixa',
224
            '34' => 'Tarifa título pago retaguarda',
225
            '35' => 'Tarifa título pago subcentro',
226
            '36' => 'Tarifa título pago cartão de crédito',
227
            '37' => 'Tarifa título pago comp eletrônica',
228
            '38' => 'Tarifa título baixado/pago cartório',
229
            '39' => 'Tarifa título baixado acerto banco',
230
            '40' => 'Baixa registro em duplicidade',
231
            '41' => 'Tarifa título baixado decurso prazo',
232
            '42' => 'Tarifa título baixado judicialmente',
233
            '43' => 'Tarifa título baixado via remessa',
234
            '44' => 'Tarifa título baixado rastreamento',
235
            '45' => 'Tarifa título baixado conf. pedido',
236
            '46' => 'Tarifa título baixado protestado',
237
            '47' => 'Tarifa título baixado para devolução',
238
            '48' => 'Tarifa título baixado franco pagto',
239
            '49' => 'Tarifa título baixado sust/ret/cartório',
240
            '50' => 'Tarifa título baixado sus/sem/rem/cartório',
241
            '51' => 'Tarifa título transferido desconto',
242
            '52' => 'Cobrado baixa manual',
243
            '53' => 'Baixa por acerto cliente',
244
            '54' => 'Tarifa baixa por contabilidade',
245
            '55' => 'Tarifa tentativa cons deb aut',
246
            '56' => 'Tarifa credito online',
247
            '57' => 'Tarifa reg/pagto bradesco expresso',
248
            '58' => 'Tarifa emissão papeleta',
249
            '59' => 'Tarifa fornec papeleta semi preenchida',
250
            '60' => 'Acondicionador de papeletas (rpb)s',
251
            '61' => 'Acondicionador de papelatas (rpb)s personal',
252
            '62' => 'Papeleta formulário branco',
253
            '63' => 'Formulário A4 serrilhado',
254
            '64' => 'Fornecimento de softwares transmiss',
255
            '65' => 'Fornecimento de softwares consulta',
256
            '66' => 'Fornecimento micro completo',
257
            '67' => 'Fornecimento moden',
258
            '68' => 'Fornecimento de máquina fax',
259
            '69' => 'Fornecimento de máquinas óticas',
260
            '70' => 'Fornecimento de impressoras',
261
            '71' => 'Reativação de título',
262
            '72' => 'Alteração de produto negociado',
263
            '73' => 'Tarifa emissão de contra recibo',
264
            '74' => 'Tarifa emissão 2a via papeleta',
265
            '75' => 'Tarifa regravação arquivo retorno',
266
            '76' => 'Arq. títulos a vencer mensal',
267
            '77' => 'Listagem auxiliar de crédito',
268
            '78' => 'Tarifa cadastro cartela instrução permanente',
269
            '79' => 'Canalização de crédito',
270
            '80' => 'Cadastro de mensagem fixa',
271
            '81' => 'Tarifa reapresentação automática título',
272
            '82' => 'Tarifa registro título déb. automático',
273
            '83' => 'Tarifa rateio de crédito',
274
            '84' => 'Emissão papeleta sem valor',
275
            '85' => 'Sem uso',
276
            '86' => 'Cadastro de reembolso de diferença',
277
            '87' => 'Relatório fluxo de pagto',
278
            '88' => 'Emissão extrato mov. carteira',
279
            '89' => 'Mensagem campo local de pagto',
280
            '90' => 'Cadastro concessionária serv. publ.',
281
            '91' => 'Classif. extrato conta corrente',
282
            '92' => 'Contabilidade especial',
283
            '93' => 'Realimentação pagto',
284
            '94' => 'Repasse de créditos',
285
            '96' => 'Tarifa reg. pagto outras mídias',
286
            '97' => 'Tarifa reg/pagto – net empresa',
287
            '98' => 'Tarifa título pago vencido',
288
            '99' => 'Tarifa título baixado por decurso prazo',
289
            '100' => 'Arquivo retorno antecipado',
290
            '101' => 'Arq retorno hora/hora',
291
            '102' => 'Tarifa agendamento déb aut',
292
            '105' => 'Tarifa agendamento rat. crédito',
293
            '106' => 'Tarifa emissão aviso rateio',
294
            '107' => 'Extrato de protesto',
295
        ],
296
        '29' => [
297
            '78' => 'Pagador alega que faturamento e indevido',
298
            '95' => 'Pagador aceita/reconhece o faturamento',
299
        ],
300
        '30' => [
301
            '01' => 'Código do banco inválido',
302
            '04' => 'Código de ocorrência não permitido para a carteira',
303
            '05' => 'Código da ocorrência não numérico',
304
            '08' => 'Nosso número inválido',
305
            '15' => 'Característica da cobrança incompatível',
306
            '16' => 'Data de vencimento inválido',
307
            '17' => 'Data de vencimento anterior a data de emissão',
308
            '18' => 'Vencimento fora do prazo de operação',
309
            '24' => 'Data de emissão inválida',
310
            '26' => 'Código de juros de mora inválido',
311
            '27' => 'Valor/taxa de juros de mora inválido',
312
            '28' => 'Código de desconto inválido',
313
            '29' => 'Valor do desconto maior/igual ao valor do título',
314
            '30' => 'Desconto a conceder não confere',
315
            '31' => 'Concessão de desconto já existente (desconto anterior)',
316
            '32' => 'Valor do iof inválido',
317
            '33' => 'Valor do abatimento inválido',
318
            '34' => 'Valor do abatimento maior/igual ao valor do título',
319
            '38' => 'Prazo para protesto inválido',
320
            '39' => 'Pedido de protesto não permitido para o título',
321
            '40' => 'Título com ordem de protesto emitido',
322
            '42' => 'Código para baixa/devolução inválido',
323
            '46' => 'Tipo/número de inscrição do pagador inválidos',
324
            '48' => 'CEP inválido',
325
            '53' => 'Tipo/número de inscrição do pagador/avalista inválidos',
326
            '54' => 'Pagadorr/avalista não informado',
327
            '57' => 'Código da multa inválido',
328
            '58' => 'Data da multa inválida',
329
            '60' => 'Movimento para título não cadastrado',
330
            '79' => 'Data de juros de mora inválida',
331
            '80' => 'Data do desconto inválida',
332
            '85' => 'Título com pagamento vinculado.',
333
            '88' => 'E-mail pagador não lido no prazo 5 dias',
334
            '91' => 'E-mail pagador não recebido',
335
        ],
336
        '32' => [
337
            '01' => 'Código do banco inválido',
338
            '02' => 'Código do registro detalhe inválido',
339
            '04' => 'Código de ocorrência não permitido para a carteira',
340
            '05' => 'Código de ocorrência não numérico',
341
            '07' => 'Agência/conta/dígito inválidos',
342
            '08' => 'Nosso número inválido',
343
            '10' => 'Carteira inválida',
344
            '15' => 'Características da cobrança incompatíveis',
345
            '16' => 'Data de vencimento inválida',
346
            '17' => 'Data de vencimento anterior a data de emissão',
347
            '18' => 'Vencimento fora do prazo de operação',
348
            '20' => 'Valor do título inválido',
349
            '21' => 'Espécie do título inválida',
350
            '22' => 'Espécie não permitida para a carteira',
351
            '24' => 'Data de emissão inválida',
352
            '28' => 'Código de desconto via telebradesco inválido',
353
            '29' => 'Valor do desconto maior/igual ao valor do título',
354
            '30' => 'Desconto a conceder não confere',
355
            '31' => 'Concessão de desconto - já existe desconto anterior',
356
            '33' => 'Valor do abatimento inválido',
357
            '34' => 'Valor do abatimento maior/igual ao valor do título',
358
            '36' => 'Concessão abatimento - já existe abatimento anterior',
359
            '38' => 'Prazo para protesto inválido',
360
            '39' => 'Pedido de protesto não permitido para o título',
361
            '40' => 'Título com ordem de protesto emitido',
362
            '41' => 'Pedido cancelamento/sustação para título sem instrução de protesto',
363
            '42' => 'Código para baixa/devolução inválido',
364
            '45' => 'Nome do pagador não informado',
365
            '46' => 'Tipo/número de inscrição do pagador inválidos',
366
            '47' => 'Endereço do pagador não informado',
367
            '48' => 'CEP inválido',
368
            '50' => 'CEP referente a um banco correspondente',
369
            '53' => 'Tipo de inscrição do pagador avalista inválidos',
370
            '60' => 'Movimento para título não cadastrado',
371
            '85' => 'Título com pagamento vinculado',
372
            '86' => 'Seu número inválido',
373
            '94' => 'Título penhorado – instrução não liberada pela agência',
374
        ],
375
        '35' => [
376
            '81' => 'Tentativas esgotadas, baixado',
377
            '82' => 'Tentativas esgotadas, pendente',
378
            '83' => 'Cancelado pelo pagador e mantido pendente, conforme negociação',
379
            '84' => 'Cancelado pelo pagador e baixado, conforme negociação',
380
        ],
381
    ];
382
383
    /**
384
     * Remittance occurrences codes.
385
     *
386
     * @var array
387
     */
388
    protected static $remittanceOccurrences = [
389
        '01' => 'Remessa',
390
        '02' => 'Pedido de baixa',
391
        '03' => 'Pedido de protesto falimentar',
392
        '04' => 'Concessão de abatimento',
393
        '05' => 'Cancelamento de abatimento concedido',
394
        '06' => 'Alteração de vencimento',
395
        '07' => 'Alteração do controle do participante',
396
        '08' => 'Alteração de seu número',
397
        '09' => 'Pedido de protesto',
398
        '18' => 'Sustar protesto e baixar título',
399
        '19' => 'Sustar protesto e manter em carteira',
400
        '22' => 'Transferência cessão crédito ID produto 10',
401
        '23' => 'Transferência entre carteiras',
402
        '24' => 'Dev. transferência entre carteiras',
403
        '31' => 'Alteração de outros dados',
404
        '68' => 'Acerto nos dados do rateio de crédito',
405
        '69' => 'Cancelamento do rateio de crédito',
406
    ];
407
408
    /**
409
     * Return occurrences codes.
410
     *
411
     * @var array
412
     */
413
    protected static $returnOccurrences = [
414
        '02' => 'Entrada confirmada',
415
        '03' => 'Entrada rejeitada',
416
        '06' => 'Liquidação normal',
417
        '09' => 'Baixado automaticamente via arquivo',
418
        '10' => 'Baixado conforme instruções da agência',
419
        '11' => 'Em ser - arquivo de títulos pendentes',
420
        '12' => 'Abatimento concedido',
421
        '13' => 'Abatimento cancelado',
422
        '14' => 'Vencimento alterado',
423
        '15' => 'Liquidação em cartório',
424
        '16' => 'Título pago em cheque – vinculado',
425
        '17' => 'Liquidação após baixa ou título não registrado',
426
        '18' => 'Acerto de depositária',
427
        '19' => 'Confirmação recebimento instrução de protesto',
428
        '20' => 'Confirmação recebimento instrução sustação de protesto',
429
        '21' => 'Acerto do controle do participante',
430
        '22' => 'Título com pagamento cancelado',
431
        '23' => 'Entrada do título em cartório',
432
        '24' => 'Entrada rejeitada por CEP irregular',
433
        '25' => 'Confirmação recebimento instrução de protesto falimentar',
434
        '27' => 'Baixa rejeitada',
435
        '28' => 'Débito de tarifas/custas',
436
        '29' => 'Ocorrências do pagador',
437
        '30' => 'Alteração de outros dados rejeitados',
438
        '32' => 'Instrução rejeitada',
439
        '33' => 'Confirmação pedido alteração outros dados',
440
        '34' => 'Retirado de cartório e manutenção carteira',
441
        '35' => 'Desagendamento do débito automático',
442
        '40' => 'Estorno de pagamento',
443
        '55' => 'Sustado judicial',
444
        '68' => 'Acerto dos dados do rateio de crédito',
445
        '69' => 'Cancelamento dos dados do rateio',
446
    ];
447
448
    /**
449
     * Return the default state of itau infos.
450
     *
451
     * @return array
452
     */
453
    public function defaults()
454
    {
455
        return [
456
            'especie' => '01',
457
            'instruction1' => '00',
458
            'instruction2' => '00',
459
        ];
460
    }
461
}
462