[Contribui??o + Ajuda revis?o] Desconto para pagamento no boleto
-
Prezados, eu tinha uma necessidade de aplicar um desconto de 5% para o pagamento específico no boleto do PagSeguro. Vi aqui algumas postagens de pessoas interessadas nisso também. Vi uma postagem do @claudiosanches que sugeriu alterar os dados enviados para o PagSeguro, usando um filtro. Cheguei ao seguinte resultado que funciona (adicionar no functions.php):
/** * Filtro para adicionar desconto de X% no boleto */ add_filter( 'woocommerce_pagseguro_payment_xml', 'sc50k_desconto_boleto', 20, 2 ); add_filter( 'woocommerce_pagseguro_checkout_xml', 'sc50k_desconto_boleto', 20, 2 ); function sc50k_desconto_boleto($xml, $order){ if ( $xml->method == 'boleto' ){ $desconto = 5; // Depois dá para colocar dinamico no admin via get_option() $total = $order->get_total(); $discount = number_format( $total * ( $desconto / 100 ), 2, '.', ',' ); $xml->add_extra_amount( '-'.$discount ); $current_order_discount = $order->get_discount_total(); $order->set_discount_total( $current_order_discount + $discount ); $current_order_total = $order->get_total(); $order->set_total( $current_order_total - $discount ); $order->save(); } return $xml; }
O código acima altera o $xml enviado para o PagSeguro, adicionando um extra com valor negativo (add_extra_amount). Isso altera o valor no PagSeguro, mas n?o altera o valor do pedido no Woocommerce. Ent?o depois eu adicionei no pedido ($order) um desconto e depois, alterei o total para, enfim, salvar o pedido.
Isso funcionou. O pedido foi modificado no Woocommerce. APARENTEMENTE, tudo funciona, mas é aí que gostaria da ajuda do @claudiosanches e do @erickandrade, para que, caso possam dar uma olhada no código acima (claro, dentro da disponibilidade de tempo de cada um), vissem se eu n?o esqueci de algo. Pois como o Woocommerce é um sistema muito grande e como sou iniciante, pode ser que n?o previ/testei alguma coisa e um olhar de alguém mais experiente talvez pudesse identificar.
Já agrade?o pelo desenvolvimento do plugin, é realmente muito bom. Deixei minha avalia??o também. Espero que o código acima possa ajudar outras pessoas. Abs!
- The topic ‘[Contribui??o + Ajuda revis?o] Desconto para pagamento no boleto’ is closed to new replies.