Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

transbank-sdk

TransbankDevelopers8.7kBSD-3-Clause6.0.0TypeScript support: included

Transbank SDK for Node.js

transbank, sdk, transbank-sdk, webpay, oneclick, transbank-developers

readme

GitHub tag (latest by date) GitHub GitHub contributors Build Status

Transbank SDK Node.js

Este es el SDK oficial de Transbank para Node.js

Requisitos:

  • Node.js 8+

Instalación

Instalar con npm

Puedes instalar SDK en tu proyecto usando NPM

npm install transbank-sdk

Instalar con yarn

ó también instalarlo usando Yarn

yarn add transbank-sdk

Detectar vulnerabilidades con npm

# Este comando te permite ver las vulnerabilidades
npm audit

# Este comando te permite reparar las vulnerabilidades
npm audit fix

Documentación

Puedes encontrar toda la documentación de cómo usar este SDK en el sitio www.transbankdevelopers.cl.

La documentación relevante para usar este SDK es:

Información para contribuir

Estándares generales

  • Para los commits, seguimos las normas detalladas en este enlace 👀
  • Usamos inglés para los nombres de ramas y mensajes de commit 💬
  • Todas las fusiones a la rama principal se realizan a través de solicitudes de Pull Request(PR) ⬇️
  • Puedes emplear tokens como "WIP" en el encabezado de un commit, separados por dos puntos (:), por ejemplo: "WIP: este es un mensaje de commit útil ✅"
  • Las ramas de nuevas funcionalidades que no han sido fusionada, se asume que no está finalizada⚠️
  • Los nombres de las ramas deben estar en minúsculas y las palabras deben separarse con guiones (-) 🔤
  • Los nombres de las ramas deben comenzar con uno de los tokens abreviados definidos. Por ejemplo: feat/tokens-configurations 🌿

Short lead tokens

WIP = En progreso.

feat = Nuevos features.

fix = Corrección de un bug.

docs = Cambios solo de documentación.

style = Cambios que no afectan el significado del código. (espaciado, formateo de código, comillas faltantes, etc)

refactor = Un cambio en el código que no arregla un bug ni agrega una funcionalidad.

perf = Cambio que mejora el rendimiento.

test = Agregar test faltantes o los corrige.

chore = Cambios en el build o herramientas auxiliares y librerías.

revert = Revierte un commit.

release = Para liberar una nueva versión.

Flujo de trabajo

  1. Crea tu rama desde develop.
  2. Haz un push de los commits y publica la nueva rama.
  3. Abre un Pull Request apuntando tus cambios a develop.
  4. Espera a la revisión de los demás integrantes del equipo.
  5. Mezcla los cambios sólo cuando esté aprobado por mínimo 2 revisores.

Esquema de flujo

gitflow

Reglas 📖

  1. Todo PR debe incluir test.
  2. Todo PR debe cumplir con un mínimo de 80% de coverage para ser aprobado
  3. El PR debe tener 2 o más aprobaciones para poder mezclarse.
  4. Si un commit revierte un commit anterior deberá comenzar con "revert:" seguido del mensaje del commit anterior.

Pull Request

  • Usar un lenguaje imperativo y en tiempo presente: "change" no "changed" ni "changes".
  • El título del los PR y mensajes de commit no pueden comenzar con una letra mayúscula.
  • No se debe usar punto final en los títulos o descripción de los commits.
  • El título del PR debe comenzar con el short lead token definido para la rama, seguido de : y una breve descripción del cambio.
  • La descripción del PR debe detallar los cambios.
  • La descripción del PR debe incluir evidencias de que los test se ejecutan de forma correcta.
  • Se pueden usar gif o videos para complementar la descripción o evidenciar el funcionamiento del PR.

Generar una nueva versión

