{"_id":"@axontraining-sistemas/tokenize-card","_rev":"3-f4da1a9e8bb04ebe968c8070eee32f0f","name":"@axontraining-sistemas/tokenize-card","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@axontraining-sistemas/tokenize-card","version":"1.0.0","description":"Package for card's tokenization","main":"index.js","type":"module","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"tokenize-card"},"keywords":["tokenize","card","payu"],"author":{"name":"AxonTraining"},"license":"ISC","dependencies":{"axios":"^0.27.2"},"gitHead":"957cf9ef742860f0c9db6ffd11877cbcef93691a","_id":"@axontraining-sistemas/tokenize-card@1.0.0","_nodeVersion":"16.16.0","_npmVersion":"8.16.0","dist":{"integrity":"sha512-skId7ou67HAnK6/MD/F5Vl/eiBj7AuYSQAVvUxkW+uC1LrkOr2m1J1R/CboBR+fT0MehFkDJbUyNXys55q+EqA==","shasum":"f674c6e6120b6ec5afff069c8c0ea0b56870dc73","tarball":"https://registry.npmjs.org/@axontraining-sistemas/tokenize-card/-/tokenize-card-1.0.0.tgz","fileCount":8,"unpackedSize":6616,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDhVFvPD+9GKUHivvrphczJGQdiPI+JT30MOAtBotdBlgIgCUJe5D1y+/e9dCBPyAsyaUKcGSfWzycVLSLHDWrgKhg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9TniACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoCag/9Elli8nWNmIkjtQ3HqBc4d4m6edCtrJrMz0+R/vC0TwiESgyh\r\nhCbZPY9QQLYd/5GGNn7TpkzmKLuXDQgN/jkXHP0yjiJ+qyWT++UlCRtZCJ0h\r\nwIQv4f7EV35Lq/j/N07VtF7soyOQggZ4WZw6PzHIRX0BDQD/H1L9lfsvIb3C\r\nUVwrW3VeCbdnEczVnXgvpufV703g75lvMOLn5SkmlRmXqFBtuAYObmSIdmYL\r\ngm/G5cqvFTBQS+PkPZ7oGvJhm87lwWf9LaHWdZiw4sWtdEyk/aEZGaS+zsgI\r\n/U6b+h7gXSiuJaTbC/L0amMf9IXvYHrZK33yhqJP7l+skpV3k0R+poOD1Xe7\r\nmIBShD6xMHY1aF9kF1+ruMAtmomQ3YEVOn81dkhuImgziK+X3XlZiGgpJaxz\r\nAMBzy0FKY/QxdQ+j+AL29eW1YGl4g7Sp3pVIrNfwsjLRHsdN1lKoXP4wqKxm\r\nVM54Pn0EBml0+qE6vKM2SD1hkTyVKYx2obmsnkdXIGLtj+U6dSKNo1qaY76d\r\no5IQxVxs3tol07XLTx6MR4IDhhUMqnOB6Mi0jbMWacpmiWJLF71iYTwGDeMd\r\nOh+zXZYDnlers8RT08Wu47BawVyMjqqvsrlFHfUto5xvGw3vZIggEjlRS0Bt\r\nAvW6cimC9EE7zreCPx9yZjbuqwL2dNlK1vs=\r\n=7G6W\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"axontraining-sistemas","email":"cristian.minchiotti@axont.com"},"directories":{},"maintainers":[{"name":"axontraining-sistemas","email":"cristian.minchiotti@axont.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tokenize-card_1.0.0_1660238306399_0.4297108979454649"},"_hasShrinkwrap":false},"1.0.1":{"name":"@axontraining-sistemas/tokenize-card","version":"1.0.1","description":"Package for card's tokenization","main":"index.js","type":"module","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"tokenize-card"},"keywords":["tokenize","card","payu"],"author":{"name":"AxonTraining"},"license":"ISC","dependencies":{"axios":"^0.27.2"},"gitHead":"7bc0fcab40fe9e682630ea3a0713f65075e9a00b","_id":"@axontraining-sistemas/tokenize-card@1.0.1","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-643p0lwIjVLMBtqYJ56nKpppstFpe7nj9xnzfovSa5JG560+h9wDhU5YkwpvubiZp7PvJXMwy6rf9+4sttQ9OQ==","shasum":"9d9c680ae23d54d9bef331a5777d0e1f33681cdc","tarball":"https://registry.npmjs.org/@axontraining-sistemas/tokenize-card/-/tokenize-card-1.0.1.tgz","fileCount":8,"unpackedSize":6685,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcmCZlj3bwkaFS1IEyoUiTCljS1JU4CKZKq8VcrovSCwIgTscCuxrhmE5b+Ic4AV0MTagiahjElgHEboec4QIdyIQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA3u5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpr3Q/+KRs/L4uOVeAGEOMlz9xnBX2iJwMUDASswfqVy7E6MJ+u8zSj\r\nOvmKUFooIPsjZb05FGLX8R5zQ+SRMg2b3Fos/UmL9JOClxoTnk/Q4Fcp5muj\r\nd2G6qRq76NfaFRQlrnsdHXRNhiFWkWtf6woVjTxJUr/HpgJSAWmvueXgjSHg\r\nsXi489uDgfFt3zisf1q7phmID7vNe5w4ZsQqX8DfvmsBVwLoZL294ZQzEsPf\r\nChfzvfW6FPutviDCfZIzZfmLZjoWyYCrozqIghF+l4i8+nROwKR0O78ogYIq\r\nKIqTmHwKfKZIT3HfZZ+RkOKGyZBGbb7Yu4W0v+yp5hPp547mcXmBasmn6SyR\r\n2h7TfebwWJf9U8bUJ5RcrHOXzB4q8w3tbmW11796Ne9TRJHk7yeREo3tEE0n\r\nlZOE/uiRhFHkbQLjFFi5miKdTE7XSD3oLgUO7utjXuFX7GsOXhqXJLFxtqfG\r\n6POCuF8Y+lxDLMYcTJgskvH6/ICT7eI+rzeqdNwBOC5D5QykJvay67QH3YgH\r\n0Cp1Cg4XCyDEcCRSmMErRMU/YIF5wL4+lb/jwc4NXVGUGjFMgkJua604P45q\r\nclR+9OpGVnvjFNLPMdfOPHvCVILMT4Oerp7Bnxo1FoRoIVdioJyXjSjgdfbP\r\nTa0uactx3FzQoBz1dBmA8BoW2mYTNK4PdI4=\r\n=kWu3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"axontraining-sistemas","email":"cristian.minchiotti@axont.com"},"directories":{},"maintainers":[{"name":"axontraining-sistemas","email":"cristian.minchiotti@axont.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tokenize-card_1.0.1_1661172665505_0.36938347910866165"},"_hasShrinkwrap":false},"1.0.2":{"name":"@axontraining-sistemas/tokenize-card","version":"1.0.2","description":"Package for card's tokenization","main":"index.js","type":"module","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"tokenize-card"},"keywords":["tokenize","card","payu"],"author":{"name":"AxonTraining"},"license":"ISC","dependencies":{"axios":"^0.27.2"},"gitHead":"a8f16f6644d06da68b7613de7c2ee59950afc262","_id":"@axontraining-sistemas/tokenize-card@1.0.2","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-UC2qGLUmyVRx5o7DoZuxEZ1qbYS4R8axPnLsDuRRSfpChZSgtm2vrERZTupLVRVTC1Hw79s6rdkT+7EfKzwA8Q==","shasum":"87edde7177162430ea8ebd0dd433fb0f0ecafd07","tarball":"https://registry.npmjs.org/@axontraining-sistemas/tokenize-card/-/tokenize-card-1.0.2.tgz","fileCount":8,"unpackedSize":6722,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDe3xpDRMaUk5myBhvT+k2dFLqYY3JH4bgUdveBOZpPVwIgXi/csD3dBtFwGMqcrF+lM8oH/8GDlE3oOJIu/cvBatk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA5tMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGIg/+PDlwJT7CVtg56UEZBKqloAE1Lf+0LxKr9k0eqcoLndPK3Omi\r\nDRZEa088mzb/3naoCE9haUSFJn3KsFhP19YihJVaDwcjQZy87YsGD97mj6Kr\r\nZ0/bQUSen0dSPdd5mnLTn1GG3UeJF+QXJbDJuSSdOTXF8lepSJpp6rzLen6z\r\nSBRUZqBaUkugl/2fuOvMhNgXa2QF9XVRMqXsl/vVLBJm/KdRw1qmwYlOExCg\r\nrQdFfjFbKGt7XsQtHqcCUJEJeqmB1eObUo8zx5b5556ol0BOoRpGvB5h8+K5\r\nXz6/sh7RedFXqWsu7tDWChS2YHqQsvb0YwRKLDiDU0UVfvCVO/SlR/Xxrem5\r\n4nxFoNviDsKluf6cdJEhw3ob6hSqaxDm5aQWzMAOAFD0F2anHw7V+7EmbIkD\r\nk+qpBsbO7Fh0lCy9TIU6TgkCBz7gtWNfxSLwmHXeXT1+DIOr80n4vb/ENSNO\r\nFYRbGcYojhCUVxe4ge2DAz/noGfTABLbuoqD6uGRTZwoAaZiqCr68VdeE6W3\r\nxHWiB2slJ7AoFekz9nYRmF7dGYCLZZkj6CurHqmXgs2fjdvPxj8Qc7644L8g\r\nLSyaadujrkUx04+JH+5lETpU2T9bKj4nKU0jyYqRmI/6KAT8hJueUG7xAs8D\r\nQme9TOedAyWE63tVpABFj2xRtTK5O8RcgUM=\r\n=Crxf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"axontraining-sistemas","email":"cristian.minchiotti@axont.com"},"directories":{},"maintainers":[{"name":"axontraining-sistemas","email":"cristian.minchiotti@axont.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tokenize-card_1.0.2_1661180748402_0.22429240639248116"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-11T17:18:26.398Z","1.0.0":"2022-08-11T17:18:26.594Z","modified":"2022-08-22T15:05:48.640Z","1.0.1":"2022-08-22T12:51:05.651Z","1.0.2":"2022-08-22T15:05:48.566Z"},"maintainers":[{"name":"axontraining-sistemas","email":"cristian.minchiotti@axont.com"}],"description":"Package for card's tokenization","keywords":["tokenize","card","payu"],"repository":{"type":"git","url":"tokenize-card"},"author":{"name":"AxonTraining"},"license":"ISC","readme":"# Tokenizacion de Tarjetas de credito\r\n\r\n## 📞 Parametros cuando se llame a tokenizer\r\n\r\nLa funcion `tokenizer` cuenta con 3 parametros.\r\n\r\n1. El <b>primero</b> hace referencia a la pasarela encargada de tokenizar la tarjeta.\r\n2. El <b>segundo</b> es el objeto que necesitamos proveerle a la pasarela al momento de pegarle a su api para que nos devuelva informacion como el token.\r\n3. El <b>tercero</b> es un objeto que mandaremos a NUESTRA api para poder crear en la base de datos, los registros correspondiente a la tarjeta tokenizada.\r\n4. El <b>cuarto</b> es opcional y se utiliza para switchear entre entoro de prueba y produccion\r\n\r\n- ### PayU.\r\n\r\n```javascript\r\ntokenizer(\r\n  \"payu\",\r\n  {\r\n    payerId: \"10\",\r\n    identificationNumber: \"32144457\",\r\n    paymentMethod: \"VISA\",\r\n    number: \"4037997623271984\",\r\n    expirationDate: \"2025/01\",\r\n  },\r\n  {\r\n    idPasarela: 2,\r\n    cvv: \"209\",\r\n    sufix: \"0920\",\r\n    dni: 44418290,\r\n    idVenta: 808080,\r\n    idContacto: 589090,\r\n    expirationMonth: 1,\r\n    expirationYear: 2025,\r\n  },\r\n  true\r\n)\r\n```\r\n\r\n## 🔎 Funcionamiento de este repo\r\n\r\nEn este repo hay varios archivos, el mas importante es `tokenizer` donde\r\nse ejecuta el tokenizador correspondiente al nombre de la pasarela que es\r\nenviada por parametros de la funcion tokenizer.\r\n\r\nEste tokenizador es seleccionado por diccionario que tiene como key el\r\nid de la pasarela tokenizadora, y como value la funcion encargada de\r\ntokenizar la tarjeta ya sea utilizando una api nuestra o externa para\r\ntokenizar.\r\n\r\n## ⚒️ Adicion de una nueva pasarela\r\n\r\nSi estas por agregar una nueva pasarela tokenizadora:\r\nAgregarla en el diccionario dentro de `pasarelaTokenizador` donde como key\r\ntiene que ser el nombre (como un breve tag) de dicha pasarela y como value\r\nuna funcion encargada de tokenizar.\r\nTambien agregar la nueva pasarela con su tag a la seccion de llamada a\r\nla funcion para una mejor documentacion.\r\n\r\n## 👷 Mas informacion acerca de tokenizacion\r\n\r\nA pedido de cobranzas y porque es una buena practica, de ahora en mas\r\nse tokenizaran las tarjetas que el usuario ingrese desde\r\n<mark>checkout, campus o gestion</mark>.\r\n\r\nEn primera instancia se utilizara PayU como servicio para tokenizar las\r\ntarjetas, pero se espera que utilicemos otros servicios como el que\r\nutiliza spotifi EBanx.\r\n\r\nEl proceso de la creacion de token se utilizara en campus, gestion y\r\ncheckout. Estos repos se comunican con api donde se crea la tarjeta y\r\nahora se tokenizara tambien a traves de PayU.\r\n\r\nEl proceso de `destokenizacion` se realizara en api al momento de\r\nefectuarse el credito automatico. donde validaremos si el usuario ya\r\ntiene un token creado previamente y realizar el pago con dicho token.\r\n\r\n`tarjetas_relacion`\r\nEn un principio se engargara de relacionar un registro a otro en la\r\ntabla tarjetas o tarjetas_tokenizadas, dependiendo de si la tarjeta\r\nse encuentra o no tokenizada.\r\n\r\nDigo en un principio porque la idea es que en un futuro todas las\r\ntarjetas sean tokenizadas y poder deprecar la tabla tarjetas,\r\nbut this is axon.\r\n\r\nUsaremos esta tabla tambien para administrar el estado de la tarjeta\r\ndel usuario, es decir, si la tarjeta esta activa o si es la principal,\r\nesto dependera de varias casuisticas:\r\n\r\nSi el usuario compra desde el checkout o si agrega desde campus o\r\ngestion una tarjeta nueva , es decir, que no existia previamente en\r\ntarjetas_relacion, entonces esa nueva tarjeta pasara a ser la principal\r\ny las demas que esten relacionadas a su userid seran setteadas en\r\n<mark>principal 0</mark>.\r\n\r\nSi el usuario elimina una tarjeta existente desde el campus, dicha\r\ntarjeta pasara a settearse en <mark>activo</mark> 0 en la tabla tarjetas_relacion.\r\n\r\n`tarjetas_tokenizadas`\r\nEsta sera la nueva tabla encargada de guardar informacion relevante al\r\nmomento de la creacion del token de la tarjeta del usuario.\r\n\r\n`tarjetas`\r\nEs la tabla vieja que esperamos deprecar, contiene la tarjeta hasheada,\r\ninformacion vaga del usuario y poco mas. Aca no se toco nada.\r\n","readmeFilename":"README.md"}