viniciusac
Forum Replies Created
-
@raulkaio, altera via tela de configura??o do método de entrega. A configura??o é por zona. é só procurar o campo “código do servi?o” e inserir os novos valores.
Estou tendo o mesmo problema em vários sites (talvez todos).
Tem algo muito estranhoAcho que o servi?o caiu.
Verifiquei todos os parametros gerados pelo woocommerce correios com o que está na documenta??o dos correios e aparentemente est?o corretos
https://www.correios.com.br/para-voce/correios-de-a-a-z/pdf/calculador-remoto-de-precos-e-prazos/manual-de-implementacao-do-calculo-remoto-de-precos-e-prazosNem o link de exemplo da documenta??o do web services dos correios funciona.
https://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=09146920&sDsSenha=123456&sCepOrigem=70002900&sCepDestino=71939360&nVlPeso=1&nCdFormato=1&nVlComprimento=30&nVlAltura=30&nVlLargura=30&sCdMaoPropria=n&nVlValorDeclarado=0&sCdAvisoRecebimento=n&nCdServico=40010&nVlDiametro=0&StrRetorno=xml&nIndicaCalculo=3Ficou muito confuso os comentários que fiz no início. Se pudesse, apagaria.
Vou fazer um resumo aqui:
—Quando o CIELO é configurado para trabalhar com “Taxa de juros (%)” igual a ZERO dá esse problema.
No meu caso, ocorreu com a configura??o de parcelas em até 12 vezes sem juros, via CIELO. N?o pude usar a op??o “Cobrar juros a partir de 12x”, porque com isso o plugin inclui juros na 12a parcela.
Como o número máximo de parcela é 12, ent?o coloquei taxa de juros igual a zero.Ao realizar uma compra, dá o seguinte warning nos emails de “novo peido” e na tela de confirma??o da compra:
Warning: Division by zero in /wp-content/plugins/cielo-woocommerce/includes/class-wc-cielo-helper.php on line 392Para o problema ocorrer, além da taxa de juros ser ZERO, é preciso que a quantidade de parcelas escolhidas pelo comprador ($quantity) seja maior ou igual ao valor configurado em “Cobrar juros a partir de” ($this->interest).
N?o sei se estes códigos geram bugs colaterais. Se alguém souber, por favor, avise aqui.
Além da fun??o get_installment_text,
é necessário fazer a mesma altera??o na fun??o get_installments_htmlTem uma pequena diferen?a ($i) em rela??o ao código anterior.
if ($interest_rate == 0){ $interest_total = 0; } else { $interest_total = $order_total * ( $interest_rate / ( 1 - ( 1 / pow( 1 + $interest_rate, $i ) ) ) );}
possivelmente, tem que fazer também na fun??o validate_installments
Todas estas est?o no arquivo cielo-woocommerce/includes/class-wc-cielo-helper.php
A coisa é um pouco mais específica. Para o problema ocorrer, além da taxa de juros ser ZERO, é preciso que
a quantidade de parcelas escolhidas pelo comprador ($quantity) >= ($this->interest) ao valor configurado em “Cobrar juros a partir de”.Ajuste no código anterior:
if ($interest_rate == 0){ $interest_total = 0; } else { $interest_total = $order_total * ( $interest_rate / ( 1 - ( 1 / pow( 1 + $interest_rate, $quantity ) ) ) ); }
Tem um efeito colateral grave. As parcelas ficam no valor total do produto. De volta ao código.
N?o sei se a altera??o que fiz gera algum efeito colateral, ou se precisaria alterar em algum outro ponto do plugin.
Se alguém souber, por favor, avise aqui.Foi preciso fazer uma verifica??o se a taxa de juros está como zero.
Para isso, alterei a linha 392 em “cielo-woocommerce/includes/class-wc-cielo-helper.php” mostrada abaixo:
De
$interest_total = $order_total * ( $interest_rate / ( 1 - ( 1 / pow( 1 + $interest_rate, $quantity ) ) ) );
Paraif ($interest_rate == 0){ $interest_total = $order_total; } else { $interest_total = $order_total * ( $interest_rate / ( 1 - ( 1 / pow( 1 + $interest_rate, $quantity ) ) ) ); }
e o Warning sumiu.
O problema parece estar relacionado ao fato da loja em quest?o trabalhar “Taxa de juros (%)” igual a ZERO.
O dono da loja divide em até 12 vezes sem juros, via CIELO, ent?o, n?o pude usar a op??o
“Cobrar juros a partir de 12x”, porque com isso o plugin inclui juros na 12a parcela.
Como o número máximo de parcela é 12, ent?o coloquei taxa de juros igual a zero.Forum: Plugins
In reply to: [WooCommerce] on-hold to processing statusI have the same situation ??
Entendi e concordo. Valeu!
@claudio , n?o entendi o “ele n?o funciona, já que o status do pedido é aguardando”.
Só cancela os pendentes mesmo, foi o que eu disse. “PagSeguro/Boleto” N?O pago fica “Aguardando”. Logo o “Manter Estoque(minutos)” cancela apenas os pedidos via “PagSeguro/Crédito”, caso o pagamento n?o tenha sido confirmado.Antes, a funcionalidade “Manter Estoque(minutos)” tinha um potencial maior de problemas. Agora que PagSeguro/Boleto foi alterado(atendendo a pedidos) para envia o email e ir para “Aguardando”, ficou mais tranquilo.
Para remover o filtro sem alterar o código do plugin:
$pagseguro = WC_PagSeguro::get_instance(); remove_filter( 'woocommerce_cancel_unpaid_order', array($pagseguro, 'stop_cancel_unpaid_orders'), 10, 3 );
Você está certo, Claudio, porém, essa op??o ficaria melhor nas configura??es do plugin e n?o no código.
Como cancela apenas pedidos “Pendentes”, boletos já estariam imunes com a última altera??o que você fez, pois para enviar o email eles est?o indo direto para “Aguardando”.
Restaria o problema da demora do PagSeguro. Aí, seria melhor, cada logista escolher o risco que deseja correr, em rela??o a ter pedidos válidos cancelados.
Por exemplo, acho interessante configurar 600 minutos. Se o PagSeguro demorasse mais de 10 horas para aprovar, aí o logista entraria em contato com o cliente e explicaria a situa??o.