//conta é sempre 8 digitos $conta = formata_numero($dadosboleto["conta"], 8, 0); //Zeros: usado quando convenio de 7 digitos $livre_zeros = '000000'; $carteira = preg_replace("/[^0-9]/", "", $dadosboleto["carteira"]); $modalidadecobranca = formata_numero(substr($carteira, -2, 2), 2, 0); $carteira = substr($carteira, -3, 1); $numeroparcela = formata_numdoc($dadosboleto["numero_parcela"], 3); $convenio = formata_numdoc($dadosboleto["convenio"], 7); //agencia e conta $agencia_codigo = $agencia . " / " . $convenio; //é utilizado apenas os últimos 7 dígitos do id do pedido pois 7 digitos é o padrão do sicoob $nosso_numero = formata_numdoc(substr($dadosboleto["nosso_numero"], -7), 7); //Lógica para nosso número $coop = formata_numdoc($dadosboleto["agencia"], 4); $conveniovalidacao = formata_numdoc($dadosboleto["convenio"], 10); $numero_validacao = "{$coop}{$conveniovalidacao}{$nosso_numero}"; $cont = 0; $calculoDv = ''; for ($num = 0; $num <= strlen($numero_validacao); $num++) { $cont++; if ($cont == 1) { // constante fixa Sicoob » 3197 $constante = 3; } if ($cont == 2) { $constante = 1; } if ($cont == 3) { $constante = 9; }
$num = "0" . $num; } return $num; } } $IdDoSeuSistemaAutoIncremento = '2'; // Deve informar um numero sequencial a ser passada a função abaixo, Até 6 dígitos $agencia = "3087"; // Num da agencia, sem digito $conta = "4593"; // Num da conta, sem digito $convenio = "56235"; //Número do convênio indicado no frontend $NossoNumero = formata_numdoc($IdDoSeuSistemaAutoIncremento, 7); $qtde_nosso_numero = strlen($NossoNumero); $sequencia = formata_numdoc($agencia, 4) . formata_numdoc(str_replace("-", "", $convenio), 10) . formata_numdoc($NossoNumero, 7); $cont = 0; $calculoDv = ''; for ($num = 0; $num <= strlen($sequencia); $num++) { $cont++; if ($cont == 1) { // constante fixa Sicoob » 3197 $constante = 3; } if ($cont == 2) { $constante = 1; } if ($cont == 3) { $constante = 9; } if ($cont == 4) {