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.
Para comenzar debes importar WebpayPlus
y luego crear una transacción
const WebpayPlus = require('transbank-sdk').WebpayPlus; // ES5
import { WebpayPlus } from 'transbank-sdk'; // ES6
// Es necesario ejecutar dentro de una función async para utilizar await
const createResponse = await (new WebpayPlus.Transaction()).create(
buyOrder,
sessionId,
amount,
returnUrl
);
{
'token': '01abf0f7f7f2fef6af3fc7ab8a96d1c14397cec968a294d2b26ad3f4f0932ef1',
'url': 'https://webpay3gint.transbank.cl/webpayserver/initTransaction'
}
Una vez creada la transacción, estos serán los datos de respuesta
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="01abf0f7f7f2fef6af3fc7ab8a96d1c14397cec968a294d2b26ad3f4f0932ef1"/>
<input type="submit" value="Pagar"/>
</form>
Usando los siguientes datos
Campo | Valor |
---|---|
Orden de compra (buyOrder) | O-7041 |
ID de sesión (sessionid) | S-5521 |
Monto (amount) | 1701 |
URL de retorno (returnUrl) | http://tbk-node-test.continuumhq.dev/webpay_plus_deferred/commit |
Con la respuesta del servicio creamos el formulario, para efectos del ejemplo haremos el campo token_ws
visible