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

Como corrigir o erro de conversao de moeda do Stripe no WPForms no WordPress

Time Full Services Time Full Services
Tipo Outros erros
Nome do erro Conversao de moeda errada no Stripe via WPForms EN: Stripe currency mismatch in WPForms payment
Severidade Atenção
Descrição O erro de conversao de moeda do Stripe no WPForms acontece quando a moeda definida em WPForms, Configurações, Pagamentos não corresponde a moeda da conta Stripe ou ao valor que você esperava cobrar, fazendo o Stripe converter, arredondar ou recusar o pagamento.

O que é erro de conversao de moeda do Stripe no WPForms?

O erro de conversao de moeda do Stripe no WPForms aparece quando o valor cobrado chega ao Stripe em uma moeda diferente da que você configurou ou esperava. O WPForms tem uma única moeda global, definida no menu Configurações, na aba Pagamentos, através do menu suspenso Moeda (Currency), e e essa moeda que ele envia para o Stripe em cada cobranca. Quando essa configuração esta em USD e a conta deveria operar em BRL, o cliente ve um valor convertido, um simbolo de moeda errado no formulário ou uma cobranca em dolar no extrato.

O Stripe não adivinha a moeda pelo pais do cartao: ele cobra exatamente na moeda enviada pelo WPForms. Além disso, o Stripe processa valores em centavos para moedas comuns e em unidade inteira para moedas de zero decimais, como o iene japones (JPY). Se o código ou a configuração tratar uma moeda de zero decimais como se tivesse centavos, o valor cobrado fica cem vezes maior ou menor. Por isso o problema quase sempre se resume a um desalinhamento entre a moeda do WPForms, a moeda da conta Stripe e o formato de valor esperado.

Como identificar

  • O cliente e cobrado em uma moeda diferente da que aparece no formulário, por exemplo o formulário mostra R$ mas o extrato do cartao registra a cobranca em USD.
  • No painel do Stripe a cobranca aparece com ‘Converted from’ ou com uma taxa de conversao aplicada que você não configurou.
  • O valor cobrado fica multiplicado ou dividido por cem ao usar uma moeda de zero decimais como JPY, resultando em uma quantia absurda.
  • O Stripe recusa o pagamento com a mensagem ‘This currency is not supported for this account’ ou ‘The currency provided is not supported’.
  • O simbolo de moeda exibido no campo de pagamento do formulário não corresponde a moeda real da sua loja ou pais.
Antes de começar: Antes de mexer na moeda de um formulário que já recebe pagamentos em producao, faca uma cobranca no modo de teste do Stripe ou valide em um ambiente de staging. Trocar a moeda global afeta todos os formulários de pagamento do site, entao confirme o impacto antes de salvar.

Como prevenir

  • Defina a moeda correta em WPForms, Configurações, Pagamentos logo na configuração inicial e confirme que ela coincide com a moeda de liquidacao da conta Stripe.
  • Antes de cada novo formulário de pagamento, faca uma cobranca de teste no modo de teste do Stripe e confira moeda e valor no painel antes de publicar.
  • Ao cobrar em moedas de zero decimais, documente que o valor vai sem centavos para evitar cobrancas cem vezes maiores.
  • Padronize o formato decimal dos campos de valor com ponto como separador e evite separador de milhar nos campos enviados ao Stripe.

Causa

  • A moeda definida em WPForms, Configurações, Pagamentos, no menu suspenso Moeda, esta diferente da moeda em que você pretende cobrar, e o WPForms envia essa moeda global para o Stripe em todas as cobrancas.
  • A moeda configurada no WPForms não esta habilitada ou suportada na conta Stripe conectada, entao o Stripe recusa a cobranca ou aplica uma conversao automática no momento do settlement.
  • A cobranca usa uma moeda de zero decimais, como JPY, mas o valor foi tratado como se tivesse centavos, fazendo o Stripe interpretar o montante cem vezes maior ou menor.
  • O campo de valor do formulário foi preenchido com separador de milhar ou virgula decimal incompativel com o formato esperado, e o WPForms envia ao Stripe um valor convertido para um número inteiro de centavos errado.
  • A conta Stripe esta cadastrada em um pais cuja moeda de liquidacao difere da moeda enviada pelo WPForms, e o Stripe converte automaticamente no recebimento, gerando a diferenca percebida pelo cliente.

