承接 hacklab/bank-account-validator 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

hacklab/bank-account-validator

Composer 安装命令:

composer require hacklab/bank-account-validator

包简介

A simple brazilian account validator

README 文档

README

Um simples validador de agencia, conta e dígitos verificadores de bancos brasileiros em PHP.

Bancos suportados:

Nome Código Agência Conta
Bradesco 237 4 + DV 7 + DV
Itaú 341 4 5 + DV
Banco do Brasil 001 4 + DV 8 + DV
Santander 033 4 8 + DV

DV: Dígito verificador.

Exemplo de uso:

use BankValidator;
   

$bank_code = '033';      // codigo do banco
$agency = '47812';       // numero da agencia
$agency_digit = '';      // DV da agência
$account = '43401980';   // numero da conta
$account_digit = '1';    // DV da conta  
$auto_pad_values = true; // Adiciona zeros para completar valores para o banco especifico

// A opção de auto_pad por padrão é false
$valid = BankValidator\Validator::validate($bank_code, $agency, $agency_digit, $account, $account_digit, $auto_pad_values);

// O validador retornará verdadeiro se houve 
// sucesso ou um array de erros em caso de falha(s).

Erros possíveis no retorno

Ao 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:

  • INVALID_AGENCY_NUMBER: Agência não segue os padrões do banco.
  • INVALID_AGENCY_DIGIT : Digito verificador da agência não segue os padrões do banco
  • INVALID_ACCOUNT_NUMBER: A conta não segue os padrões do banco.
  • INVALID_ACCOUNT_DIGIT: Digito verificador da conta não segue os padrões do banco
  • AGENCY_DIGIT_DONT_MATCH: Digito verificador para a agencia é inválido
  • ACCOUNT_DIGIT_DONT_MATCH: Digito verificador para a conta é inválido

Exemplo de retorno em caso de combinação invalida:

$bank_code = '033';
$agency = '47812'; // agência inválida (5 números)
$agency_digit = '';
$account = '43401980';
$account_digit = '1'; // DV é dado a partir da agência (alguns bancos), logo, tornando-o incorreto

$valid =  BankValidator\Validator::validate($bank_code, $agency, $agency_digit, $account, $account_digit, true);

Retorno:

array [ 
	"INVALID_AGENCY_NUMBER",
	"ACCOUNT_DIGIT_DONT_MATCH"
 ]

Exceções previstas

  • 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).

Desenvolvimento

Esse ambiente faz do docker/docker-compose. Cerifique-se que ele está instalado. Caso contrario, clique aqui para aprender a instalar o docker.

  • Para rodar o ambiente basta executar:
     docker-compose up 
  • O composer é utilizado e instalado automaticamente no ambiente. Para instalar as dependências pode-se utilizar o composer install.
  • Lembrando que para atualizar as referencias para o autoloader podemos usar o comando composer dump -o

Testes automatizados:

Existe 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:

 vendor/bin/phpunit 

hacklab/bank-account-validator 适用场景与选型建议

hacklab/bank-account-validator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8.8k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2020 年 12 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 hacklab/bank-account-validator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 hacklab/bank-account-validator 我们能提供哪些服务?
定制开发 / 二次开发

基于 hacklab/bank-account-validator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 8.8k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 4
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-only
  • 更新时间: 2020-12-10