MercadoPago: Título de Checkout Pro (comisión $ xxx)

Hola! Hace 5 horas estoy en la búsqueda de cómo cambiar el título del método de pago de Checkout Pro. Si bien se puede cambiar desde las opciones lo que busco es lograr que en vez que se muestre la parte final donde dice “comisión $ xxxx” que aparece obligatoriamente al tildar la opción de cobrar la comisión, aparezca el total (precio + envío + comisión). Adjunto una foto dado que las horas de trabajo pueden haber afectado mi forma de expresarme xD . El monto de la compra es $ 10.000 , la comisión es del 45% y el envío de $ 2.500 (de paso también, si alguno sabe y es tan amable de decirme cómo hacer que calcule y cobre sobre el precio + envío y no solo el envío, le estoy doblemente agradecido). Desde ya gracias!

Lo resolviste? Podes hacer eso con JS y PHP, usando un hook que se ejecute unicamente en el checkout.

Hola! No lo pude resolver todavía, sigo en el intento. ¿Cómo sería de la forma que decís? Desde ya gracias!

Tenes la web online? Si es asi, comparti la URL

Hola, puedes agregar lo siguiente al functions.php.

add_filter(‘gettext’, ‘traducir_texto’);
add_filter(‘ngettext’, ‘traducir_texto’);
function traducir_texto($translated) {
$translated = str_ireplace(‘TEXTO VIEJO’, ‘TEXTO NUEVO’, $translated);
return $translated;
}

Obviamente reemplaza TEXTO VIEJO con el texto que quieras reemplazar y TEXTO NUEVO con el texto que quieras poner.

Saludos.

Bueno, finalmente logré una forma de hacerlo estimo no recomendable (pero como no soy programador no opino jaja). Dentro del plugin de MercadoPago en /src/Hooks/Gateway.php llegué a la linea donde se registra el título (registerGatewayTitle) . Al final de esa función usa otra función que está al final del archivo (buildTitleWithDiscountAndCommission) cambié las variables de la primera por (0,0,‘’,‘’) y voilà.

Gracias por responder. La opción de usar el hook gettext no serviría ya que el texto de comisión es dinámico (incluye el % de la comisión que configuré sobre el monto total).

Saludos!

Esa es una solucion provisoria jaja porque cuando actualicen el plugin esos cambios se van a pisar.
Si tenes la web online, pasala y te paso el codigo.

MP cobra la comision que vos queres sobre el monto total de la compra no incluye los envíos (aunque a uno le cobra la comisión sobre el total) Para que el envío entre dentro del calculo lo tenes que hacer con un php. Pero como es muy engorroso opte por hacer al revés. A todos los precios le recargo el % que quiero por usar MP y ofrezco un % de descuento por Transferencia Bancaria/Efectivo(te dejo el código php al final) eso es mas atractivo para el comprador. Le das un descuento y no le decís que tiene recargo por MP. El descuento por transferencia es sobre la compra y no sobre el envío.
Lo podes ver en funcionamiento en mi tienda Tienda para los amantes del whisky - Tito Whisky el descuento lo aplica al finalizar la compra.
/* Agrega descuento por pago por Transferencia Bancaria /
/
calcula y agrega el descuento /
add_action( ‘woocommerce_cart_calculate_fees’,‘wc_agrega_descuento’, 20, 1 );
function wc_agrega_descuento($cart_object )
{
if ( is_admin() && ! defined(‘DOING_AJAX’))
return;
// Verificar si el producto específico está en el carrito y excluir el descuento
$excluded_product_sku = ‘XXXXX’; // Reemplaza esto con el SKU del producto a excluir
$cart_items = $cart_object->get_cart();
$excluded_product_cost= 0;
foreach ($cart_items as $cart_item)
{
if ( $cart_item[‘data’]->get_sku() == $excluded_product_sku )
{
$excluded_product_cost = $cart_item[‘line_total’];
break;
}
}
// Descuento si es bacs
$chosen_payment_method = WC()->session->get(‘chosen_payment_method’);
if( ‘bacs’== $chosen_payment_method )
{
$percent = 0.15; /
porcentaje de descuento /
$cart_total=WC()->cart->get_subtotal() - WC()->cart->get_discount_total() - $excluded_product_cost;
$label_text = (“Descuento por transferencia”); /
texto a mostrar /
$cart_object->add_fee( $label_text, -($cart_total * $percent),false); /
aplico el descuento */
}
}

/* refresca el metodo de pago */
add_action( ‘woocommerce_review_order_before_payment’, ‘wc_refresca_metodo_pago’ );
function wc_refresca_metodo_pago()
{
?>

<?php }