Você tem interesse em usar o Stripe Billing, Tax, descontos, envio ou conversão de moedas?
Estamos desenvolvendo uma integração do Payment Element que gerencia assinaturas, impostos, descontos, envio e conversão de moedas. Leia o guia Criação de uma página de checkout para saber mais.
Saiba como migrar seus cartões e a integração da API Charges.
A migração do fluxo de pagamentos pode ser complexa. A adoção incremental da API Payment Intents, em paralelo com o uso da API Charges, é segura. Para fazer isso, divida a migração nas seguintes etapas:
Se for o caso, migre o código que lê propriedades do objeto Charges para ter um caminho de leitura consistente para cobranças criadas pelas APIs Charges e Payment Intents. Isso garante uma integração de leitura compatível com a integração de pagamentos antiga e a atual.
Migre a integração existente da API Charges na web, no iOS e no Android para usar a API Payment Intents.
Atualizar a versão da API e a biblioteca do cliente
A API Payment Intents funciona com todas as versões de API, mas recomendamos que você atualize a API para a versão mais recente. Para usar uma versão de API anterior à 2019-02-11, tenha em mente estas duas mudanças quando examinar os exemplos de código:
requires_source mudou para requires_payment_method
requires_source_action mudou para requires_action
Além disso, se você usa uma das nossas bibliotecas de cliente, atualize para a versão mais recente da biblioteca para usar a API Payment Intents.
Migre seus fluxos de pagamentos avulsos
Estas são as etapas de uma integração criada com Stripe.js e Elements:
Registrar sua intenção de coletar pagamentos no lado do servidor
Coletar dados de pagamento no lado do cliente
Iniciar a criação do pagamento
Executar o pedido do cliente no lado do servidor
Etapa 1: registrar sua intenção de coletar pagamentos no lado do servidor
Etapa 2: coletar dados de pagamento no lado do cliente
Use a função confirmCardPayment, que coleta os dados de pagamento e os envia diretamente à Stripe.
Antes
Depois
stripe.createToken(
cardElement
).then(function(token){// Send token to server});
stripe.confirmCardPayment(INTENT_SECRET_FROM_STEP_1,{
payment_method:{card: cardElement}}).then(function(result){if(result.error){// Display error.message in your UI.}else{// The payment has succeeded// Display a success message}});
Etapa 3: iniciar a criação do pagamento
Na integração existente, a última etapa é usar dados de pagamento tokenizados para criar uma cobrança no seu servidor. Isso não é mais necessário, pois a função confirmCardPayment, chamada na etapa anterior, inicia a criação da cobrança.
Com a confirmação automática, a cobrança é criada para você de forma assíncrona a partir da ação do cliente, por isso, você deve monitorar os webhooks para determinar quando o pagamento é concluído corretamente. Para realizar etapas como processamento de pedido após o pagamento bem-sucedido de um cliente, implemente a compatibilidade com webhooks e monitore o evento payment_intent.succeeded.
Antes
Depois
Se a cobrança for bem-sucedida, faça o processamento.
Assine o webhook payment_intent.succeeded e processe no gerenciador de webhooks.
Agora que você fez a migração, use os cartões de teste na seção a seguir para verificar se a sua integração atualizada gerencia autenticação 3D Secure.
Migre sua integração que salva cartões em objetos Customer
Uma integração da API Payment Intents que coleta dados de cartão no fluxo de checkout consiste nas seguintes etapas:
Registrar sua intenção de coletar pagamentos no lado do servidor
Coletar dados de pagamento no lado do cliente
Iniciar a criação do pagamento
Executar o pedido do cliente no lado do servidor
Etapa 1: registrar sua intenção de coletar pagamentos no lado do servidor
Crie um PaymentIntent no seu servidor. Defina setup_future_usage como off_session se pretender cobrar os usuários quando estiverem fora do seu aplicativo ou on_session se planejar cobrá-los no aplicativo. Se planejar usar o cartão para pagamentos na sessão e fora dela, use off_session. Informar o parâmetro setup_future_usage junto com o ID do cliente salvará o PaymentMethod resultante para esse cliente após a confirmação do PaymentIntent e a conclusão de todas as ações necessárias pelo cliente. Em seguida, torne o PaymentIntent acessível no lado do cliente.
Etapa 2: coletar dados de pagamento no lado do cliente
Use a função confirmCardPayment, que coleta os dados de pagamento e os envia diretamente à Stripe.
Antes
Depois
stripe.createToken(// or stripe.createSource
cardElement
).then(function(token){// Send token to server});
stripe.confirmCardPayment('{{INTENT_SECRET_FROM_STEP_1}}',{
payment_method:{card: cardElement},}).then(function(result){if(result.error){// Display error.message in your UI.}else{// The payment has succeeded// Display a success message}});
Por último, vincule a forma de pagamento (paymentIntent.payment_method) ao cliente.
Na integração existente, a última etapa é usar dados de pagamento tokenizados para criar uma cobrança no seu servidor. Isso não é mais necessário, pois a função confirmCardPayment, chamada na etapa anterior, inicia a criação da cobrança.
Com a confirmação automática, a cobrança é criada para você de forma assíncrona a partir da ação do cliente, por isso, você deve monitorar os webhooks para determinar quando o pagamento é concluído corretamente. Para realizar etapas como processamento de pedido após o pagamento bem-sucedido de um cliente, implemente a compatibilidade com webhooks e monitore o evento payment_intent.succeeded.
Antes
Depois
Se a cobrança for bem-sucedida, faça o processamento.
Assine o webhook payment_intent.succeeded e processe no gerenciador de webhooks.
Agora que você fez a migração, use os cartões de teste na seção a seguir para verificar se a sua integração atualizada gerencia autenticação 3D Secure.
Acessar formas de pagamento salvas
Para exibir cartões, fontes e formas de pagamento previamente salvas do cliente, liste as formas de pagamento em vez de ler a propriedade sources do objeto do cliente. Isso é necessário porque PaymentMethods adicionados a um cliente não serão mostrados na propriedade sources do objeto do cliente.
É importante testar completamente a integração para garantir o tratamento correto de cartões que exigem autenticação adicional e os que não exigem essa autenticação. Use estes números de cartão no modo de teste com uma data de validade no futuro e qualquer código CVC de três dígitos para validar a integração desses dois tipos de cartão.
Número
Autenticação
Descrição
Exigido na configuração ou primeira transação
Este cartão de teste exige autenticação para pagamentos avulsos. No entanto, quando você configura esse cartão usando a API Setup Intents e usa o cartão salvo para os próximos pagamentos, nenhuma autenticação adicional é necessária.
Obrigatório
Este cartão de teste exige autenticação em todas as transações.
Obrigatório
Este cartão de teste exige autenticação, mas os pagamentos serão recusados com o código insufficient_funds depois da autenticação.
Compatível
Este cartão de teste aceita a autenticação 3D Secure 2, mas ela não é obrigatória. Os pagamentos que usam este cartão não exigem autenticação adicional no modo de teste, exceto quando as regras do Radar no modo de teste solicitam autenticação.
Welcome to the Stripe Shell!
Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your
Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe
resources in test mode.
- View supported Stripe commands:
- Find webhook events:
- Listen for webhook events:
- Call Stripe APIs: stripe [api resource] [operation] (e.g., )
O Stripe Shell oferece uma melhor experiência em desktops.