@axontraining-sistemas/tokenize-card
v1.0.2
Published
Package for card's tokenization
Downloads
6
Maintainers
Readme
Tokenizacion de Tarjetas de credito
📞 Parametros cuando se llame a tokenizer
La funcion tokenizer
cuenta con 3 parametros.
- El primero hace referencia a la pasarela encargada de tokenizar la tarjeta.
- 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.
- 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.
- 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.