🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir a integração Stripe/PayPal que não processa pagamentos no WPForms

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Stripe/PayPal não processa pagamentos no WPForms EN: WPForms Stripe/PayPal payment not processing
Severidade Crítico
Descrição O pagamento Stripe ou PayPal não processa no WPForms quando o formulário envia mas a cobrança não acontece, é recusada ou fica pendente. As causas reais costumam ser SSL ausente na página, modo Teste ligado em produção, AJAX desabilitado, licença Pro inativa ou o campo de pagamento faltando no formulário.

O que é o pagamento Stripe ou PayPal que não processa no WPForms?

No WPForms, pagamentos por cartão (Stripe) ou PayPal são processados por addons Pro que conectam o formulário à conta do gateway e cobram o valor de um campo de itens de pagamento. A falha de processamento é quando o visitante preenche e envia o formulário, mas a transação não é criada no Stripe/PayPal: nenhuma cobrança aparece, o cartão é recusado por configuração, ou o envio acontece sem que o valor seja debitado. Diferente de um formulário comum, o pagamento exige requisitos extras (SSL, conexão de conta, AJAX e campos específicos) que, quando faltam, fazem o envio parecer bem-sucedido sem cobrar nada.

Como identificar

  • Mensagem no formulário do tipo ‘There was a problem processing your payment’ ou ‘Não foi possível processar o pagamento’ após clicar em enviar.
  • O formulário é enviado e mostra a confirmação, mas nenhuma cobrança aparece no painel da Stripe ou do PayPal.
  • O campo de cartão (Stripe Credit Card field) não carrega, fica em branco ou não aceita o número do cartão.
  • No painel da Stripe a cobrança aparece como Test mode (test) enquanto a loja deveria estar cobrando de verdade.
  • Em WPForms -> Pagamentos a entrada some ou fica marcada como pendente, sem virar pagamento concluído.
Antes de começar: Nunca cole a chave secreta (secret key) da Stripe no front-end, em snippets públicos ou em logs versionados. Teste sempre com chaves de Test/Sandbox em ambiente de staging antes de mexer na conexão de produção, e use um valor baixo no primeiro pedido real.

Como prevenir

  • Mantenha a licença Pro ativa e o WPForms com os addons Stripe Pro e PayPal sempre atualizados para a versão mínima exigida.
  • Documente qual conta está conectada e em qual modo (Live x Test), e nunca deixe Test Mode marcado em produção.
  • Teste cada formulário de pagamento com uma transação real de valor baixo após qualquer atualização de plugin, tema ou troca de host.

Causa

  • SSL/HTTPS ausente na página onde o formulário está publicado: a Stripe exige HTTPS para coletar dados de cartão e bloqueia a cobrança em página sem cadeado válido.
  • Modo Teste (Test) ainda ligado em produção, ou chaves de Test e Live conectadas trocadas: Stripe exige conectar Test e Live separadamente via Stripe Connect e o PayPal exige sair do Sandbox.
  • Envios AJAX desabilitados no formulário: o addon Stripe só funciona com 'Enable AJAX form submission' ativo em Configurações -> Geral do formulário.
  • Licença do WPForms inativa ou abaixo de Pro: os addons Stripe Pro e PayPal exigem licença Pro ou superior, e licença inativa ainda aplica taxa extra de 3% por transação.
  • Campo de pagamento faltando no formulário: sem um campo de itens (Single Item, Multiple Items, Dropdown ou Checkbox Items) com valor e sem o Stripe Credit Card field, não há valor para cobrar.
  • Versão do WPForms ou do addon desatualizada: o addon Stripe Pro exige a versão mínima do WPForms, e webhooks só são autoconfigurados a partir da versão 1.8.4.

