@henriqueaf você configurou a cronjob, nas configurações do plugin para executar de 30 em 30 minutos? O que pode estar acontecendo é a execução da expiração, pelo período da cronjob ser executada antes de conseguir notificar o usuário. Aliás, lançamos uma versão hoje que corrige bug de envio de e-mails em alguns casos
Estava configurado
Tempo de expiração: 1 hora
Notificar quando próximo a data da expiração: 30 minutos
Mas ele cancelava o PIX em 30 minutos e por isso desativei.
Atualizei e fiz um novo teste agora, mesma configuração.
Já se passaram 35 minutos do pedido, sem ser feito o pagamento, e apesar de não ter cancelado o pedido, também não foi enviado o e-mail de lembrete.
Parece que a funcionalidade de cancelamento parou de funcionar.
O e-mail de lembrete nunca foi enviado.
O PIX deveria expirar em 16/09/2021 20:02:35
São 20:06 enquanto escrevo essa msg e o PIX não foi cancelado e nem o e-mail de cancelamento foi enviado.
As configurações de cancelamento e notificação foram ativdas antes do pedido ser realizado.
@henriqueaf vamos lá, siga os passos abaixo, nas configurações do Plugin na aba “Pedidos”, em “Expiração”:
- Está marcado para cancelar o pedido após a expiração do Pix? Se tiver, então o Pedido será cancelado logo após a expiração do Pix;
- Mais abaixo em “Período de Processamento dos Pix”, está selecionado “Uma vez a cada trinta minutos?
Com o Modo Debug ativado, verifique nos logs:
- Se há alguma mensagem “Disparo de e-mail wc_piggly_pix_pix_close_to_expires…” indicando que o e-mail para Pix Perto de Expirar foi enviado;
- Se há alguma mensagem indicando que a cronjob está sendo executada dentro do tempo estipulado com a mensagem “Iniciando a tarefa cron para processamento dos Pix”.
Acreditamos, quase que sem dúvidas, que ou a cronjob do seu WordPress está desativada ou então ela não está sendo executada de 30 em 30 minutos porque o seu website não tem visitas suficientes.
Vale lembrar como as cronjobs do WordPress funcionam: por padrão, elas são executadas quando qualquer arquivo do website é executado. Um website sem acessos durante um período irá impedir a execução da cronjob corretamente e ela será executada logo após o primeiro acesso desde a última execução. Se não for bem configura, você corre sim esse risco de algumas funções funcionarem e outras não.
Nesse caso, é bom desabilitar a cronjob nativa do WordPress adicionando define('WP_CRON', false')
no arquivo wp-config.php
. E configurar uma cronjob no seu servidor, para ser executada de 30 em 30 minutos, */30 * * * * php /path/to/website/public_html/wp-cron.php > /dev/null 2>&1
executando o o usuário www-data
.
Está marcado para cancelar o pedido após a expiração do Pix? Se tiver, então o Pedido será cancelado logo após a expiração do Pix;
Sim, mas não foi cancelado.
Mais abaixo em “Período de Processamento dos Pix”, está selecionado “Uma vez a cada trinta minutos?
Atualmente está a cada 1 minuto. Pode ser?
Se há alguma mensagem “Disparo de e-mail wc_piggly_pix_pix_close_to_expires…” indicando que o e-mail para Pix Perto de Expirar foi enviado;
Modo debug já estava ativado, não há wc_piggly_pix_pix_close_to_expires nos logs.
Vou tentar a sugestão do cronjob. Obrigado
UPDATE: mesmo com as alterações o e-mail de lembrete não é enviado
com a atualização mais recente o e-mail de lembrete voltou a ser enviado.
Ótimo! @henriqueaf a propósito, encontramos o bug que fazia não enviar o e-mail de “perto da expiração” do Pix. Nesse caso, vamos lançar uma correção ainda hoje para sanar isso.