@axontraining-sistemas/tokenize-card

1.0.2 • Public • Published

Tokenizacion de Tarjetas de credito

📞 Parametros cuando se llame a tokenizer

La funcion tokenizer cuenta con 3 parametros.

  1. El primero hace referencia a la pasarela encargada de tokenizar la tarjeta.
  2. El segundo es el objeto que necesitamos proveerle a la pasarela al momento de pegarle a su api para que nos devuelva informacion como el token.
  3. El tercero es un objeto que mandaremos a NUESTRA api para poder crear en la base de datos, los registros correspondiente a la tarjeta tokenizada.
  4. El cuarto es opcional y se utiliza para switchear entre entoro de prueba y produccion
  • PayU.

tokenizer(
  "payu",
  {
    payerId: "10",
    identificationNumber: "32144457",
    paymentMethod: "VISA",
    number: "4037997623271984",
    expirationDate: "2025/01",
  },
  {
    idPasarela: 2,
    cvv: "209",
    sufix: "0920",
    dni: 44418290,
    idVenta: 808080,
    idContacto: 589090,
    expirationMonth: 1,
    expirationYear: 2025,
  },
  true
)

🔎 Funcionamiento de este repo

En este repo hay varios archivos, el mas importante es tokenizer donde se ejecuta el tokenizador correspondiente al nombre de la pasarela que es enviada por parametros de la funcion tokenizer.

Este tokenizador es seleccionado por diccionario que tiene como key el id de la pasarela tokenizadora, y como value la funcion encargada de tokenizar la tarjeta ya sea utilizando una api nuestra o externa para tokenizar.

⚒️ Adicion de una nueva pasarela

Si estas por agregar una nueva pasarela tokenizadora: Agregarla en el diccionario dentro de pasarelaTokenizador donde como key tiene que ser el nombre (como un breve tag) de dicha pasarela y como value una funcion encargada de tokenizar. Tambien agregar la nueva pasarela con su tag a la seccion de llamada a la funcion para una mejor documentacion.

👷 Mas informacion acerca de tokenizacion

A pedido de cobranzas y porque es una buena practica, de ahora en mas se tokenizaran las tarjetas que el usuario ingrese desde checkout, campus o gestion.

En primera instancia se utilizara PayU como servicio para tokenizar las tarjetas, pero se espera que utilicemos otros servicios como el que utiliza spotifi EBanx.

El proceso de la creacion de token se utilizara en campus, gestion y checkout. Estos repos se comunican con api donde se crea la tarjeta y ahora se tokenizara tambien a traves de PayU.

El proceso de destokenizacion se realizara en api al momento de efectuarse el credito automatico. donde validaremos si el usuario ya tiene un token creado previamente y realizar el pago con dicho token.

tarjetas_relacion En un principio se engargara de relacionar un registro a otro en la tabla tarjetas o tarjetas_tokenizadas, dependiendo de si la tarjeta se encuentra o no tokenizada.

Digo en un principio porque la idea es que en un futuro todas las tarjetas sean tokenizadas y poder deprecar la tabla tarjetas, but this is axon.

Usaremos esta tabla tambien para administrar el estado de la tarjeta del usuario, es decir, si la tarjeta esta activa o si es la principal, esto dependera de varias casuisticas:

Si el usuario compra desde el checkout o si agrega desde campus o gestion una tarjeta nueva , es decir, que no existia previamente en tarjetas_relacion, entonces esa nueva tarjeta pasara a ser la principal y las demas que esten relacionadas a su userid seran setteadas en principal 0.

Si el usuario elimina una tarjeta existente desde el campus, dicha tarjeta pasara a settearse en activo 0 en la tabla tarjetas_relacion.

tarjetas_tokenizadas Esta sera la nueva tabla encargada de guardar informacion relevante al momento de la creacion del token de la tarjeta del usuario.

tarjetas Es la tabla vieja que esperamos deprecar, contiene la tarjeta hasheada, informacion vaga del usuario y poco mas. Aca no se toco nada.

Readme

Keywords

Package Sidebar

Install

npm i @axontraining-sistemas/tokenize-card

Weekly Downloads

2

Version

1.0.2

License

ISC

Unpacked Size

6.72 kB

Total Files

8

Last publish

Collaborators

  • axontraining-sistemas