Código para desconto por boleto no pagseguro.
<br /> /**<br /> * Filtro para adicionar desconto de X% no boleto<br /> */<br /> add_filter( 'woocommerce_pagseguro_payment_xml', 'sc50k_desconto_boleto', 20, 2 );<br /> add_filter( 'woocommerce_pagseguro_checkout_xml', 'sc50k_desconto_boleto', 20, 2 );<br /> function sc50k_desconto_boleto($xml, $order){<br /> if ( $xml->method == 'boleto' ){<br /> $desconto = 5; // Depois dá para colocar dinâmico no admin via get_option()</p> <p>$total = $order->get_total();<br /> $discount = number_format( $total * ( $desconto / 100 ), 2, '.', ',' );<br /> $xml->add_extra_amount( '-'.$discount );</p> <p>$current_order_discount = $order->get_discount_total();<br /> $order->set_discount_total( $current_order_discount + $discount );</p> <p>$current_order_total = $order->get_total();<br /> $order->set_total( $current_order_total - $discount );</p> <p>$order->save();<br /> }</p> <p>return $xml;<br /> }<br />