Crear Transacción Mall

En este paso crearemos la transacción con el objetivo de obtener un identificador unico y poder en el siguiente paso redirigir al Tarjetahabiente hacia el formulario de pago

Petición

Para comenzar debes importar WebpayPlus y luego crear una transacción mall.

Puedes incluir una o más transacciones en una misma operación, para ello debes crear un arreglo de TransactionDetail. Si incluyes más de una transacción, el monto a cobrar será el total de los montos de las transacciones.

Si quieres saber más sobre TransactionDetail puedes ver la documentación aquí.

const WebpayPlus = require('transbank-sdk').WebpayPlus; // ES5
const TransactionDetail = require("transbank-sdk").TransactionDetail;
 
import { WebpayPlus } from 'transbank-sdk'; // ES6
immport { TransactionDetail } = require("transbank-sdk").TransactionDetail;

let details = [
  new TransactionDetail(147, "597055555536", "O-56731"),
  new TransactionDetail(141, "597055555536", "O-48171"),
]
 
// Es necesario ejecutar dentro de una función async para utilizar await
const createResponse = await (new WebpayPlus.MallTransaction()).create(
  buyOrder, 
  sessionId, 
  details, 
  returnUrl
);
{
 'token': '01ab830a87e745fed712168eda958c623f37fd84fe037beee01f0460a6741f49',
 'url': 'https://webpay3gint.transbank.cl/webpayserver/initTransaction'
}
Respuesta

Una vez creada la transacción, estos serán los datos de respuesta

Por último

Debes utilizar estos datos para crear un formulario

<form action="https://webpay3gint.transbank.cl/webpayserver/initTransaction" method="POST">
   <input type="hidden" name="token_ws" value="01ab830a87e745fed712168eda958c623f37fd84fe037beee01f0460a6741f49"/>
<input type="submit" value="Pagar"/>
</form>

Ejemplo

Creamos la transacción

Usando los siguientes datos

CampoValor
Orden de compra (buyOrder)O-6491
ID de sesión (sessionid)S-20991
Detalle (details)Monto: 147
Código de Comercio: 597055555536
Orden de Compra: O-56731
Monto: 141
Código de Comercio: 597055555536
Orden de Compra: O-48171
URL de retorno (returnUrl)http://tbk-node-test.continuumhq.dev/webpay_plus_mall/commit
Por último

Con la respuesta del servicio creamos el formulario, para efectos del ejemplo haremos el campo token_ws visible

Formulario de redirección


navigate_next