Como corrigir a integração Stripe/PayPal que não processa pagamentos no WPForms
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.
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
- 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:// - 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) - 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 - 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 - 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
// 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.














