I just found that a few years ago I programmed it like this and it worked for years:
add_action('woocommerce_add_order_fee_meta','sustituir_expr_payforpayment', 10, 4);
function sustituir_expr_payforpayment($order_id, $item_id, $fee, $fee_key){
global $woocommerce;
if(
! (strpos( $fee->name, '[FIXED_AMOUNT]') === FALSE)
|| ! (strpos( $fee->name, '[PERCENT_AMOUNT]') === FALSE)
|| ! (strpos( $fee->name, '[MINIMO]') === FALSE)
|| ! (strpos( $fee->name, '[enlace+info]') === FALSE)
){
//veo si tengo todas las variables de pago que necesito para calcular el nuevo nombre
$metodo_elegido = $woocommerce->session->chosen_payment_method;
$pasarelas_disponibles = $woocommerce->payment_gateways->get_available_payment_gateways();
if( empty($metodo_elegido) || empty($pasarelas_disponibles) )
return;
if( !isset($pasarelas_disponibles[$metodo_elegido]->settings['pay4pay_item_title']) ) //para comprobar que esta instalado el plugin y que existe el array de datos necesarios
return;
//calculamos el nuevo nombre con sustiticiones
$nuevo_nombre_fee = str_replace(
array('[FIXED_AMOUNT]','[PERCENT_AMOUNT]', '[MINIMO]', '[enlace+info]' ) ,
array(
strip_tags( wc_price( $pasarelas_disponibles[$metodo_elegido]->settings['pay4pay_charges_fixed'] ) ) ,
str_replace('.', ',', $pasarelas_disponibles[$metodo_elegido]->settings['pay4pay_charges_percentage'] ),
str_replace('.', ',', $pasarelas_disponibles[$metodo_elegido]->settings['pay4pay_charges_minimum'] ) ,
''
),
$fee->name );
//modificamos el titulo del fee en el carro o pedido
$args = array("name" => $nuevo_nombre_fee);
$order = new WC_Order($order_id);
$order->update_fee( $item_id, $args );
}
}
The problem is that this hook is already deprecated and doesn’t work now.
I think you just have to look for the new hook but I haven’t programmed for a long time and I can’t find it.
Yes, right now I will leave you 5 stars. Thanks!!