Contlito woocommerce 10.3
-
Instalei a nova versão do woocommerce 10.3 . No checkout o spinner do woocommerce passoua ficar infinito, sem permitir o checkout. Criei um topico no suporte do woocommerce a seguir: https://wordpress.org/support/topic/checkout-problems-6/#post-18695301 . Recebi o retorno e fui testar qual plugin estava causando o conflkito. Testei desativar um a um os plugins dos gateways de pagamento. Confirmei que o plugin do pagbank causa o conflito. Pode ser verificado abaixo. São 2 sites identicos , só versão do woocommerce mudou
https://ingressoplus.net.br/Pagar/?id=1444488&cliid=11
OK, version 10.2
https://ingressoplus.com.br/Pagar/?id=1444488&cliid=11
spinner dont stop , version 10.3Se desativar o plugin do pagbank no de versão 10.3 volta a funcionar normalmente
The page I need help with: [log in to see the link]
-
Oi, Roberto, tudo bom?
Olhando o seu próprio log no segundo link, pude ver que o problema ocorre na atualização do pedido num AJAX chamado update_order_review, e o problema está no plugin OpenPIX e não no nosso.
Espero ter ajudado. Caso não, basta abrir um chamado pra gente e vamos resolver juntos.
Um grande abraço e sucesso nas vendas!Olá Ricardo. Desativei completamente o plugin do OpenPIX. Limpei o cache. O problema persiste. Para testar separadamente , desativei cada plugin. Apenas no plugin do pagbank ocorre esta questão. No site do woocommerce 10.3, manterei desativado o Open PIX para caso queira testar. Deixei apenas o BACS e paypal que são nativos do woocommerce. Fico no aguardo de solução para a questão, só falta ito para ativar o pagbank em produção em definitivo.
-
This reply was modified 2 months, 3 weeks ago by
Roberto Valente.
Caso eu desative logicamente o plugin do pagbank ( unset($gateways[$id]) – onde no $id tenho o codigo do gateway:
rm-pagbank-cc) funciona o checkout para os demais gateways. Desativando no wordpress ou removendo tambem. Já testei todos os gateways individualmente. Apenas no PagBank ocorre a questão de ficar com spinner eternamenteMais uma informação. Ativei o LOG. Deram os erros abaixo, que, de alguma forma estão impedindo o processamento:
[27-Oct-2025 12:40:12 UTC] The wp_enqueue_script argument is deprecated since version 10.3.0. Please use the new handle wc-jquery-blockui in place of the previous handle jquery-blockui.
[27-Oct-2025 12:40:12 UTC] The wp_enqueue_script argument is deprecated since version 10.3.0. Please use the new handle wc-jquery-payment in place of the previous handle jquery-payment.Ambas as rotinas são utilizadas no plugin do PagBank
-
This reply was modified 2 months, 3 weeks ago by
Roberto Valente.
Fazendo a substituição dos scripts jquery-blockui por wc-jquery-blockui , e, tambem jquery-payment por wc-jquery-payment funciona. Neste caso a mensagem é direta do woocommerce por isto está impedindo o processamento. Se fosse do php, passaria
Oi, @rvof .
Essas mensagens que você comentou do wc-jquery-blockui depreciadas foram corrigidas na última versão, atualizada ontem.
Poderia ver se ainda ocorre com a última versão (limpa, sem modificações do seu lado)?
Instalei a ultima versão hoje cedo mesmo paar testar. Permanecia. Utilizei o Notepad++ , substituir em arquivos para wc-jquery-blockui e wc-jquery-payment . Ao todo cerca de 13 substituições ( +- isso, não me lembro com certeza ) Se está disponível no link : http://www.hypertech.com.br/downloads/WP/pagbank-connect-4.45.2-HT.zip . Para conferir basta rodar o examdiff sobre o seu original e o este. O mais importante para minha utilização é que nas proximas versões isto estará ajustado, pois se fizer update de site de produção , vai quebrar o checkout
Obrigado pelo diff.
Pelo que pude ver no arquivo, você do nosso plugin, pelo menos, você só mexeu no creditcard.php em dois arquivos.
Mas na verdade o que você fez foi justamente a substituição de um “if” que a gente tava fazendo para verificar se o wc-jquery-payment, que já era a nova versão, estava disponível.
# Arquivo: Connect/Payments/CreditCard.php e Connect/Standalone/CreditCard.php
//original
$payment_handle = wp_script_is('wc-jquery-payment', 'registered') ? 'wc-jquery-payment' : 'jquery-payment';
//seu
$payment_handle = wp_script_is('wc-wc-jquery-payment', 'registered') ? 'wc-wc-jquery-payment' : 'wc-jquery-payment';Ou seja, a gente já está usando a nova versão. Além disso, você ainda colocou um “wc-” duplicado na sua correção.
Isso não faz muito sentido, já que o código original já verifica a disponibilidade do
wc-jquery-paymentresolvendo o problema do warning.As outras 13 substituições provavelmente foram feitas em outros plugins, mas não no nosso, certo?
-
This reply was modified 2 months, 3 weeks ago by
Ricardo Martins (PagBank Integrações).
Aproveite e tente adicionar um
var_dump(wp_script_is('wc-jquery-blockui', 'registered'))e me fala o que retorna pra você na tela?Olá Ricardo. Provavelmente então o IF ( registered ) não está funcionando. Não mudei o codigo manualmete, executei via alteração em lote. Se passou a funcionar é porque de alguma forma não estava registrado. Pode ser alguma questão do Windows ( IIS ). Talvez fosse melhor testar a versão do woocommerce , se for 10.3.x… Testei novamente. Com a versão como está dá o erro.
Refiz as substituições ( agora com aspas, estava faltando), são apenas 2
Pesquisa “‘jquery-payment'” (2 ocorrências em 2 arquivos de 144 procurados) [Normal]
C:\inetpub\wwwroot\Web\wp-content\plugins\pagbank-connect\src\Connect\Payments\CreditCard.php (1 ocorrências)
Linha 489: $payment_handle = wp_script_is(‘wc-jquery-payment’, ‘registered’) ? ‘wc-jquery-payment’ : ‘jquery-payment’;
C:\inetpub\wwwroot\Web\wp-content\plugins\pagbank-connect\src\Connect\Standalone\CreditCard.php (1 ocorrências)
Linha 564: $payment_handle = wp_script_is(‘wc-jquery-payment’, ‘registered’) ? ‘wc-jquery-payment’ : ‘jquery-payment’;Isto indica que o if desta forma não está sendo satisfeito, como disse, pode ser o ambiente windows. Mas fazendo a substituição ( no caso vai forçar o wc-… ) funciona
Alterei o IF para o abaixo, e funcionou
$payment_handle = version_compare( WC_VERSION, '10.3', '>=' ) ? 'wc-jquery-payment' : 'jquery-payment';-
This reply was modified 2 months, 3 weeks ago by
Roberto Valente.
-
This reply was modified 2 months, 3 weeks ago by
Roberto Valente.
Complementando, o mesmo procedimento para :$blockui_handle = wp_script_is(‘wc-jquery-blockui’, ‘registered’) ? ‘wc-jquery-blockui’ : ‘jquery-blockui’;
Poderia adicionar um
var_dump(wp_script_is('wc-jquery-blockui', 'registered'))e me falar o que retorna pra você na tela?Claro, , em qual unit e qual ponto ?
Pode ser logo acima do $payment_handle mesmo.
Só pra ver se há alguma divergencia.
Por mais estranho que pareça: bool(true) bool(true) para
var_dump(wp_script_is('wc-jquery-blockui', 'registered')); var_dump(wp_script_is('wc-jquery-payment', 'registered'));Enviei em um email como fica. o Blockui block overlay continua, e itens que deveriam ser recolhidos ou ativos não estão. Para o processo aí. Enviei a imagem por email . Mas colocando o teste de versão funciona tudo normal. por algum motivo este IF não está sendo satisfeito, mas com version_compare( WC_VERSION, ‘10.3’, ‘>=’ ) funciona
PHP 8.4
-
This reply was modified 2 months, 3 weeks ago by
Roberto Valente.
-
This reply was modified 2 months, 3 weeks ago by
You must be logged in to reply to this topic.