Webpay Mall Diferido - Creación de transacción Mall

En esta etapa, se procederá a la creación de una transacción con el fin de obtener un identificador único. Esto nos permitirá redirigir al Tarjetahabiente hacia el formulario de pago de Transbank en el siguiente paso.

Paso 1: Petición

  • Comienza por importar la librería WebpayPlus en tu proyecto.
  • Luego, crea una transacción utilizando las funciones proporcionadas mediante el SDK.

use Transbank\Webpay\Options;
use Transbank\Webpay\WebpayPlus\MallTransaction;
//configuración de la transacción
$details = [
    [
        "amount" => 10000,
        "commerce_code" => 597055555583,
        "buy_order" => "ordenCompraDetalle1234"
    ],
    [
        "amount" => 12000,
        "commerce_code" => 597055555582,
        "buy_order" => "ordenCompraDetalle4321"
    ],
];
$option = new Options(API_KEY, COMMERCE_CODE, Options::ENVIRONMENT_INTEGRATION);
$mallTransaction = new mallTransaction($option);
$resp = $mallTransaction->create($buy_order, $session_id, $return_url,
$details);
    

Paso 2: Respuesta

Una vez que hayas creado la transacción, aquí encontrarás los datos de respuesta generados por el proceso.


{
    "token": "01ab6ee568f2e64012f83b12e5ee6f326359b96a8de0d8bfa451535dfb963f26",
    "url": "https://webpay3gint.transbank.cl/webpayserver/initTransaction"
}
    

Paso 3: Creación del formulario

Utiliza estos datos de respuesta para redireccionar al usuario al formulario de pago al Tarjetahabiente. Este formulario será la interfaz a través de la cual el usuario realizará su transacción.


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

Ejemplo

Para llevar a cabo una transacción de compra en nuestro sistema, primero debemos crear la transacción. Utilizaremos los siguientes datos para configurar la transacción:

Campo
Valor
buy_order
O-312
session_id
S-6058
return_url
https://proyecto-ejemplo-php.transbankdevelopers.cl/webpay-mall-diferido/commit
details[0]
amount: 10000 commerce_code: 597055555582 buy_order: ordenCompraDetalle2625
details[1]
amount: 12000 commerce_code: 597055555583 buy_order: ordenCompraDetalle4640

Campo: buy_order

Valor: O-312

Campo: session_id

Valor: S-6058

Campo: return_url

Valor: https://proyecto-ejemplo-php.transbankdevelopers.cl/webpay-mall-diferido/commit

Campo: details[0]

amount: 10000 commerce_code: 597055555582 buy_order: ordenCompraDetalle2625

Campo: details[1]

amount: 12000 commerce_code: 597055555583 buy_order: ordenCompraDetalle4640

Por último, con la respuesta del servicio que confirma la creación de la transacción, procedemos a crear el formulario de pago. Para fines de este ejemplo, haremos visible el campo "token_ws", el cual es esencial para completar el proceso de pago de manera exitosa.

Antes de continuar al formulario de Webpay, asegúrate de contar con los datos de las tarjetas de prueba que están en la documentación.
Formulario de redirección
info logo

El token generado en esta aplicación se renueva automáticamente cada 5 minutos.

¿Tienes alguna duda de integración?
Escríbenos por slack
slack Únete a nuestra comunidad de integradores. Nuestro equipo está ahí para ayudarte
Envíanos un mensaje
outlook Necesitas resolver algún tipo de incidencia, contáctanos a través de correo electrónico