{"id":33983359,"url":"https://github.com/hacklabr/validador-bancario","last_synced_at":"2026-06-09T07:32:07.665Z","repository":{"id":55862700,"uuid":"320388566","full_name":"hacklabr/validador-bancario","owner":"hacklabr","description":"Validador de conta e agencia de bancos brasileiros","archived":false,"fork":false,"pushed_at":"2020-12-15T21:33:08.000Z","size":62,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-04-23T21:11:29.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hacklabr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-10T20:58:34.000Z","updated_at":"2020-12-21T04:33:34.000Z","dependencies_parsed_at":"2022-08-15T08:00:49.946Z","dependency_job_id":null,"html_url":"https://github.com/hacklabr/validador-bancario","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/hacklabr/validador-bancario","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fvalidador-bancario","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fvalidador-bancario/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fvalidador-bancario/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fvalidador-bancario/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hacklabr","download_url":"https://codeload.github.com/hacklabr/validador-bancario/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hacklabr%2Fvalidador-bancario/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34096950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-13T04:02:20.939Z","updated_at":"2026-06-09T07:32:07.659Z","avatar_url":"https://github.com/hacklabr.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n# Validador bancário\nUm simples validador de agencia, conta e dígitos verificadores de bancos brasileiros em **PHP**.\n\n**Bancos suportados:**\n| Nome | Código | Agência | Conta\n|--|--|--|--|\n| Bradesco | 237 | 4 + **DV** | 7 + **DV**\n| Itaú | 341 | 4  | 5 + **DV**\n| Banco do Brasil  | 001 | 4 + **DV** | 8 + **DV**\n| Santander  | 033 | 4  | 8 + **DV**\n\n**DV**: Dígito verificador.\n\n## Exemplo de uso:\n\n    use BankValidator;\n\t   \n\t\n    $bank_code = '033';      // codigo do banco\n    $agency = '47812';       // numero da agencia\n    $agency_digit = '';      // DV da agência\n    $account = '43401980';   // numero da conta\n    $account_digit = '1';    // DV da conta  \n    $auto_pad_values = true; // Adiciona zeros para completar valores para o banco especifico\n    \n    // A opção de auto_pad por padrão é false\n    $valid = BankValidator\\Validator::validate($bank_code, $agency, $agency_digit, $account, $account_digit, $auto_pad_values);\n    \n    // O validador retornará verdadeiro se houve \n    // sucesso ou um array de erros em caso de falha(s).\n\n## Erros possíveis no retorno\nAo rodar uma validação todos os parâmetros são validados e dependendo do sucesso ou não novos erros são adicionados a lista. A lista pode conter os seguintes erros:\n - `INVALID_AGENCY_NUMBER`: Agência não segue os padrões do banco.\n - `INVALID_AGENCY_DIGIT` : Digito verificador da agência não segue os padrões do banco\n - `INVALID_ACCOUNT_NUMBER`: A conta não segue os padrões do banco.\n - `INVALID_ACCOUNT_DIGIT`:  Digito verificador da conta não segue os padrões do banco \n - `AGENCY_DIGIT_DONT_MATCH`: Digito verificador para a agencia é inválido\n - `ACCOUNT_DIGIT_DONT_MATCH`: Digito verificador para a conta é inválido\n\nExemplo de retorno em caso de combinação invalida:\n\n\t$bank_code = '033';\n    $agency = '47812'; // agência inválida (5 números)\n    $agency_digit = '';\n    $account = '43401980';\n    $account_digit = '1'; // DV é dado a partir da agência (alguns bancos), logo, tornando-o incorreto\n    \n    $valid =  BankValidator\\Validator::validate($bank_code, $agency, $agency_digit, $account, $account_digit, true);\n Retorno:\n\n    array [ \n    \t\"INVALID_AGENCY_NUMBER\",\n    \t\"ACCOUNT_DIGIT_DONT_MATCH\"\n     ]\n## Exceções previstas\n- `BankValidator\\classes\\exceptions\\NotRegistredBankCode`: É lançado quando o código do banco passado não está registrado. Os códigos dos bancos suportados podem ser vistos no inicio desse documento ([aqui](#validador-banc%C3%A1rio)).\n## Desenvolvimento\nEsse ambiente faz do **docker**/**docker-compose**. Cerifique-se que ele está instalado. Caso contrario, [clique aqui](https://docs.docker.com/engine/install/) para aprender a instalar o **docker**. \n- Para rodar o ambiente basta executar: \u003cpre\u003e docker-compose up \u003c/pre\u003e\n- O **composer** é utilizado e instalado automaticamente no ambiente. Para instalar as dependências pode-se utilizar o `composer install`.\n-  Lembrando que para atualizar as referencias para o **autoloader** podemos usar o comando `composer dump -o`\n## Testes automatizados:\nExiste um conjunto de testes individuais para cada banco para validação de erros. Para executar os testes você pode rodar o **phpunit** em seu ambiente:\n\u003cpre\u003e vendor/bin/phpunit \u003c/pre\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacklabr%2Fvalidador-bancario","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhacklabr%2Fvalidador-bancario","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhacklabr%2Fvalidador-bancario/lists"}