Como resolver

  1. Garanta SSL válido na página do formulário: confirme que a página onde o formulário está publicado abre em HTTPS com cadeado válido. A Stripe recusa coletar cartão sem SSL. Force HTTPS no site inteiro caso a página de pagamento ainda abra em HTTP.
    Settings -> General -> WordPress Address (URL) e Site Address (URL) começando com https://
  2. Conecte a conta e desligue o modo Teste: reconecte a conta do gateway e confirme o modo de produção. Apenas administradores conseguem conectar via Stripe Connect, e Test e Live são conexões separadas.
    WPForms -> Configurações -> Pagamentos -> Stripe -> Connect with Stripe
    Modo: Live (desmarcar Test Mode)
    PayPal: WPForms -> Configurações -> Pagamentos -> PayPal -> Mode: Production (não Sandbox)
  3. Adicione os campos de pagamento obrigatórios no formulário: abra o construtor do formulário e garanta os três componentes que o addon exige: um campo Email, um campo de itens de pagamento com valor e o campo de cartão da Stripe.
    Email field
    Single Item / Multiple Items / Dropdown Items / Checkbox Items (com preço)
    Stripe Credit Card field
  4. Habilite o AJAX e a ação de pagamento: o addon Stripe só dispara a cobrança com envio AJAX ativo, e a ação de pagamento precisa estar habilitada na aba Pagamentos do formulário para o valor ser enviado ao gateway.
    Construtor -> Configurações -> Geral -> Enable AJAX form submission
    Construtor -> Pagamentos -> Stripe -> Enable Stripe payments
    Construtor -> Pagamentos -> PayPal -> Enable PayPal payments
  5. Atualize, valide a licença e faça um pedido de teste real: atualize o WPForms e os addons, confirme a licença Pro ativa e faça uma transação real de valor baixo para validar o fluxo de ponta a ponta. Se o webhook não autoconfigurar, recadastre o endpoint manualmente na conta da Stripe.
    WPForms -> Configurações -> Geral -> License Key (status: Active)
    Plugins -> WPForms -> Update / Addons -> Stripe Pro -> Update
    Stripe Dashboard -> Developers -> Webhooks (endpoint do WPForms ativo)
PHP
<?php
// functions.php do tema filho — registra no log do WordPress quando o WPForms
// processa um pagamento Stripe, para diagnosticar cobranca que nao acontece.
add_action( 'wpforms_stripe_process_payment_total', function ( $amount, $form_data ) {
    error_log( sprintf(
        '[WPForms Stripe] form #%d | total cobrado: %s',
        isset( $form_data['id'] ) ? (int) $form_data['id'] : 0,
        $amount
    ) );
}, 10, 2 );
// Se o formulario eh enviado mas NADA aparece no debug.log, o fluxo de pagamento
// nem inicia: cheque AJAX, modo Live e o campo de itens de pagamento no formulario.

Perguntas frequentes

O formulário envia mas a cobrança não aparece na Stripe. Por quê?
Quase sempre o formulário está com AJAX desabilitado ou em modo Teste. O addon Stripe só cobra com 'Enable AJAX form submission' ativo, e cobranças em Test Mode não geram pagamento real. Ative o AJAX, desligue o Test Mode e confirme que a ação de pagamento está habilitada na aba Pagamentos.
Preciso de SSL para receber pagamento no WPForms?
Sim. A Stripe exige HTTPS na página onde o formulário coleta o cartão e recusa processar sem SSL válido. Instale um certificado, force HTTPS no site inteiro e confirme o cadeado na página antes de publicar o formulário de pagamento.
Qual licença do WPForms é necessária para Stripe e PayPal?
Os addons Stripe Pro e PayPal exigem licença Pro ou superior. Com a licença inativa, além de o addon poder não funcionar, a Stripe aplica uma taxa extra de 3% por transação além da taxa padrão do gateway. Confirme a licença ativa em WPForms -> Configurações -> Geral.
Por que o campo de cartão da Stripe não aparece no formulário?
O campo não aparece quando o Stripe Credit Card field não foi adicionado, quando falta um campo de itens de pagamento com valor, ou quando há conflito de JavaScript/cache. Adicione o campo de cartão, um campo de itens com preço e limpe o cache da página para o campo renderizar.
Estou cobrando em modo de teste sem querer. Como saber?
No painel da Stripe a transação aparece marcada como 'test'. No WPForms, confira em Configurações -> Pagamentos se a conexão está em Live e se o Test Mode do formulário está desmarcado. Test e Live são conexões separadas no Stripe Connect, então reconecte no modo Live.
O PayPal não processa o pagamento. O que verificar primeiro?
Confirme que o modo está em Production e não Sandbox, que a conta PayPal foi conectada corretamente e que existe um campo de itens de pagamento com valor no formulário. Sem um valor a cobrar e com a conta em Sandbox, o envio acontece sem gerar pagamento real.
Atualizei o WPForms e os pagamentos pararam. O que fazer?
O addon de pagamento pode estar abaixo da versão mínima exigida. Atualize o WPForms e os addons Stripe Pro e PayPal, reconecte a conta se necessário e faça um pedido de teste real. A partir da versão 1.8.4 os webhooks da Stripe são autoconfigurados ao reconectar a conta.
O cliente paga mas a entrada fica pendente no WPForms. Por quê?
Geralmente o webhook da Stripe não chegou ao site ou a autoconfiguração falhou. Reconecte a conta para reconfigurar o webhook ou cadastre o endpoint manualmente em Developers -> Webhooks no painel da Stripe, e confirme que nenhum firewall/WAF bloqueia essa rota.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes