Pular para o conteúdo
Criar conta
ou
Entrar
O logotipo da documentação da Stripe
/
Pergunte à IA
Criar conta
Login
Comece já
Pagamentos
Automação de finanças
Plataformas e marketplaces
Gestão de valores
Ferramentas para desenvolvedores
Comece já
Pagamentos
Automação de finanças
Comece já
Pagamentos
Automação de finanças
Plataformas e marketplaces
Gestão de valores
Visão geralExplore todos os produtos
Comece a criar
Comece a desenvolver
Projetos de exemplo
Sobre as APIs
    Explore as APIs
    API Payment Intents
    API Setup Intents
    Formas de pagamento
    Produtos e preços
    APIs mais antigas
      Cobranças
      Fontes
        Transição para as novas APIs
        Fontes de cartões
        Sources e Customers
        Débito automático ACH
        Conectar plataformas
        Práticas recomendadas
        iOS
        Android
    Fases da versão
Build with LLMs
Use a Stripe sem programação
Configurar a Stripe
Crie uma conta
Dashboard da web
Dashboard móvel
Migrar para a Stripe
Gerenciar risco de fraudes
Entenda as fraudes
Proteção contra fraudes do Radar
Gerenciar contestações
Verificar identidades
Página inicialComece jáAbout the APIsOlder APIsSources

Transição para as APIs Payment Intents e Payment Methods

Saiba como fazer a transição das APIs Sources e Tokens para a API Payment Methods.

Copiar página

A API Payment Methods substitui as APIs atuais Tokens e Sources como forma recomendada de coleta e armazenamento de dados de pagamento a ser usada nas integrações. Ela trabalha com a API Payment Intents para criar pagamentos que usam diversas formas de pagamento.

Planejamos desativar o suporte à API Sources para formas de pagamento locais. Se você gerencia alguma forma de pagamento local usando a API Sources, é preciso migrá-la para a API Payment Methods. Enviaremos um comunicado por e-mail com mais informações sobre o fim do suporte às APIs Sources e Tokens.

Embora não esteja em nossos planos desativar o suporte às formas de pagamento com cartão, ainda recomendamos migrá-las para as APIs Payment Methods e Payment Intents. Para obter mais informações sobre a migração de formas de pagamento com cartão, consulte Migrar para a API Payment Intents.

Migrar formas de pagamento locais da API Sources para a API Payment Intents

Para migrar sua integração para formas de pagamento locais, atualize seu servidor e front-end para usar a API PaymentIntents. Há três opções típicas de integração:

  • Redirecione para o Stripe Checkout para o seu fluxo de pagamento.
  • Use o Stripe Payment Element na sua própria página de pagamento.
  • Crie seu próprio formulário e use o SDK JS da Stripe para concluir o pagamento.

Se você usa o Stripe Checkout ou o Payment Element, pode adicionar e gerenciar a maioria das formas de pagamento no Stripe Dashboard sem precisar alterar o código.

Para obter informações específicas sobre a integração de uma forma de pagamento local usando a API Payment Methods, consulte as instruções dessa forma de pagamento na documentação das formas de pagamento. A tabela a seguir oferece uma comparação de alto nível entre os diferentes tipos de pagamento.

Integração antigaStripe CheckoutPayment ElementPróprio formulário

Baixa complexidade

Média complexidade

Alta complexidade

Crie uma Source no front-end ou no servidorCrie uma sessão do Checkout no servidorCriar um PaymentIntent no servidorCriar um PaymentIntent no servidor
Autorize o pagamento carregando um widget ou redirecionando a um terceiroNão é necessárioPasse o segredo do cliente para o front-end e use o SDK JS da Stripe para renderizar um Payment Element e concluir o pagamentoPasse o segredo do cliente para o front-end, use seu próprio formulário para coletar os dados do cliente e conclua o pagamento de acordo com a forma de pagamento
Confirme se a fonte pode ser cobrada e cobre a SourceNão é necessárioNão é necessárioNão é necessário
Confirme se a Charge foi bem-sucedida de forma assíncrona com o webhook charge.succeededConfirme o sucesso da sessão do Checkout com o webhook payment_intent.succeededConfirme se o PaymentIntent foi bem-sucedido com o webhook payment_intent.succeededConfirme se o PaymentIntent foi bem-sucedido com o webhook payment_intent.succeeded

