1 | <?php |
||
10 | class Santander 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, 7, 8, 17]; |
||
18 | const OCCURRENCES_PROTESTED = [15]; |
||
19 | |||
20 | /** |
||
21 | * Especies codes. |
||
22 | * |
||
23 | * @var array |
||
24 | */ |
||
25 | protected static $especies = [ |
||
26 | '01' => 'Duplicata', |
||
27 | '02' => 'Nota promissória', |
||
28 | '03' => 'Apólice / Nota de seguro', |
||
29 | '05' => 'Recibo', |
||
30 | '06' => 'Duplicata de serviço', |
||
31 | '07' => 'Letra de cambio', |
||
32 | ]; |
||
33 | |||
34 | /** |
||
35 | * Billing instruction. |
||
36 | * |
||
37 | * @var array |
||
38 | */ |
||
39 | protected static $instructions = [ |
||
40 | '00' => 'Não há instruções', |
||
41 | '02' => 'Baixar após quinze dias do vencimento', |
||
42 | '03' => 'Baixar após 30 dias do vencimento', |
||
43 | '04' => 'Não baixar', |
||
44 | '06' => 'Protestar', |
||
45 | '07' => 'Não protestar', |
||
46 | '08' => 'Não cobrar juros de mora', |
||
47 | ]; |
||
48 | |||
49 | /** |
||
50 | * Returning rejection codes. |
||
51 | * |
||
52 | * @var array |
||
53 | */ |
||
54 | protected static $rejectionCodes = [ |
||
55 | '001' => 'Nosso número não númerico', |
||
56 | '002' => 'Valor do abatimento não númerico', |
||
57 | '003' => 'Data vencimento não númerica', |
||
58 | '004' => 'Conta cobrança não númerica', |
||
59 | '005' => 'Código da carteira não númerico', |
||
60 | '006' => 'Código da carteira inválido', |
||
61 | '007' => 'Espécie do documento inválida', |
||
62 | '008' => 'Unidade de valor não númerica', |
||
63 | '009' => 'Unidade de valor inválida', |
||
64 | '010' => 'Código primeira instrução não númerica', |
||
65 | '011' => 'Código segunda instrução não númerica', |
||
66 | '012' => 'Valor do título em outra unidade', |
||
67 | '013' => 'Valor do título não númerico', |
||
68 | '014' => 'Valor de mora não númerico', |
||
69 | '015' => 'Data emissão não númerica', |
||
70 | '016' => 'Data de vencimento inválida', |
||
71 | '017' => 'Código da agência cobradora não númerica', |
||
72 | '018' => 'Valor do IOC não númerico', |
||
73 | '019' => 'Número do CEP não númerico', |
||
74 | '020' => 'Tipo inscrição não númerico', |
||
75 | '021' => 'Número do CNPJ ou CPF não númerico', |
||
76 | '022' => 'Código ocorrência inválido', |
||
77 | '023' => 'Nosso número inválido para modalidade', |
||
78 | '024' => 'Total parcela não númerico', |
||
79 | '025' => 'Valor desconto não númerico', |
||
80 | '026' => 'Código banco cobrador inválido', |
||
81 | '027' => 'Número parcelas carnê não númerico', |
||
82 | '028' => 'Número parcelas carnê zerado', |
||
83 | '029' => 'Valor de mora inválido', |
||
84 | '030' => 'Data vencimento menor de 15 dias da data processamento', |
||
85 | '038' => 'Movimento excluído por solicitação', |
||
86 | '039' => 'Perfil não aceita título em banco correspondente', |
||
87 | '040' => 'Cobrança rápida não aceita-se banco correspondente', |
||
88 | '041' => 'Agência cobradora não encontrada', |
||
89 | '042' => 'Conta cobrança inválida', |
||
90 | '043' => 'Não baixar, compl. informado inválido', |
||
91 | '044' => 'Não protestar, compl. informado inválido', |
||
92 | '045' => 'Quantidade de dias de baixa não preenchido', |
||
93 | '046' => 'Quantidade de dias protesto não preenchido', |
||
94 | '047' => 'Total parcelas informadas não bate cl otd parc ger', |
||
95 | '048' => 'Carnê com parcelas com erro', |
||
96 | '049' => 'Seu número não confere com o carnê', |
||
97 | '050' => 'Número do título igual a zero', |
||
98 | '051' => 'Titulo não encontrado', |
||
99 | '052' => 'Ocorrência não acatada, título liquidado', |
||
100 | '053' => 'Ocorrência não acatada, título baixado', |
||
101 | '054' => 'Titulo com ordem de protesto já emitida', |
||
102 | '055' => 'Ocorrência não acatada, título já protestado', |
||
103 | '056' => 'Ocorrência não acatada, título não vencido', |
||
104 | '057' => 'CEP do sacado incorreto', |
||
105 | '058' => 'CNPJ/CPF incorreto', |
||
106 | '059' => 'Instrução aceita só para cobrança simples', |
||
107 | '060' => 'Espécie documento não protestável', |
||
108 | '061' => 'Cedente sem carta de protesto', |
||
109 | '062' => 'Sacado não protestável', |
||
110 | '063' => 'CEP não encontrado na tabela de praças', |
||
111 | '064' => 'Tipo de cobrança não permite protesto', |
||
112 | '065' => 'Pedido sustação já solicitado', |
||
113 | '066' => 'Sustação protesto fora de prazo', |
||
114 | '067' => 'Cliente não transmite reg. de ocorrência', |
||
115 | '068' => 'Tipo de vencimento inválido', |
||
116 | '069' => 'Produto diferente de cobrança simples', |
||
117 | '070' => 'Data prorrogação menor que data vencimento', |
||
118 | '071' => 'Data antecipação maior que data vencimento', |
||
119 | '072' => 'Data documento superior a data instrução', |
||
120 | '073' => 'Abatimento maior/igual ao valor título', |
||
121 | '074' => 'Primeiro desconto maior/igual valor título', |
||
122 | '075' => 'Segundo desconto maior/igual valor título', |
||
123 | '076' => 'Terceiro desconto maior/igual valor título', |
||
124 | '077' => 'Desconto por antecipação maior/igual valor título', |
||
125 | '078' => 'Não existe abatimento para cancelar', |
||
126 | '079' => 'Não existe primeiro desconto para cancelar', |
||
127 | '080' => 'Não existe segundo desconto para cancelar', |
||
128 | '081' => 'Não existe terceiro desconto para cancelar', |
||
129 | '082' => 'Não existe desconto por antecipação para cancelar', |
||
130 | '083' => 'Não existe multa por atraso para cancelar', |
||
131 | '084' => 'Já existe segundo desconto', |
||
132 | '085' => 'Já existe terceiro desconto', |
||
133 | '086' => 'Data segundo desconto inválida', |
||
134 | '087' => 'Data terceiro desconto inválida', |
||
135 | '088' => 'Data instrução inválida', |
||
136 | '089' => 'Data multa menor/igual que vencimento', |
||
137 | '090' => 'Já existe desconto por dia antecipação', |
||
138 | '091' => 'Já existe concessao de desconto', |
||
139 | '092' => 'Nosso número já cadastrado', |
||
140 | '093' => 'Valor do título não informado', |
||
141 | '094' => 'Valor título em outra moeda não informado', |
||
142 | '095' => 'Perfil não aceita valor título zerado', |
||
143 | '096' => 'Espécie documento não permite protesto', |
||
144 | '097' => 'Espécie documento não permite IOC zerado', |
||
145 | '098' => 'Data emissão inválida', |
||
146 | '099' => 'Registro duplicado no movimento diário', |
||
147 | '100' => 'Data emissão maior que a data vencimento', |
||
148 | '101' => 'Nome do sacado não informado', |
||
149 | '102' => 'Endereço do sacado não informado', |
||
150 | '103' => 'Município do sacado não informado', |
||
151 | '104' => 'Unidade da federação não informada', |
||
152 | '105' => 'Tipo inscrição não existe', |
||
153 | '106' => 'CNPJ/CPF não informado', |
||
154 | '107' => 'Unidade da federação incorreta', |
||
155 | '108' => 'Dígito CNPJ/CPF incorreto', |
||
156 | '109' => 'Valor mora tem que ser zero (título = zero)', |
||
157 | '110' => 'Data primeiro desconto inválida', |
||
158 | '111' => 'Data desconto não númerica', |
||
159 | '112' => 'Valor desconto não informado', |
||
160 | '113' => 'Valor desconto inválido', |
||
161 | '114' => 'Valor abatimento não informado', |
||
162 | '115' => 'Valor abatimento maior valor título', |
||
163 | '116' => 'Data multa não númerica', |
||
164 | '117' => 'Valor desconto maior valor título', |
||
165 | '118' => 'Data multa não informada', |
||
166 | '119' => 'Data multa maior que data de vencimento', |
||
167 | '120' => 'Percentual multa não númerico', |
||
168 | '121' => 'Percentual multa não informado', |
||
169 | '122' => 'Valor IOF maior que valor título', |
||
170 | '123' => 'CEP do sacado não númerico', |
||
171 | '124' => 'CEP sacado não encontrado', |
||
172 | '125' => 'Complemento da instrução não númerico', |
||
173 | '126' => 'Código para baixa/devolução inválido', |
||
174 | '127' => 'Código para baixa/devolução não númerica', |
||
175 | '128' => 'Código protesto inválido', |
||
176 | '129' => 'Espécie de documento não númerica', |
||
177 | '130' => 'Forma de cadastramento não númerica', |
||
178 | '131' => 'Forma de cadastramento inválida', |
||
179 | '132' => 'Forma cadast. 2 inválida para carteira 3', |
||
180 | '133' => 'Forma cadast. 2 inválida para carteira 4', |
||
181 | '134' => 'Código do movimento remessa não númerico', |
||
182 | '135' => 'Código do movimento remessa inválido', |
||
183 | '136' => 'Código banco na compensação não númerico', |
||
184 | '137' => 'Código banco na compensação inválido', |
||
185 | '138' => 'Número lote remessa(detalhe) não númerico', |
||
186 | '139' => 'Tipo de registro inválido', |
||
187 | '140' => 'Código sequecial do registro detalhe inválido', |
||
188 | '141' => 'Número sequecial registro do lote não númerico', |
||
189 | '142' => 'Número agência cedente/dígito não númerico', |
||
190 | '143' => 'Número conta cedente/dígito não númerico', |
||
191 | '144' => 'Tipo de documento não númerico', |
||
192 | '145' => 'Tipo de documento inválido', |
||
193 | '146' => 'Código para protesto não númerico', |
||
194 | '147' => 'Quantidade de dias para protesto inválido', |
||
195 | '148' => 'Quantidade de dias para protesto não númerico', |
||
196 | '149' => 'Código de mora inválido', |
||
197 | '150' => 'Código de mora não númerico', |
||
198 | '151' => 'Valor mora igual a zeros para código mora 1', |
||
199 | '152' => 'Valor taxa mora igual a zeros para código mora 2', |
||
200 | '153' => 'Valor mora diferente de zeros para código mora 3', |
||
201 | '154' => 'Valor mora não númerico para código mora 2', |
||
202 | '155' => 'Valor mora inválido para código mora 4', |
||
203 | '156' => 'Quantidade dias para baixa/devolução não númerico', |
||
204 | '157' => 'Quantidade dias baixa/devolução inválido para código 1', |
||
205 | '158' => 'Quantidade dias baixa/devolução inválido para código 2', |
||
206 | '159' => 'Quantidade dias baixa/devolução inválido para código 3', |
||
207 | '160' => 'Bairro do sacado não informado', |
||
208 | '161' => 'Tipo inscrição CPF/CNPJ sacador/avalista não numérico', |
||
209 | '162' => 'Indicador de carnê não númerico', |
||
210 | '163' => 'Número total de parcelas carnê não númerico', |
||
211 | '164' => 'Número do plano não númerico', |
||
212 | '165' => 'Indicador de parcelas carnê inválido', |
||
213 | '166' => 'Número sequencial parcela inválido para indic. maior 0', |
||
214 | '167' => 'Número sequencial parcela inválido para indic. diferente de zeros', |
||
215 | '168' => 'Número total parcelas inválido para indic. maior que zeros', |
||
216 | '169' => 'Número total parcelas inválido para indic. diferente de zeros', |
||
217 | '170' => 'Forma de cadastramento 2 inválido para carteira 5', |
||
218 | '199' => 'Tipo inscrição CNPJ/CPF sacador/avalista inválido', |
||
219 | '200' => 'Número inscrição (CNPJ) sacador/avalista não númerico', |
||
220 | '201' => 'Alteração do contrato participante inválido', |
||
221 | '202' => 'Alteração do seu número inválida', |
||
222 | '212' => 'Data do juros de mora não númerico (d3p)', |
||
223 | '218' => 'Banco compensação não númerico (d30)', |
||
224 | '219' => 'Banco compensação inválido (d30)', |
||
225 | '220' => 'Número do lote remessa não númerico (d30)', |
||
226 | '221' => 'Número sequencial registro no lote (d30)', |
||
227 | '222' => 'Tipo inscrição sacado não númerico (d30)', |
||
228 | '223' => 'Tipo inscrição sacado inválido (d30)', |
||
229 | '224' => 'Número inscrição sacado não númerico (d30)', |
||
230 | '225' => 'Número inscrição sacado inválido para tipo inscrição (d30)', |
||
231 | '226' => 'Número banco compensação não númerico (d3r)', |
||
232 | '227' => 'Número banco compensação inválido (d3r)', |
||
233 | '228' => 'Número lote remessa não númerico (d3r)', |
||
234 | '229' => 'Número sequencial registro lote não númerico (d3r)', |
||
235 | '241' => 'Data desc3 não númerica (d3r)', |
||
236 | '242' => 'Código da multa não númerico (d3r)', |
||
237 | '243' => 'Código multa inválido (d3r)', |
||
238 | '244' => 'Valor da multa não númerico (d3r)', |
||
239 | '245' => 'Data da multa não númerico (d3r)', |
||
240 | '246' => 'Código banco compensação não númerico (d3s)', |
||
241 | '247' => 'Código banco compensação inválido (d3s)', |
||
242 | '248' => 'Número lote remessa não númerico (d3s)', |
||
243 | '249' => 'Número sequencial do registro lote não númerico (d3s)', |
||
244 | '250' => 'Número identificador de impressão não númerico (d3s)', |
||
245 | '251' => 'Número identificador de impressão inválido (d3s)', |
||
246 | '252' => 'Número linha impressa não númerico (d3s)', |
||
247 | '253' => 'Código messagem para rec. sacado não númerico (d3s)', |
||
248 | '254' => 'Código messagem para rec. sacado inválido (d3s)', |
||
249 | '258' => 'Valor mora não númerico para cod 4 (d3p)', |
||
250 | '259' => 'Cadastro de taxa de permanência inválido para código mora 4 (d3p)', |
||
251 | '260' => 'Valor título (real) inválido para código mora 1 (dep)', |
||
252 | '261' => 'Valor outros inválido para código mora 1 (d3p)', |
||
253 | '262' => 'Cadastro de taxa de permanência inválido para código mora 3 (d3p)', |
||
254 | '263' => 'Instrução para título não registrado', |
||
255 | '264' => 'Código de aceite (A/N) inválido', |
||
256 | '265' => 'Título com mais de 3 instruções financeiras', |
||
257 | '266' => 'Código de cedente não cadastrado', |
||
258 | '267' => 'Título sem ordem de protesto automática', |
||
259 | '268' => 'Data de juros de tolerância inválido', |
||
260 | '269' => 'Data de tolerância menor data vencimento', |
||
261 | '270' => 'Percentual de juros de tolerância inválido', |
||
262 | '371' => 'Titulo rejeitado - operação de desconto', |
||
263 | '372' => 'Título rejeitado - horário limite operação desconto', |
||
264 | ]; |
||
265 | |||
266 | /** |
||
267 | * Remittance occurrences codes. |
||
268 | * |
||
269 | * @var array |
||
270 | */ |
||
271 | protected static $remittanceOccurrences = [ |
||
272 | '01' => 'Entrada de título', |
||
273 | '02' => 'Baixa de título', |
||
274 | '04' => 'Concessão de abatimento', |
||
275 | '05' => 'Cancelamento abatimento', |
||
276 | '06' => 'Prorrogação de vencimento', |
||
277 | '07' => 'Alteração de número da conta cedente', |
||
278 | '08' => 'Alteração do seu número', |
||
279 | '09' => 'Protestar', |
||
280 | '18' => 'Sustar protesto', |
||
281 | ]; |
||
282 | |||
283 | /** |
||
284 | * Return occurrences codes. |
||
285 | * |
||
286 | * @var array |
||
287 | */ |
||
288 | protected static $returnOccurrences = [ |
||
289 | '01' => 'Título não existe', |
||
290 | '02' => 'Entrada título confirmada', |
||
291 | '03' => 'Entrada título rejeitada', |
||
292 | '06' => 'Liquidação', |
||
293 | '07' => 'Liquidação por conta', |
||
294 | '08' => 'Liquidação por saldo', |
||
295 | '09' => 'Baixa automática', |
||
296 | '10' => 'Título baixa confirmada instrução', |
||
297 | '11' => 'Em ser', |
||
298 | '12' => 'Abatimento concedido', |
||
299 | '13' => 'Abatimento cancelado', |
||
300 | '14' => 'Prorrogação de vencimento', |
||
301 | '15' => 'Confirmação de protesto', |
||
302 | '16' => 'Título já baixado / liquidado', |
||
303 | '17' => 'Liquidado em cartório', |
||
304 | '21' => 'Título enviado a cartório', |
||
305 | '22' => 'Título retirado de cartório', |
||
306 | '24' => 'Custas de cartório', |
||
307 | '25' => 'Protestar título', |
||
308 | '26' => 'Sustar protesto', |
||
309 | ]; |
||
310 | |||
311 | /** |
||
312 | * Return the default state of itau infos. |
||
313 | * |
||
314 | * @return \StdClass |
||
315 | */ |
||
316 | public function defaults() |
||
324 | } |
||
325 |