Como resolver

  1. Confira a moeda global do WPForms em Pagamentos: Abra as configurações do WPForms e va até a aba Pagamentos. O menu suspenso Moeda define a única moeda usada em todos os formulários e enviada ao Stripe. Ajuste-o para a moeda correta antes de qualquer outro passo, pois o WPForms aplica essa escolha a cada cobranca.
    Painel WP -> WPForms -> Configurações
    Abra a aba Pagamentos (Payments)
    No menu suspenso Moeda (Currency), selecione a moeda correta, por exemplo BRL - Real brasileiro
    Clique em Salvar Configurações
  2. Confirme que a conta Stripe aceita essa moeda: No painel do Stripe, verifique se a moeda escolhida no WPForms esta entre as moedas suportadas pela conta e pelo pais cadastrado. Se a moeda não for suportada, o Stripe converte no recebimento ou recusa a cobranca, gerando a diferenca de valor.
    Acesse dashboard.stripe.com -> Configurações -> Pagamentos
    Verifique a moeda padrão de liquidacao da conta
    Confirme que a moeda definida no WPForms esta na lista de moedas aceitas pela conta
  3. Trate moedas de zero decimais corretamente: Se você cobra em uma moeda de zero decimais, como JPY, o valor não deve ser multiplicado por cem. Garanta que o valor no campo de pagamento esteja em unidade inteira para essas moedas, evitando a cobranca cem vezes maior.
    Liste as moedas de zero decimais usadas (ex.: JPY, KRW)
    No campo de valor do formulário, informe o montante em unidade inteira, sem centavos
    Faca uma cobranca de teste no modo de teste do Stripe e confira o valor recebido
  4. Padronize o formato do valor no campo de pagamento: Verifique o campo de valor do formulário (Single Item, Total ou calculo) para garantir que o formato decimal não gere um número de centavos errado ao ser convertido pelo WPForms. Use ponto como separador decimal interno e teste o envio.
    Painel WP -> WPForms -> Todos os Formulários -> abra o formulário de pagamento
    Selecione o campo de valor (Single Item / Total) e confira o valor configurado
    Envie um teste e compare o valor recebido no painel do Stripe com o esperado
  5. Faca uma cobranca de teste antes de reabrir o formulário: Ative o modo de teste do Stripe no WPForms, faca uma cobranca com um cartao de teste e confirme no painel do Stripe que a moeda e o valor batem com o esperado. So depois volte ao modo de producao para liberar o formulário aos clientes.
    Painel WP -> WPForms -> Configurações -> Pagamentos -> Stripe -> ative o Modo de Teste
    Use o cartao de teste 4242 4242 4242 4242 para simular o pagamento
    Confirme moeda e valor em dashboard.stripe.com -> Pagamentos, depois desative o Modo de Teste
PHP
<?php
// Forca a moeda BRL nas cobrancas do Stripe via WPForms e trata moedas de zero decimais.
add_filter( 'wpforms_settings_currencies', 'full_wpforms_currency_default' );
function full_wpforms_currency_default( $currencies ) {
    // Garante que BRL esteja disponivel no menu suspenso Moeda (Configuracoes -> Pagamentos).
    $currencies['BRL'] = array(
        'name'                => esc_html__( 'Real brasileiro', 'wpforms-lite' ),
        'symbol'              => 'R$',
        'symbol_pos'          => 'left',
        'thousands_separator' => '.',
        'decimal_separator'   => ',',
        'decimals'            => 2,
    );
    return $currencies;
}

// Lista de moedas de zero decimais aceitas pelo Stripe (valor em unidade inteira, sem x100).
function full_stripe_zero_decimal( $currency ) {
    $zero_decimal = array( 'JPY', 'KRW', 'VND', 'CLP' );
    return in_array( strtoupper( $currency ), $zero_decimal, true );
}

Perguntas frequentes

Por que o WPForms esta cobrando na moeda errada no Stripe
Porque o WPForms envia ao Stripe a moeda definida em Configurações, na aba Pagamentos, pelo menu suspenso Moeda. Se essa moeda global estiver diferente da que você espera, o Stripe cobra exatamente na moeda enviada. Ajuste o menu Moeda para a opção correta e salve.
Onde fica a configuração de moeda do WPForms
No painel do WordPress, va em WPForms, Configurações e abra a aba Pagamentos. La existe um menu suspenso chamado Moeda que define a moeda usada em todos os formulários e enviada ao Stripe a cada cobranca.
O Stripe converte a moeda automaticamente para o pais do cliente
Não. O Stripe cobra na moeda que o WPForms envia, não na moeda do cartao do cliente. A conversao so ocorre quando a moeda enviada não e suportada pela conta Stripe ou difere da moeda de liquidacao, gerando taxa de conversao no recebimento.
Por que o valor cobrado em iene ou outra moeda ficou cem vezes maior
Moedas de zero decimais, como o iene japones, são processadas pelo Stripe em unidade inteira, sem centavos. Se o valor for tratado como se tivesse centavos, o Stripe interpreta o montante multiplicado por cem. Informe o valor em unidade inteira para essas moedas.
Posso usar moedas diferentes em formulários diferentes do WPForms
Não de forma nativa. A moeda do WPForms e global, definida uma vez na aba Pagamentos, e vale para todos os formulários do site. Para cobrar em outra moeda você precisa alterar essa configuração global, o que afeta todos os formulários de pagamento.
Mudar a moeda no WPForms afeta pagamentos já recebidos
Não altera as cobrancas que já foram processadas no Stripe, mas passa a valer para todas as cobrancas seguintes em todos os formulários. Por isso faca uma cobranca de teste após a mudanca e confirme a moeda no painel do Stripe antes de reabrir o formulário.
Como testo se a moeda esta correta antes de cobrar clientes reais
Ative o modo de teste do Stripe no WPForms, use o cartao de teste 4242 4242 4242 4242 e faca um envio. Depois confira em dashboard.stripe.com, na seção de Pagamentos, se a moeda e o valor batem com o esperado, e so entao volte ao modo de producao.

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