Aplicar un descuento en métodos de pago en WooCommerce

Aplicar un descuento en métodos de pago en WooCommerce

En WooCommerce, puedes aplicar descuentos a los métodos de pago utilizando plugins específicos o mediante código personalizado. Aquí te mostraré cómo hacerlo utilizando código personalizado en tu tema activo o en un plugin personalizado. Asegúrate de tener un respaldo de tu sitio antes de realizar cambios en el código.

La idea básica es agregar un descuento al total del pedido en función del método de pago seleccionado por el cliente. Para hacerlo, sigue estos pasos:

  1. Crea un tema hijo (opcional pero recomendado): Si aún no tienes un tema hijo, es una buena práctica crear uno para evitar la pérdida de personalizaciones al actualizar el tema principal.
  2. Accede a los archivos del tema hijo: Utiliza un cliente FTP o el administrador de archivos de tu hosting para acceder a los archivos del tema hijo.
  3. Abre el archivo functions.php del tema hijo: En este archivo, añadirás el código necesario para aplicar el descuento en función del método de pago.
  4. Agrega el código para aplicar el descuento: Aquí tienes un ejemplo de cómo podría ser el código:

// Aplicar descuento en función del método de pago
function aplicar_descuento_por_metodo_de_pago($cart) {
    if (is_admin() && !defined('DOING_AJAX')) return;

    // Obtener el método de pago actual
    $payment_method = WC()->session->get('chosen_payment_method');

    // Definir el porcentaje de descuento para cada método de pago
    $descuentos_por_metodo = array(
        'paypal' => 10,  // Ejemplo: 10% de descuento para PayPal
        'stripe' => 5    // Ejemplo: 5% de descuento para Stripe
    );

    // Aplicar el descuento si el método de pago tiene un descuento definido
    if (isset($descuentos_por_metodo[$payment_method])) {
        $descuento = $cart->get_subtotal() * ($descuentos_por_metodo[$payment_method] / 100);
        $cart->add_fee('Descuento por método de pago', -$descuento);
    }
}
add_action('woocommerce_cart_calculate_fees', 'aplicar_descuento_por_metodo_de_pago');
  1. Guarda los cambios: Sube el archivo functions.php modificado a la carpeta de tu tema hijo.

Después de agregar este código, los descuentos se aplicarán automáticamente en función del método de pago seleccionado por el cliente en el carrito de compras. Asegúrate de personalizar los métodos de pago y los porcentajes de descuento según tus necesidades.

Recuerda que manipular el código puede tener implicaciones en la seguridad y el rendimiento de tu sitio, así que asegúrate de hacer pruebas exhaustivas en un entorno de desarrollo antes de aplicar los cambios en tu sitio en vivo. Si no te sientes cómodo manipulando el código, también puedes considerar utilizar plugins de WooCommerce que ofrezcan esta funcionalidad.