Crear Transacción Mall diferida

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
                

//inicio sección de importación
import cl.transbank.common.IntegrationApiKeys;
import cl.transbank.common.IntegrationCommerceCodes;
import cl.transbank.common.IntegrationType;
import cl.transbank.model.MallTransactionCreateDetails;
import cl.transbank.webpay.common.WebpayOptions;
import cl.transbank.webpay.webpayplus.responses.*;
import cl.transbank.webpay.webpayplus.WebpayPlus;
//fin sección de importación

WebpayPlus.MallTransaction tx = new WebpayPlus.MallTransaction(new WebpayOptions(IntegrationCommerceCodes.WEBPAY_PLUS_MALL_DEFERRED, IntegrationApiKeys.WEBPAY, IntegrationType.TEST));

String buyOrder = "buyOrder_" + getRandomNumber();
String buyOrderMallOne = "childBuyOrder_" + getRandomNumber();
String buyOrderMallTwo = "childBuyOrder_" + getRandomNumber();
String sessionId = "sessionId_" + getRandomNumber();
double amountMallOne = 1000;
double amountMallTwo = 1000;
String returnUrl = request.getRequestURL().toString().replace("create","commit");

String mallOneCommerceCode = IntegrationCommerceCodes.WEBPAY_PLUS_MALL_DEFERRED_CHILD1;
String mallTwoCommerceCode = IntegrationCommerceCodes.WEBPAY_PLUS_MALL_DEFERRED_CHILD2;
final MallTransactionCreateDetails mallDetails = MallTransactionCreateDetails.build()
        .add(amountMallOne, mallOneCommerceCode, buyOrderMallOne)
        .add(amountMallTwo, mallTwoCommerceCode, buyOrderMallTwo);

                
            

                
{
  "token": "01ab62b9c4c9360f9141f9a43df1e0bb7979a7fb922ca3503138502a61ef9c4a",
  "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="01ab62b9c4c9360f9141f9a43df1e0bb7979a7fb922ca3503138502a61ef9c4a" method="POST">
   <input type="hidden" name="token_ws" value="01ab62b9c4c9360f9141f9a43df1e0bb7979a7fb922ca3503138502a61ef9c4a"/>
   <input type="submit" value="Pagar"/>
</form>
                
            


Ejemplo

Creamos la transacción

Usando los siguientes datos
Campo Valor
Orden de compra (buyOrder)
ID de sesión (sessionid)
Detalle 1 (details) Monto: 1000.0
Código de Comercio: 597055555582
Orden de Compra: childBuyOrder_160523805
Detalle 2 (details) Monto: 1000.0
Código de Comercio: 597055555583
Orden de Compra: childBuyOrder_1964215288
URL de retorno (returnUrl)

Por último

Con la respuesta del servicio creamos el formulario, para efectos del ejemplo haremos el campo token_ws visible
Formulario de redirección

VOLVER AL INICIO