Skip to content

Funciones utiles para extraer y validar información general de números de cuenta IBAN de Costa Rica

Notifications You must be signed in to change notification settings

jeanlescure/costa-rica-iban

Repository files navigation

imagen de la bandera de costa rica

Costa Rica IBAN

Tests

All Contributors

Funciones de Typescript/Javascript útiles para extraer y validar información general de números de cuenta IBAN de Costa Rica.

Esta herramienta fue creada en base al documento Codificaciones Generales Del Sistema De Pagos del Banco Central de Costa Rica (BCCR). El Jupyter Notebook usado para la extracción de datos puede ser visualizado en este enlace.

Herramienta en línea

Para validar números de cuenta IBAN y extraer información sobre las entidad bancaria emisora, puede hacerse uso de la siguiente página oficialmente mantenida por los colaboradores de este repositorio:

https://costaricaiban.org

Uso con Node.js

Instalación pnpm:

$ pnpm add costa-rica-iban

Instalación yarn:

$ yarn add costa-rica-iban

Instalación npm:

$ npm install costa-rica-iban

Uso de funciones:

import {
  getBankNameFromIBAN,
  getBankObjectFromIBAN,
} from 'costa-rica-iban';


// Cuenta IBAN en entidad bancaria sin representante:
let bankAcct = 'CR06010200009123456789';

console.log(getBankNameFromIBAN(bankAcct));
// > BAC San José S.A.


// Cuenta IBAN en entidad bancaria con representante:
bankAcct = 'CR06083700009123456789';

console.log(getBankNameFromIBAN(bankAcct));
// > Credomatic

console.log(getBankNameFromIBAN(bankAcct), true);
// > BAC San José S.A.


console.log(getBankObjectFromIBAN(bankAcct));
// >
// {
//   "code": "837",
//   "entity": "Credomatic",
//   "category": "ENTIDAD LIQUIDADORA DE SERVICIOS Y EMISORA DE TARJETAS",
//   "participation": "representada",
//   "representative": "BAC San José S.A."
// }

Funciones disponibles:

  • getCountryPrefixFromIBAN(iban)
  • verifyIBANCountryPrefix(iban)
  • verifyIBANLength(iban)
  • verifyIBANFormat(iban)
  • getBankCodeFromIBAN(iban)
  • getBankObjectFromIBAN(iban)
  • getBankCategoryFromIBAN(iban)
  • getBankNameFromIBAN(iban, returnRepresentative = false)

Uso de clase:

import CostaRicaIBAN from 'costa-rica-iban';

const cri = new CostaRicaIBAN('CR06010200009123456789');

console.log(cri.getBankObject());
// >
// {
//   "code": "102",
//   "entity": "BAC San José S.A.",
//   "participation": "asociada",
//   "representative": ""
// }

Funciones de clase disponibles:

  • .getCountryPrefix()
  • .getBankCode()
  • .getBankObject()
  • .getBankCategory()
  • .getBankName()

Para más detalles ver las pruebas en ./src/index.test.ts.

Uso en el navegador

<script src="/dist/costa-rica-iban.min.js"></script>
<script>
  var cri = new CostaRicaIBAN('CR06010200009123456789');

  document.write(cri.getBankObject());
</script>

Desarrollo

Clonar repositorio e instalar dependencias:

$ pnpm

Usamos TDD, por lo tanto se espera que se agreguen las pruebas pertinentes en ./src/index.test.ts.

Nuestro motor de pruebas es Jest. Para ejecutar las pruebas simplemente hace falta correr el comando:

$ pnpm test

Colaboración

Este repositorio tiene activados los issues y pull requests.

Para que un pull request sea tomado en cuenta deberá tener:

  • un issue que describa la funcionalidad existente que esté rota o la funcionalidad nueva propuesta
  • una descripción en el pull request que incluya mención del issue, un detalles de las soluciones/mejoras propuestas, y fuentes usadas para llegar a las soluciones/mejoras propuestas

Colaboradores ✨

Gracias a los colaboradores de este proyecto (emoji key):


Jean Lescure

💻 🖋 📖 🎨 💡 🚧 ⚠️ 📓

Diana Lescure

📓 ️️️️♿️

Rolando Gonzalez H.

👀

Kevin Wolf

🤔

Este proyecto sigue la especificación de all-contributors. ¡Colaboraciones de cualquier tipo son bienvenidas!

LICENCIA

Copyright 2020 Jean M. Lescure

Por la presente se concede permiso, libre de cargos, a cualquier persona que obtenga una copia de este software y de los archivos de documentación asociados (el "Software"), a utilizar el Software sin restricción, incluyendo sin limitación los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar, y/o vender copias del Software, y a permitir a las personas a las que se les proporcione el Software a hacer lo mismo, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "COMO ESTÁ", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR E INCUMPLIMIENTO. EN NINGÚN CASO LOS AUTORES O PROPIETARIOS DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O CUALQUIER OTRO MOTIVO, DERIVADAS DE, FUERA DE O EN CONEXIÓN CON EL SOFTWARE O SU USO U OTRO TIPO DE ACCIONES EN EL SOFTWARE.