Webpay Mall - 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" => 597055555536,
"buy_order" => "ordenCompraDetalle1234"
],
[
"amount" => 12000,
"commerce_code" => 597055555537,
"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": "01ab8e79273932ba105bf7d5fb2f4d214dbbc1393c017b3c7eff9ebb7727caa7",
"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="01ab8e79273932ba105bf7d5fb2f4d214dbbc1393c017b3c7eff9ebb7727caa7" />
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: buy_order
Valor: O-5296
Campo: session_id
Valor: S-830
Campo: return_url
Valor: https://proyecto-ejemplo-php.transbankdevelopers.cl/webpay-mall/commit
Campo: details[0]
amount: 10000 commerce_code: 597055555536 buy_order: ordenCompraDetalle6205
Campo: details[1]
amount: 12000 commerce_code: 597055555537 buy_order: ordenCompraDetalle9373
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.