Para generar una nueva versión, se debe crear un PR (con un título "release: prepare release X.Y.Z" con los valores que correspondan para X, Y y Z). Se debe seguir el estándar SemVer para determinar si se incrementa el valor de X (si hay cambios no retrocompatibles), Y (para mejoras retrocompatibles) o Z (si sólo hubo correcciones a bugs).

En ese PR deben incluirse los siguientes cambios:

  1. Modificar el archivo CHANGELOG.md para incluir una nueva entrada (al comienzo) para X.Y.Z que explique en español los cambios.
  2. Modificar el archivo package.json y modificar la versión.

Luego de obtener aprobación del PR, debe mezclarse a master e inmediatamente generar un release en GitHub con el tag vX.Y.Z. En la descripción del release debes poner lo mismo que agregaste al changelog.

Posterior a la liberación debes mezclar la rama release en develop, finalmente realizar un rebase de la rama develop utilizando como base la rama main.

changelog

Changelog

Todos los cambios notables a este proyecto serán docuemntados en este archivo.

El formato está basado en Keep a Changelog y este proyecto adhiere a Semantic Versioning.

[6.0.0] - 2025-05-05

Esta versión no introduce cambios en el comportamiento de las funcionalidades del API. ¡Importante!

El SDK ya no apunta por defecto al ambiente de integración. Ahora es necesario configurar de forma explícita las credenciales para el ambiente de integración. Para esto se debe inicializar explícitamente los objetos de los distintos productos, ya sea utilizando la clase Options o a través de los nuevos métodos buildForIntegration y buildForProduction.

Agrega:

  • Se agrega el parámetro timeout para que pueda modificarse en todos los productos.
  • Se agregan los métodos buildForIntegration y buildForProduction a todos los productos
  • Se agregan tests

Actualiza:

  • Se configura por defecto el timeout a 600 segundos para todas las peticiones.
  • Se actualizan las versiones de las dependencias.

Elimina:

  • Se eliminan el constructor por defecto y los métodos configureForIntegration, configureForProduction, configureForTestingDeferred, configureForTestingMall, configureForTestingMallDeferred en Webpayplus
  • Se eliminan el constructor por defecto y los métodos configureForIntegration, configureForProduction, configureOneclickMallForTesting, configureOneclickMallDeferredForTesting en Oneclick
  • Se eliminan el constructor por defecto y los métodos configureForIntegration, configureForProduction, configureForTesting en Patpass Comercio
  • Se eliminan el constructor por defecto y los métodos configureForIntegration, configureForProduction, configureForTesting, configureForTestingDeferred, configureForTestingMall, configureForTestingMallDeferred,configureForTestingNoCVV, configureForTestingDeferredNoCVV, configureForTestingMallNoCVV, configureForTestingMallDeferredNoCVV en Full Transaction y Mall Full Transaction
  • Se elimina el código que hace referencia al producto 'Webpay Modal'

[5.0.0] - 2024-03-01

Changed

  • Downgrade del API de la versión 1.3 a la versión 1.2
  • Se actualizó Node.js a la versión 18
  • Se agregó timeout configurable a todas las peticiones en la clase Options.
  • Se actualizó la librería 'axios' versión '1.6.4' a versión '1.6.5'
  • Se actualizó la librería 'jest' versión '27.4.4' a versión '29.7.0'
  • Se actualizó la librería 'ts-jest' versión '27.1.1' a versión '29.1.2'
  • Se actualizó la librería 'typedoc' versión '0.22.12' a versión '0.25.7'
  • Se actualizó la librería 'typescript' versión '4.1.4' a versión '5.3.3'
  • Se actualizó la librería '@types/jest' versión '27.0.0' a versión '29.5.11'

[4.0.0] - 2022-08-29

Changed

  • Se migra el API desde la versión 1.2 a la versión 1.3
  • Se mejora el tratamiento de errores, retornando el mensaje 'Unexpected error' en caso de que Transbank no retorne alguno

