Artigos nesta secção

Resolução de problemas de Cloudflare e firewall com o WooCommerce

Quando configura o plugin Teya Payments para WooCommerce, a Teya envia um webhook de registo para a sua loja. Este webhook fornece as credenciais de que o plugin necessita para que a sua loja possa comunicar de forma segura com a Teya no futuro.

Se este webhook for bloqueado pelo Cloudflare ou por outra firewall, a configuração não poderá ser concluída e poderá ver erros como:

Registration webhook returned HTTP client error: status=403 FORBIDDEN

Este guia ajuda a solucionar as causas mais comuns do Cloudflare e de firewalls para que possa concluir a configuração do plugin.

Quando este guia se aplica

Utilize este guia se:

  • Estiver a tentar ligar a sua loja WooCommerce à Teya utilizando o plugin oficial da Teya.
  • Depois de iniciar sessão na Teya e escolher a loja que pretende ligar, vir uma página de erro com um link para esta página de ajuda.
  • Você, o seu programador ou o seu fornecedor de alojamento virem um erro 403 Forbidden ou semelhante para os URLs do webhook: https://yourdomain.com/wc-api/teya_oauth_callback/ e https://yourdomain.com/wc-api/teya_payments/.
  • O seu site utilizar o Cloudflare, outra CDN ou uma Web Application Firewall (WAF) como Sucuri, Wordfence ou uma firewall de um fornecedor de alojamento.

Não precisa de concluir todos os passos abaixo. Após cada passo principal, teste novamente o registo.

Passo 1: Permitir os IPs do webhook da Teya

Objetivo: Certificar-se de que a sua firewall permite que os pedidos de webhook da Teya cheguem à sua loja WooCommerce.

As notificações de webhook da Teya vêm atualmente destes endereços IP: 63.35.101.166, 63.34.233.45, 34.252.138.105.

No Cloudflare:

  1. Aceda a Security > WAF > Tools ou IP Access Rules.
  2. Para cada IP acima, adicione uma regra de Allow para HTTPS (porta 443).

Se utilizar firewalls adicionais (por exemplo, no seu fornecedor de alojamento), adicione também os mesmos IPs às suas listas de permissões.

Esta é a correção mais comum. Teste novamente a configuração do plugin após aplicar estas alterações. Se o problema persistir, continue com os passos abaixo.

Passo 2: Verificar se o URL de callback do WooCommerce está acessível

Objetivo: Confirmar que a Teya consegue aceder ao URL de callback sem ser bloqueada ou desafiada.

O webhook de registo é enviado para: https://yourdomain.com/wc-api/teya_oauth_callback/

Para testar isto:

  1. Abra um browser no modo de navegação anónima / privada.
  2. Visite: https://yourdomain.com/wc-api/teya_oauth_callback/

Deverá ver um dos seguintes:

  • Uma página em branco ou uma resposta mínima ao estilo do WooCommerce.
  • Um HTTP 200 ou 204 OK sem conteúdo visível.

Se, em vez disso, vir algum destes, significa que o webhook continua a ser bloqueado:

  • Um erro 403 Forbidden.
  • Uma página de desafio do Cloudflare (por exemplo, "A verificar o seu browser antes de aceder…" ou um CAPTCHA).
  • Uma página de erro de firewall ou segurança personalizada do seu fornecedor de alojamento.

Nesse caso, passe para os próximos passos para ajustar as regras do Cloudflare ou da sua firewall.

Passo 3: Verificar se o Cloudflare ou a sua firewall está a bloquear o webhook

Confirmar se o Cloudflare ou uma WAF está em utilização

  • Pergunte ao seu programador ou fornecedor de alojamento se o seu domínio está atrás do Cloudflare ou de outro proxy de segurança/WAF.
  • Se iniciar sessão em dash.cloudflare.com para gerir o DNS ou a segurança, é provável que esteja a utilizar o Cloudflare.

