webpay-nodejs
Módulo no oficial para integrar la API de WebPay, Anulaciones y OneClick de Transbank en Node.js, con soporte para promesas.
Instalación
npm install webpay-nodejs
Transacción normal
Revisa el directorio /showcase para ver ejemplos funcionando
$ node showcase/test<DesiredTest>
- Instanciar
const WebPay = ; let wp = commerceCode: youCommerceCode publicKey: youPublicKey // .cert file privateKey: youPrivateKey // .key file webpayKey: youWebpayKey // .pem file env: WebPayENVINTEGRACION;
- Iniciar Transacción
wp
- Obtener datos de la transacción
wp
- Aceptar la transacción
wp
Opcionalmente, anular
wp
Para los métodos de OneClick, usar wp.oneclick.*
y wp.onclickmall.*
respectivamente.
Changelog
v1.4.0
Las versiones anteriores tienen problemas de seguridad en sus dependencias. Se recomienda actualizar a ésta versión como punto mínimo.
- Se agregaron dependencias faltantes (ejs). Notificado por ffflabs (#15).
- Se agregó una versión propia de ursa, y actualización de soap. Ahora la instalación no tiene problemas de seguridad. Gracias nicolaslopezj (#20).
- Se corrigieron problemas en los ejemplos. Gracias DiruzCode (#17), Rubenazo (#9).
- Agregado soporte parcial para pagos diferidos (Falta documentación). BluebambooSRL (#11).
- Se agregó más formalismo en la licencia (archivos COPYING, COPYING.LESEER). La licencia sigue siendo la misma, LGPL.
v1.3.0
- Se agregó soporte para WebPay OneClick Mall. Gracias Alonso Gaete! (#6).
- Correcciones menores internas al manejo de errores (no implica cambios en la API).
- Los ejemplos ahora manejan los errores (solo a modo de demostración).
- Se actualizaron los certificados de WebPay Normal.
- Se eliminaron dependencias sin uso.
v1.2.0
- Se agregó soporte para WebPay OneClick
- Gracias a la observación de Joaquin Gumucio L., se reemplazó la dependencia de "ursa" por una versión pura en js "ursa-purejs", solucionando de esta forma problemas en algunos equipos productos de usar una librería nativa. Ahora el código es 100% js.
- Se actualizaron los ejemplos, ahora están en el directorio showcase
v1.0.0 (Breaking Changes)
-
getTransactionResult retornaba transaction.detailOutput como un array con un único objeto las propiedades, ahora transaction.detailOutput retorna directamente dicho objeto.
- Ejemplo antes: transaction.detailOutput[0].amount
- Ejemplo ahora: transaction.detailOutput.amount
Legalidades
Agradecimientos a FabianBravoA por el algoritmo de verificación especial de Transbank.
Agradecimientos a Leonardo Gatica por descubrir el significado de los códigos de respuesta de WebPay OneClick desde el número -8 al -1.
Éste código se distribuye con la licencia libre LGPL. Revisar COPYING.LESSER para detalles.