Hola a todos,
Estoy intentando añadir un recargo fijo para el método de pago 'Contra reembolso' en mi tienda PrestaShop. El problema es que PrestaShop no trae esta opción de serie y cualquier intento de modificarlo directamente parece muy frágil. He intentado hacer un override en PaymentModule.php para ajustar el amount_paid, pero el recargo no se refleja en el pedido final o desaparece.
Este es mi intento:
class PaymentModule extends PaymentModuleCore
{
public function validateOrder($id_cart, $id_order_state, $amount_paid, $payment_method = 'Unknown', $message = null, $extra_vars = [], $currency_special = null, $dont_touch_multiplier = false, $secure_key = false, Shop $shop = null)
{
$cart = new Cart($id_cart);
if ($payment_method == 'Pago contra reembolso') {
$recargo = (float)Configuration::get('MY_COD_FEE');
$amount_paid += $recargo; // Esto no afecta el total del pedido real de forma persistente
}
return parent::validateOrder($id_cart, $id_order_state, $amount_paid, $payment_method, $message, $extra_vars, $currency_special, $dont_touch_multiplier, $secure_key, $shop);
El total del pedido en la base de datos y la factura no incluye el recargo. ¿Alguien tiene una solución más robusta o un enfoque diferente?