Rever eventos de Firewall / WAF do Cloudflare

No Cloudflare:

  1. Aceda a Security > WAF (Web Application Firewall) ou Firewall rules.
  2. Analise os eventos recentes para os pedidos a /wc-api/teya_oauth_callback/, /wc-api/teya_payments/ e /wc-api/.
  3. Verifique a existência de ações como Block, Challenge ou JS Challenge nestes URLs ou nos IPs da Teya listados anteriormente.

Estas ações indicam que o Cloudflare está a tratar o webhook como tráfego suspeito.

Verificar as definições de bot e "Under attack"

No Cloudflare:

  • Se o Bot Fight Mode ou o Super Bot Fight Mode estiver ativado, este poderá tratar o webhook da Teya como um bot e bloqueá-lo.
  • Se o seu site estiver no modo Under Attack, o Cloudflare poderá mostrar uma página de desafio antes de permitir o acesso, o que bloqueia webhooks automatizados.

Não precisa de desligar a proteção de todo o seu site. No passo seguinte, irá criar regras que relaxam estas verificações apenas para os endpoints do webhook da Teya.

Passo 4: Relaxar as regras de segurança para os endpoints do WooCommerce

Objetivo: Permitir o tráfego de webhook nos endpoints do WooCommerce, mantendo a proteção no resto do seu site.

Mesmo que adicione os IPs à lista de permissões, o Cloudflare ou outra WAF poderão ainda desafiar, aplicar limites de taxa (rate-limit) ou bloquear os pedidos.

Concentre-se nestes URLs: /wc-api/, /wc-api/teya_oauth_callback/, /wc-api/teya_payments/.

Configuração recomendada no Cloudflare (ou equivalente na sua WAF):

  1. Aceda a Security > WAF > Rules.
  2. Crie uma regra em que o URI path contains (caminho do URI contenha) /wc-api/ (ou utilize uma expressão como starts_with(http.request.uri.path, "/wc-api")).
  3. Para esta regra, defina a ação de forma que o Cloudflare permita ou ignore as verificações da WAF; ignore a proteção contra bots (Bot Fight Mode); ignore os desafios JS; e certifique-se de que o Limite de Taxa (Rate Limiting) não está a bloquear chamadas repetidas a estes endpoints.

Isto mantém a segurança no resto do seu site, permitindo que os callbacks técnicos do plugin funcionem.

Aplique exceções semelhantes em qualquer outra WAF ou plugin de segurança, relaxando as regras para os mesmos caminhos.

Passo 5: Excluir os endpoints do webhook do cache

Objetivo: Certificar-se de que o Cloudflare ou a sua CDN reencaminha sempre as chamadas de webhook para o WooCommerce, em vez de fornecer uma resposta em cache.

O cache pode causar respostas desatualizadas ou inesperadas para as chamadas de webhook.

No Cloudflare (ou em qualquer CDN):

  1. Aceda a Rules > Page Rules ou Cache Rules.
  2. Adicione regras para ignorar o cache (bypass cache) para /wc-api/, /wc-api/teya_payments/ e /wc-api/teya_oauth_callback/.
  3. Defina estas regras com um Nível de Cache (Cache level) de Bypass, e um TTL de cache na periferia (Edge cache TTL) de 0 (ou desativado) para estes caminhos.

Isto garante que o Cloudflare reencaminha sempre o pedido para o seu site WooCommerce e devolve a resposta real.

Passo 6: Verificar a configuração SSL / HTTPS

Objetivo: Confirmar que a ligação entre a Teya e a sua loja WooCommerce é segura e compatível.

O plugin da Teya requer uma ligação HTTPS válida para a sua loja WooCommerce.

