Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeanlescure/costa-rica-iban
Funciones utiles para extraer y validar información general de números de cuenta IBAN de Costa Rica
https://github.com/jeanlescure/costa-rica-iban
beginner-friendly costa-rica costarica finance fintech fintech-utility javascript javascript-library open-source opensource spanish
Last synced: 17 days ago
JSON representation
Funciones utiles para extraer y validar información general de números de cuenta IBAN de Costa Rica
- Host: GitHub
- URL: https://github.com/jeanlescure/costa-rica-iban
- Owner: jeanlescure
- Created: 2020-01-31T19:55:43.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-03T06:23:01.000Z (over 1 year ago)
- Last Synced: 2024-04-14T03:18:18.148Z (9 months ago)
- Topics: beginner-friendly, costa-rica, costarica, finance, fintech, fintech-utility, javascript, javascript-library, open-source, opensource, spanish
- Language: HTML
- Homepage: https://www.npmjs.com/package/costa-rica-iban
- Size: 1.1 MB
- Stars: 16
- Watchers: 3
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Costa Rica IBAN
![Tests](https://github.com/jeanlescure/costa-rica-iban/workflows/tests/badge.svg)[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)
Funciones de Typescript/Javascript útiles para extraer y validar información general de números de cuenta [IBAN de Costa Rica](https://www.bccr.fi.cr/sistema-de-pagos/informaci%C3%B3n-general/iban).
Esta herramienta fue creada en base al documento [Codificaciones Generales Del Sistema De Pagos](https://raw.githubusercontent.com/jeanlescure/costa-rica-iban/master/assets/codificaciones-generales-del-sistema-de-pagos.pdf)
del Banco Central de Costa Rica (BCCR). El Jupyter Notebook usado para la extracción de datos puede
ser visualizado en [este enlace](https://costaricaiban.org/assets/cotejando-codificaciones-generales-del-sistema-de-pagos.html).## 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](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:
```js
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));
// > Credomaticconsole.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:
```js
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](https://github.com/jeanlescure/costa-rica-iban/tree/master/src/index.test.js) en `./src/index.test.ts`.
## Uso en el navegador
```html
var cri = new CostaRicaIBAN('CR06010200009123456789');
document.write(cri.getBankObject());
```
## Desarrollo
Clonar repositorio e instalar dependencias:
```
$ pnpm
```Usamos [TDD](https://es.wikipedia.org/wiki/Desarrollo_guiado_por_pruebas), por lo tanto se espera que se agreguen las pruebas pertinentes en `./src/index.test.ts`.
Nuestro motor de pruebas es [Jest](https://jestjs.io/). 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](https://allcontributors.org/docs/en/emoji-key)):
Jean Lescure
💻 🖋 📖 🎨 💡 🚧 ⚠️ 📓
Diana Lescure
📓 ️️️️♿️
Rolando Gonzalez H.
👀
Kevin Wolf
🤔
Este proyecto sigue la especificación de [all-contributors](https://github.com/all-contributors/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.