Cuidado

Um objeto PaymentIntent representa um pagamento na nova integração e cria uma Charge quando você confirma o pagamento no front-end. Se você armazenou referências à Charge anteriormente, pode continuar armazenando o ID da Charge no PaymentIntent depois que o cliente finaliza o pagamento. Entretanto, também recomendamos que você armazene o ID do PaymentIntent.

Verificar status do pagamento

Anteriormente, sua integração deveria ter verificado o status da Source e o status da Charge após cada chamada de API. Não é preciso mais verificar dois status. Você só precisa verificar o status do PaymentIntent ou da sessão do Checkout depois de confirmá-lo no front-end.

payment_intent.statusSignificadoInstruções especiais
succeededO pagamento foi bem-sucedido.Não se aplica
requires_payment_methodO pagamento falhou.Não se aplica
requires_actionO cliente não concluiu a autorização do pagamento.Se o cliente não concluir o pagamento em 48 horas, o PaymentIntent muda para requires_payment_method e você pode tentar fazer a confirmação novamente.

Sempre confirme o status do PaymentIntent obtendo-o no seu servidor ou escutando os webhooks no seu servidor. Não dependa apenas do retorno do usuário ao return_url informado quando você confirmar o PaymentIntent.

Reembolsos

Você pode continuar chamando a API Refunds com uma Charge criada pelo PaymentIntent. O ID da Charge pode ser acessado no parâmetro latest_charge.

Como opção, você pode informar o ID do PaymentIntent à API Refunds em vez da Charge.

Tratamento de erros

Anteriormente, era preciso gerenciar erros no Sources. Com o PaymentIntents, em vez de verificar erros em uma Source, você verifica se há erros no PaymentIntent quando ele é criado e após o cliente autorizar o pagamento. A maioria dos erros no PaymentIntent é do tipo invalid_request_error, retornados em uma solicitação inválida.

Quando migrar sua integração, lembre-se de que os códigos de erro do PaymentIntent podem diferir dos códigos de erro correspondentes do Sources.

Webhooks

Se você escutou eventos do Source anteriormente, pode precisar atualizar sua integração para escutar novos tipos de eventos. A tabela a seguir mostra alguns exemplos.

Webhook antigoNovo webhook no CheckoutNovo webhook no PaymentIntentsInstruções especiais
source.chargeableNão se aplicaNão se aplica
source.failedNão se aplicaNão se aplica
source.canceledNão se aplicaNão se aplica
charge.succeededcheckout.session.completedpayment_intent.succeededO webhook charge.succeeded também é enviado, você não precisa atualizar a integração para escutar o novo webhook.
charge.failedNão se aplica. O cliente pode tentar fazer o pagamento novamente na mesma sessão do Checkout até que ela expire, momento em que você recebe um evento checkout.session.expired.payment_intent.payment_failedO webhook charge.failed também é enviado, você não precisa atualizar a integração para escutar o novo webhook.
charge.dispute.createdcharge.dispute.createdcharge.dispute.created

Migração para a API Payment Methods

A principal diferença entre as APIs Payment Methods e Sources é que a API Sources descreve o estado da transação usando a propriedade status. Isso significa que cada objeto Source deve mudar para um estado cobrável antes que você possa usaá-lo em um pagamento. Por outro lado, um PaymentMethod não tem estado e usa um objeto PaymentIntent para representar o estado do pagamento.

Observação

A tabela a seguir não é uma lista abrangente de formas de pagamento. Se você integra outras formas de pagamento com a API Sources, migre-as também para a API Payment Methods.