Verifique o seu certificado:

  • Abra o URL da sua loja (por exemplo, https://yourdomain.com) num browser moderno.
  • Certifique-se de que não existem avisos sobre um certificado expirado ou inválido.

Verifique o modo SSL/TLS do Cloudflare:

  • No Cloudflare, abra SSL/TLS.
  • Defina o modo de encriptação SSL/TLS para Full ou Full (Strict).
  • Evite o modo Flexible, uma vez que pode causar comportamentos inconsistentes para APIs e webhooks.

Passo 7: Voltar a testar a configuração do plugin

Depois de ajustar as definições da sua firewall, do cache e de SSL, teste novamente o plugin.

Na sua administração do WooCommerce:

  1. Aceda a WooCommerce > Definições > Pagamentos.
  2. Encontre Teya Payments na lista.
  3. Clique em Concluir configuração para executar a configuração novamente.
  4. Inicie sessão com o seu ID da Teya e selecione a loja correta, se lhe for pedido.

Quando a configuração for bem-sucedida, deverá ver:

  • O plugin marcado como ativado.
  • Um banner de confirmação, como "Ligado com sucesso à Teya", nas definições do plugin.

Se o plugin continuar a não se ligar, continue com a lista de verificação e a secção de suporte abaixo.

Lista de verificação rápida de correções comuns

A maioria dos comerciantes resolve os problemas de webhooks e do Cloudflare ao:

  • Permitir os endereços IP do webhook da Teya no Cloudflare e em qualquer firewall do servidor.
  • Desativar ou ignorar a proteção estrita contra bots (por exemplo, Bot Fight Mode, modo "Under attack") para /wc-api/, /wc-api/teya_payments/ e /wc-api/teya_oauth_callback/.
  • Assegurar que as regras da WAF e o Limite de Taxa (Rate Limiting) não estão a bloquear ou a limitar as chamadas de webhook ou da API para esses caminhos.
  • Ignorar o cache para os mesmos endpoints do webhook, para que os pedidos cheguem sempre ao WooCommerce.
  • Utilizar um certificado SSL válido e o modo SSL do Cloudflare definido para Full ou Full (Strict), e não Flexible.
  • Manter o WooCommerce e o plugin da Teya atualizados, uma vez que plugins desatualizados podem, por vezes, rejeitar chamadas da API ou de webhook.

Se continuar a não funcionar – contacte o suporte ao cliente da Teya

Se seguiu todos os passos acima e continua sem conseguir concluir a configuração do plugin, o suporte ao cliente da Teya pode ajudar a investigar mais a fundo.

Recolha informações úteis antes de entrar em contacto

Ter os detalhes abaixo preparados ajudar-nos-á a solucionar o seu problema mais rapidamente:

  • O seu ID de comerciante da Teya ou ID da loja (da sua App da Teya ou do portal empresarial, se disponível).
  • O URL da sua loja WooCommerce (por exemplo, https://yourdomain.com).
  • Confirmação de que utiliza o Cloudflare ou qualquer outra WAF ou plugin de segurança (por exemplo, Sucuri, Wordfence, firewall de alojamento).
  • Uma breve descrição do que acontece quando tenta concluir a configuração do plugin, incluindo quaisquer mensagens de erro no WooCommerce ou na Teya.
  • Capturas de ecrã do erro no WooCommerce ou no ecrã de configuração da Teya, e quaisquer eventos relevantes nos registos do Cloudflare ou da sua firewall que mostrem pedidos bloqueados ou desafiados para /wc-api/teya_oauth_callback/ e /wc-api/teya_payments/.
  • A data, hora e fuso horário aproximados da sua última tentativa falhada, para que possamos verificar os registos do nosso lado.
Este artigo foi útil?
1 de 1 acharam isto útil

Ainda precisa de ajuda?

  • Fale connosco

    Obtenha respostas rápidas em tempo real da nossa equipa de apoio para questões urgentes ou se precisar de orientação.

  • Envie-nos um e-mail quando quiser

    Envie-nos uma mensagem e responderemos com toda a ajuda necessária assim que possível.