Crie uma página de checkout personalizada que inclui o Link
Integre o Link usando o Payment Element ou o Link Authentication Element.
Este guia demonstra como aceitar pagamentos com o Link usando a API Payment Intents e o Payment Element ou o Link Authentication Element.
Há três maneiras de obter o endereço de e-mail de um cliente para autenticação e inscrição no Link:
- Passar um endereço de e-mail: você pode passar um endereço de e-mail para o Payment Element usando defaultValues. Se você já está coletando o endereço de e-mail e/ou o número de telefone do cliente no fluxo de checkout, recomendamos esta abordagem.
- Coletar um endereço de e-mail: você pode coletar um endereço de e-mail diretamente no Payment Element. Se você não coleta o endereço de e-mail em nenhum lugar do fluxo de checkout, recomendamos esta abordagem.
- Link Authentication Element: você pode usar o Link Authentication Element para criar um único campo de entrada de e-mail para coleta de e-mail e autenticação do Link. Recomendamos fazer isso se você usar o Address Element.

Coletar um endereço de e-mail do cliente para autenticação ou inscrição no Link
Configurar a StripeLado do servidor
Primeiro, crie uma conta Stripe ou entre.
Use nossas bibliotecas oficiais para acessar a API da Stripe no seu aplicativo:
Criar um PaymentIntentLado do servidor
A Stripe usa um objeto PaymentIntent para representar sua intenção de coletar o pagamento de um cliente, acompanhando suas tentativas de cobrança e alterações no estado do pagamento durante todo o processo.
Se você coleta dados de cartão para uso futuro com Setup Intents, liste as formas de pagamento manualmente em vez de usar formas de pagamento dinâmicas. Para usar o Link sem formas de pagamento dinâmicas, atualize sua integração para passar link
para payment_
.
Ao criar uma PaymentIntent, ofereça dinamicamente aos clientes as formas de pagamento mais relevantes, incluindo o Link, usando formas de pagamento dinâmicas. Para usar formas de pagamento dinâmicas, não inclua o parâmetro payment_
. Opcionalmente, você também pode habilitar automatic_
.
Observação
Quando sua integração não define o parâmetro payment_
, algumas formas de pagamento são ativadas automaticamente, incluindo cartões e carteiras.
Para adicionar o Link à sua integração do Elements usando formas de pagamento dinâmicas:
- Nas configurações de forma de pagamento do Dashboard, ative o Link.
- Se você tiver uma integração existente que lista manualmente as formas de pagamento, remova o parâmetro payment_method_types da integração.
Recuperar o segredo do cliente
O PaymentIntent inclui um segredo do cliente que o lado do cliente usa para concluir com segurança o processo de pagamento. Você pode usar abordagens diferentes para enviar a senha do cliente ao lado do cliente.
Coletar e-mail do cliente
O Link autentica um cliente usando o endereço de e-mail dele. Dependendo do seu fluxo de checkout, você tem as seguintes opções: passar um e-mail para o Payment Element, coletá-lo diretamente no Payment Element ou usar o Link Authentication Element. A Stripe recomenda passar um endereço de e-mail do cliente para o Payment Element, se disponível.
Configurar o formulário de pagamentoLado do cliente
Agora está tudo pronto para configurar o formulário de pagamento personalizado com os componentes de IU pré-incorporados do Elements. Para que sua integração funcione, o endereço da página de pagamento deve começar com https://
em vez de http://
. Você pode testar sua integração sem usar HTTPS. Habilite HTTPS quando estiver pronto para aceitar pagamentos em tempo real.
Enviar o pagamento para a StripeLado do cliente
Use stripe.confirmPayment para concluir o pagamento com os dados coletados do seu cliente nos diferentes formulários do Elements. Forneça um return_url a essa função para indicar para onde Stripe redireciona o usuário após a conclusão do pagamento.
Seu usuário pode ser redirecionado primeiro para um site intermediário, como uma página de autorização bancária, antes de a Stripe redirecioná-lo para o return_
.
Por padrão, pagamentos por cartão e bancos são redirecionados imediatamente para o return_
quando um pagamento é finalizado. Se não quiser redirecionar para o return_
, você pode usar if_required para alterar o comportamento.
O return_
corresponde a uma página no seu site que informa o status do pagamento do PaymentIntent
quando você renderiza a página de retorno. Quando a Stripe redireciona o cliente para o return_
, você pode usar os parâmetros de consulta de URL a seguir para verificar o status do pagamento. Você também pode anexar seus próprios parâmetros de consulta ao fornecer o return_
. Esses parâmetros de consulta permanecem por meio do processo de redirecionamento.
Parâmetro | Descrição |
---|---|
payment_ | O identificador único do PaymentIntent |
payment_ | O segredo do cliente do objeto PaymentIntent . |
Gerenciar eventos pós-pagamentoLado do servidor
A Stripe envia um evento payment_intent.succeeded quando o pagamento é concluído. Use um webhook para receber esses eventos e executar ações, como enviar um e-mail de confirmação de pedido ao cliente, registrar a venda em um banco de dados ou iniciar um fluxo de trabalho de entrega.
Configure sua integração para escutar esses eventos em vez de aguardar um retorno de chamada do cliente. Quando você aguarda um retorno de chamada do cliente, ele pode fechar a janela do navegador ou sair do aplicativo antes da execução do retorno de chamada. Configurar sua integração para escutar eventos assíncronos permite aceitar diferentes tipos de formas de pagamento com uma única integração.
Além de gerenciar o evento payment_
, você também pode gerenciar dois outros eventos importantes ao coletar pagamentos com o Payment Element:
Evento | Descrição | Ação |
---|---|---|
payment_intent.succeeded | Enviado da Stripe quando um cliente conclui um pagamento. | Envie ao cliente uma confirmação de pedido e execute o pedido. |
payment_intent.payment_failed | Enviado da Stripe quando um cliente tenta realizar um pagamento, mas o pagamento não é bem-sucedido. | Se um pagamento passou de processing para payment_ , ofereça ao cliente outra tentativa para pagar. |
Teste a integração
Cuidado
Não armazene dados reais de usuários em contas do Link da área restrita. Trate-as como se estivessem disponíveis publicamente, pois essas contas de teste estão associadas à sua chave publicável.
No momento, o Link só funciona com cartões de crédito, cartões de débito e compras qualificadas de contas bancárias dos EUA. O Link requer registro de domínio.
Você pode criar contas de área restrita para o Link usando qualquer endereço de e-mail válido. A tabela a seguir mostra os valores fixos de senha de uso único que a Stripe aceita para autenticar contas de área restrita:
Valor | Resultado |
---|---|
Quaisquer outros 6 dígitos não listados abaixo | Sucesso |
000001 | Erro, código inválido |
000002 | Erro, código expirado |
000003 | Erro, número máximo de tentativas excedido |
Para testar formas de pagamento específicas, consulte os exemplos de teste do Element Pagamento.
Várias fontes de fundos
À medida que a Stripe adiciona outras fontes de financiamento, você não precisa atualizar sua integração. A Stripe aceita essas fontes automaticamente com o mesmo tempo de liquidação de fundos da transação e com as mesmas garantias dos pagamentos com cartão e conta bancária.
Autenticação de cartões e 3D Secure
O Link aceita autenticação 3D Secure 2 (3DS2) para pagamentos com cartão. O 3DS2 exige que os clientes realizem uma etapa de verificação adicional com o emissor do cartão ao pagar. Os pagamentos autenticados com êxito por 3D Secure estão cobertos por uma transferência de responsabilidade.
Para acionar os fluxos de desafio de autenticação do 3DS2 com o Link em uma área restrita, use o seguinte cartão de teste com qualquer CVC, código postal e data de validade futura: .
Em uma área restrita, o processo de autenticação exibe uma página de autenticação fictícia. Nessa página, você pode autorizar ou cancelar o pagamento. A autorização do pagamento simula a autenticação bem-sucedida e redireciona você para o URL de retorno especificado. Clicar no botão Falha simula um erro na autenticação.
Para obter mais detalhes, consulte a página de autenticação de 3D Secure.
Observação
Ao testar fluxos do 3DS, somente cartões de teste para 3DS2 acionarão a autenticação no Link.
Divulgue a Stripe para seus clientes
A Stripe coleta informações sobre interações do cliente com o Elements para fornecer serviços a você, evitar fraudes e melhorar os serviços. Isso inclui o uso de cookies e endereços IP para identificar quais Elements o cliente visualizou durante uma única sessão de checkout. Você é responsável por divulgar e obter todos os direitos e consentimentos necessários para que a Stripe use os dados dessas maneiras. Para saber mais, acesse nossa central de privacidade.