Added

  • Se agrega los métodos 'increaseAmount', 'increaseAuthorizationDate', 'reversePreAuthorizedAmount', 'deferredCaptureHistory' a las versiones diferidas de WebpayPlus, WebpayPlus Mall, Oneclick Mall, Transaccion Completa y Transaccion Completa Mall
  • Se agrega soporte a Patpass Comercio

[3.0.2] - 2022-04-04

Changed

  • Se actualizó la librería 'minimist' versión '1.2.5' a versión '1.2.6'

[3.0.1] - 2022-02-23

Changed

  • Se actualizó la librería 'typedoc' versión '0.20.24' a versión '0.22.12'
  • Se actualizó la dependencia 'follow-redirects' versión '1.14.7' a versión '1.14.8'

[3.0.0] - 2021-12-14

Changed

  • Se migra el API desde la versión 1.0 a la versión 1.2
  • Ahora el método de retorno al crear la transacción en WebPayPlus debe tener soporte GET (cuando es exitosa) y POST (cuando se retorna sin concluir el ingreso de la tarjeta)
  • Ahora el método de retorno al inscribirse en Oneclick Mall debe tener soporte GET (cuando es exitosa) y POST (cuando se retorna sin concluir la inscripción)
  • Se actualiza 'axios' hacia la versión '0.21.4'
  • Se refactoriza y migra todos los productos desde clases estáticas a clases instanciables
  • Se unifica 'Transaction' y 'DeferredTransaction' en WebpayPlus
  • Se unifica 'MallTransaction' y 'MallDeferredTransaction' en WebpayPlus y Oneclick Mall
  • Se reordenan los parámetros del método capture de WebpayPlus Mall a 'capture(token: string, buyOrder: string, authorizationCode: string, captureAmount: number)'
  • Se reordenan los parámetros del método capture de Oneclick Mall a 'capture(childCommerceCode: string, childBuyOrder: string, authorizationCode: string, captureAmount: number)'
  • Se reordenan los parámetros del método create de Transacción Completa Mall a 'create(buyOrder: string, sessionId: string, cardNumber: string, cardExpirationDate: string, details: Array, cvv: number | undefined)'

Added

  • Se agrega soporte a Webpay Modal
  • Se agregan validaciones de obligatoriedad y tamaño de los parámetros a los métodos de WebpayPlus, Oneclick Mall, Webpay Modal, Transacción Completa
  • Se agrega una clase de constantes con los códigos de comercio de integración: 'IntegrationCommerceCodes'
  • Se agrega una clase de constantes con las claves de comercio de integración: 'IntegrationApiKeys'

[2.1.3] - 2021-02-17

Added

  • Se agrega typedoc
  • Se agregan métodos de configuración faltantes a Webpay Plus

Fixed

  • Se arregla nombre de parámetro en método de captura diferida en Transaccion Completa

[2.1.2] - 2021-02-09

Fixed

  • Se arregla despliege en npm

[2.1.1] - 2021-02-09

Fixed

  • Se arregla el método delete de MallInscription en Oneclick Mall

[2.1.0] - 2021-02-08

Added

  • Se agrega soporte para Oneclick
  • Se agrega soporte para Transaccion Completa

Fixed

  • Se cambia tipo de clases de Transacción dentro del modulo de cada producto para que Intellisense funcione

[2.0.0] - 2021-01-27

Removed

  • Se quita soporte para SOAP

Added

  • Se agregar soporte para WebpayPlus en su versión REST

[1.0.3] - 2020-12-23

Changed

  • Se agregan notas de obsolencia a clases SOAP que serán eliminadas en versión 2.0.0
  • Se actualizan dependencias

[1.0.2] - 2020-02-27

Fixed

  • Se arregla configuración de Travis

[1.0.1] - 2020-02-27

Added

  • Se crea versión inicial del plugin, con soporte para Webpay Plus, Webpay Plus Captura diferida, Webpay OneClick, Webpay Plus Mall.