PagoMovilOCR
Open Source / Pacote npmBiblioteca npm que extrai, normaliza e valida comprovantes de Pago Móvil venezuelanos via OCR.
Problema
Na Venezuela, confirmar um Pago Móvil geralmente significa pedir ao cliente uma captura de tela e ler à mão (valor, referência, data, banco), o que é lento, sujeito a erro humano e não escala para um negócio que processa muitos pagamentos por dia.
Solução
O PagoMovilOCR automatiza essa leitura: recebe uma imagem do comprovante e devolve dados estruturados junto com um conjunto de validações de consistência, sem depender de backend próprio e sem enviar a imagem a nenhum servidor.
Engineering
- Projetei um pipeline de 4 etapas independentes e testáveis separadamente: OCR → normalização → parsing → validação.
- Implementei um motor OCR intercambiável (Tesseract.js por padrão, rodando 100% no cliente/processo local via WebAssembly).
- Construí um sistema de perfis de banco registráveis (`registerBankProfile`) para detectar, e quando seguro, fazer o parsing do formato de cada banco.
- Desenvolvi um módulo de conversão USD/VES com a taxa oficial do BCV (via pydolarve.org), cache em memória configurável e tratamento explícito de dados `stale`.
- Cobri toda a lógica com testes unitários e de integração em Vitest: normalização, parsers, validadores individuais, o módulo de câmbio com providers simulados, e `verifyPayment` de ponta a ponta com um OCR simulado.