FluxosIntegrar Payment Methods com a API Payment IntentsTokens ou Sources com a API Charges
CartõesPagamentos com cartãoAceitos na API Tokens; não recomendado na API Sources
Débito automático ACHDébitos automáticos em conta bancária dos EUAAceito na API Tokens Não aceito na API Sources
Transferência de crédito ACHTransferências bancárias em USDDescontinuado
AlipayPagamentos com AlipayDescontinuado
BancontactPagamentos com BancontactDescontinuado
EPSPagamentos com EPSDescontinuado
giropaypagamentos com giropayDescontinuado
iDEALPagamentos com iDEALDescontinuado
KlarnaPagamentos com KlarnaDescontinuado
MultibancoPagamentos com MultibancoBeta descontinuado
Przelewy24Pagamentos com Przelewy24Descontinuado
Transferência de crédito SEPATransferências bancárias em EURDescontinuado
Débito automático SEPADébitos automáticos da Área Única de Payments em EurosDescontinuado
SofortPagamentos com SofortDescontinuado
WeChat PayPagamentos com WeChat PayDescontinuado

Depois de escolher a API para integrar, use o guia de formas de pagamento para determinar os tipos de pagamento que você precisa aceitar.

Este guia inclui descrições detalhadas de cada forma de pagamento e descreve as diferenças nos fluxos destinados aos clientes, além das regiões geográficas em que são mais relevantes. Você pode habilitar qualquer forma de pagamento disponível no Dashboard. A ativação geralmente é instantânea e não exige contratos adicionais.

Compatibilidade com formas de pagamento reutilizáveis antigas

Se você processou anteriormente qualquer uma das formas de pagamento reutilizáveis a seguir usando a Sources, as fontes salvas não migram automaticamente:

  • Alipay
  • Débito automático Bacs
  • Débito automático SEPA

Para preservar as formas de pagamento salvas dos clientes, converta essas fontes em formas de pagamento usando uma ferramenta de migração de dados no Stripe Dashboard. Para obter instruções de como convertê-las, consulte a página de suporte.

Compatibilidade com objetos de cartão antigos

Se você já coletou dados de pagamento de clientes de cartão na Stripe usando cartões ou a API Sources, pode começar a usar a API Payment Methods imediatamente, sem migrar nenhum dado de pagamento.

Os instrumentos de pagamento compatíveis que foram salvos em um Customer podem ser usados em qualquer API que aceita um objeto PaymentMethod. Por exemplo, você pode usar um cartão salvo como PaymentMethod durante a criação de um PaymentIntent:

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=card \ -d amount=1099 \ -d currency=usd \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{CARD_ID}}

Quando anexar o objeto a um PaymentIntent, lembre-se de informar o ID do cliente em que o instrumento de pagamento compatível foi salvo.

Você pode recuperar todos os instrumentos de pagamento compatíveis que estiverem salvos usando a API Payment Methods.

{ "id": "card_1EBXBSDuWL9wT9brGOaALeD2", "object": "card", "address_city": "San Francisco", "address_country": "US", "address_line1": "1234 Fake Street", "address_line1_check": null, "address_line2": null, "address_state": null, "address_zip": null,
{ "id": "card_1EBXBSDuWL9wT9brGOaALeD2", "object": "payment_method", "billing_details": { "address": { "city": "San Francisco", "country": "US", "line1": "1234 Fake Street", "line2": null, "postal_code": null,

Nenhum objeto é criado com essa compatibilidade. A API Payment Methods oferece uma visualização diferente do mesmo objeto associado. Por exemplo, as atualizações feitas em um instrumento de pagamento compatível pela API Payment Methods podem ser vistas na API Sources e vice-versa.

Veja também

  • Guia das formas de pagamento
  • Pagamentos com Connect
  • Referência da API Payment Methods
Esta página foi útil?
SimNão
Precisa de ajuda? Fale com o suporte.
Participe do nosso programa de acesso antecipado.
Confira nosso changelog.
Dúvidas? Fale com a equipe de vendas.
LLM? Read llms.txt.
Powered by Markdoc