Se dispara inmediatamente antes de que el módulo prepare los parámetros de Redsys y construya el formulario de pago, después de que se hayan validado el carrito y el cliente. Úsalo para ejecutar lógica previa al pago como comprobaciones de fraude, registro o ajustes de última hora del carrito.
Este hook se despacha desde dos controladores. El controlador de Bizum añade una clave bizum_phone.
Fuente: - controllers/front/payment.php:105
- controllers/front/bizumpayment.php:261 (añade bizum_phone)
public function install()
{
return parent::install()
&& $this->registerHook('actionRedsysBeforePayment');
}
public function hookActionRedsysBeforePayment(array $params)
{
/** @var Cart $cart */
$cart = $params['cart'];
/** @var Customer $customer */
$customer = $params['customer'];
$gateway = $params['gateway'];
// Bizum context exposes the phone number.
if ($gateway === 'bizum' && isset($params['bizum_phone'])) {
PrestaShopLogger::addLog(
'Bizum payment starting for ' . $params['bizum_phone']
);
}
PrestaShopLogger::addLog(sprintf(
'Redsys payment starting: cart %d, customer %d, gateway %s',
$cart->id,
$customer->id,
$gateway
));
}