Como corrigir o formulário de pagamento Stripe que não processa no WPForms
O que é o pagamento Stripe que não processa no WPForms?
No WPForms, o pagamento com cartão é feito pelo addon Stripe, que adiciona o campo Stripe Credit Card ao formulário e troca dados com a Stripe via API e webhook. O envio do formulário dispara a cobrança em tempo real e, em seguida, a Stripe avisa o site por webhook que o pagamento foi concluído. O problema ‘não processa’ é qualquer falha nesse fluxo: o campo de cartão não carrega, o botão de envio trava, a Stripe recusa a transação por configuração, ou a cobrança acontece mas a entrada do formulário fica sem confirmação de pagamento.
Como identificar
- Ao clicar em enviar, o formulário fica girando no botão ‘Enviando…’ e nunca conclui, ou recarrega a página sem registrar o pagamento.
- Mensagem no formulário do tipo ‘Erro ao processar o pagamento’ ou um aviso vermelho abaixo do campo de cartão de crédito.
- O campo Stripe Credit Card não aparece no formulário publicado, mesmo estando presente no editor.
- Em WPForms -> Pagamentos (ou na entrada do formulário) o pagamento fica como pendente ou ausente, mesmo após o cliente preencher o cartão.
- No console do navegador (F12 -> Console) surgem erros de JavaScript do Stripe.js ou avisos de conteúdo bloqueado por falta de HTTPS.
Como prevenir
- Sempre teste o formulário no modo Test da Stripe e só troque para Live depois de validar uma cobrança real de valor baixo
- Mantenha WPForms, o addon Stripe Pro e a licença sempre atualizados e ativos para evitar a taxa extra de 3% e bugs de compatibilidade
- Deixe o envio AJAX ligado por padrão nos formulários de pagamento e confirme HTTPS válido na página antes de publicar
Causa
- Envio AJAX desligado no formulário: a Stripe exige envio sem recarregar a página, então sem AJAX em Configurações -> Geral -> Avançado o campo de cartão não cobra.
- Toggle de pagamento desativado: em Pagamentos -> Stripe o 'Enable one-time payments' está desligado, então o cartão é coletado mas nenhuma cobrança é criada.
- Modo Teste conectado em produção: a conta da Stripe foi conectada apenas no modo Test e o site está ao vivo, então nenhuma cobrança real é processada (Test e Live conectam separadamente).
- Addon Stripe Pro ausente ou licença WPForms inativa: sem o addon ativo a Stripe aplica taxa extra de 3% e funções ficam degradadas; sem licença Pro o addon nem instala.
- SSL ou HTTPS ausente na página do formulário: a Stripe recusa processar cartão em página sem cadeado válido e o Stripe.js bloqueia o campo.
- Webhook não configurado (versões anteriores ao WPForms 1.8.4 ou auto-config que falhou): a cobrança acontece mas a confirmação não volta e a entrada fica sem pagamento confirmado.
- Lógica condicional de pagamento mal montada ou campo de e-mail ausente: a Stripe exige um campo Email mapeado e a regra condicional pode estar suprimindo a cobrança.
Como resolver
- Ative o envio AJAX do formulário: abra o formulário no editor e ligue o envio AJAX, requisito obrigatório para a Stripe cobrar sem recarregar a página. Sem isso, o campo de cartão não processa.
WPForms -> Todos os Formulários -> editar formulário -> Configurações -> Geral -> Avançado -> Habilitar envio AJAX do formulário (ON) - Confirme o toggle de pagamento e o campo de cartão: verifique se o formulário tem o campo Stripe Credit Card, um campo de e-mail e um item de pagamento, e ative o toggle de cobrança. Sem o toggle ligado, o cartão é coletado mas nenhuma cobrança é criada.
Editor do formulário -> aba Pagamentos -> Stripe -> Habilitar pagamentos únicos (Enable one-time payments) (ON) Campos obrigatórios no formulário: Stripe Credit Card + Email + item de pagamento (Single Item / Dropdown Items) - Cheque o modo Teste x Produção da conexão Stripe: a Stripe conecta os modos Test e Live separadamente. Se o site está ao vivo mas a conta foi conectada só em modo Teste, nenhuma cobrança real ocorre. Reconecte no modo correto.
WPForms -> Configurações -> Pagamentos -> Stripe -> confira se o modo está em Live (Produção) Se necessário, clique em Connect with Stripe e refaça a conexão no modo correto - Garanta SSL válido e Stripe Pro ativo: confirme HTTPS com cadeado válido na página do formulário e que o addon Stripe Pro está ativo com a licença WPForms registrada. Sem SSL a Stripe bloqueia o cartão; sem o addon ativo há taxa extra de 3%.
WPForms -> Addons -> verifique se o Stripe Pro Addon está Ativo WPForms -> Configurações -> Geral -> confirme a chave de licença Pro válida Acesse a página do formulário em HTTPS e confirme o cadeado no navegador - Valide o webhook e faça um pedido de teste: a partir do WPForms 1.8.4 o webhook é configurado automaticamente na conexão; em versões antigas ou quando a auto-config falha, reconecte para regravá-lo. Depois faça uma cobrança real de valor baixo para validar o fluxo de ponta a ponta.
Atualize o WPForms e o addon Stripe para a versão mais recente WPForms -> Configurações -> Pagamentos -> Stripe -> reconecte para reescrever o webhook Faça um envio de teste com cartão real de valor baixo e confira a entrada em WPForms -> Pagamentos
// functions.php do tema filho — loga no error_log quando o envio do WPForms acontece
// e mostra se o campo de pagamento Stripe entrou no processamento (diagnostico).
add_action( 'wpforms_process_complete', function ( $fields, $entry, $form_data, $entry_id ) {
$tem_stripe = false;
foreach ( (array) $fields as $field ) {
if ( isset( $field['type'] ) && $field['type'] === 'stripe-credit-card' ) {
$tem_stripe = true;
}
}
error_log( sprintf(
'WPForms #%d enviado | campo Stripe presente: %s | entry: %d',
(int) $form_data['id'],
$tem_stripe ? 'sim' : 'NAO',
(int) $entry_id
) );
}, 10, 4 );
// Se o log marcar 'NAO', o campo Stripe Credit Card nao chegou ao processamento
// (campo ausente no form publicado ou AJAX desligado).














