Crie um formulário de pagamento ou use uma página de checkout pré-integrada para começar a aceitar pagamentos online.
Crie uma página de checkout no seu site usando o Stripe Elements e a Checkout Sessions, uma integração que gerencia impostos, descontos, tarifas de envio e muito mais.
Localização do cliente
Tamanho
Tema
Layout
Esta demonstração só exibe o Google Pay ou Apple Pay se você tiver um cartão ativo com qualquer uma das carteiras.
Antes de começar, você precisa se cadastrar para uma conta Stripe.
Use as bibliotecas Stripe oficiais para acessar o API do seu aplicativo.
Command Line
Node
Ruby
PHP
Python
Go
.NET
Java
No results
npm install stripe@18.0.0 --save
Configure o SDK para usar pelo menos a versão de API 2025-03-31.basil.
TypeScript
Node
Ruby
PHP
Python
Go
.NET
Java
No results
// Set your secret key. Remember to switch to your live secret key in production.// See your keys here: https://dashboard.stripe.com/apikeysimport Stripe from'stripe';const stripe =newStripe(
Adicione um endpoint ao seu servidor que cria uma sessão do Checkout e retorna seu segredo do cliente para o frontend. Uma sessão do Checkout representa a sessão do seu cliente enquanto ele paga por compras ou assinaturas avulsas. As sessões do Checkout expiram 24 horas após a criação.
server.ts
TypeScript
Node
Ruby
PHP
Python
Go
.NET
Java
No results
import express,{Express}from'express';const app: Express =express();
app.post('/create-checkout-session',async(req: Express.Request, res: Express.Response)=>{const session =await stripe.checkout.sessions.create({
line_items:[{
price_data:{
currency:'usd',
product_data:{
name:'T-shirt',},
unit_amount:2000,},
quantity:1,},],
mode:'payment',
ui_mode:'custom',// The URL of your payment completion page
return_url:'https://example.com/return?session_id={CHECKOUT_SESSION_ID}'});
res.json({checkoutSessionClientSecret: session.client_secret});});
app.listen(3000,()=>{
console.log('Running on port 3000');});
Inclua o script Stripe.js na página de checkout, adicionando-o ao head do seu arquivo HTML. Sempre carregue o Stripe.js diretamente a partir do js.stripe.com para manter a conformidade com PCI. Não insira o script em um pacote nem hospede sua própria cópia.
Você precisará atualizar o Stripe.js da v3 para basil, incluindo a seguinte tag de script <script src="https://js.stripe.com/basil/stripe.js"></script>. Saiba mais sobre o controle de versões do Stripe.js.
A Stripe fornece um pacote npm que você pode usar para carregar o Stripe.js como um módulo. Veja o projeto no GitHub. A versão 7.0.0 ou posterior é necessária.
Inicialize o Stripe.js.
checkout.js
// Set your publishable key: remember to change this to your live publishable key in production// See your keys here: https://dashboard.stripe.com/apikeysconst stripe =Stripe(
Crie uma função fetchClientSecret. Essa função recupera o segredo do cliente do seu servidor e retorna uma promessa que é resolvida com o segredo do cliente. Chame initCheckout, passando fetchClientSecret. initCheckout retorna uma resolução de promessa para uma instância do checkout.
O objeto checkout funciona como a base da página de checkout, contendo dados da sessão do Checkout e métodos para atualizar a sessão.
O objeto retornado por checkout.session() contém os dados de preço. Recomendamos ler e exibir total e lineItems da sessão na IU.
Isso permite ativar novos recursos com alterações mínimas no código. Por exemplo, a adição de preços manuais de moedas não exige alterações na IU se você exibir o total.
Crie uma entrada de e-mail para coletar o endereço de e-mail do cliente. Chame updateEmail quando o cliente terminar a entrada para validar e salvar o endereço de e-mail.
Dependendo do design do seu formulário de checkout, você pode chamar updateEmail das seguintes maneiras:
Diretamente antes de enviar o pagamento. Você também pode chamar updateEmail para antecipar a validação, como no desfoque de entrada.
Antes de passar para a próxima etapa, como clicar em um botão Salvar, se o formulário incluir várias etapas.
Colete dados de pagamento no cliente com o Payment Element. O Payment Element é um componente de IU que simplifica a coleta de dados de pagamento para uma ampla variedade de formas de pagamento.
Primeiro, crie um elemento DOM de contêiner para montar o Payment Element. Em seguida, crie uma instância do Payment Element usando checkout.createPaymentElement e monte-a chamando element.mount, fornecendo um seletor CSS ou o elemento DOM do contêiner.
Preencha os dados de pagamento com uma forma de pagamento da tabela a seguir. Para pagamentos com cartão:
Informe uma data futura qualquer como validade do cartão.
Informe qualquer número de 3 dígitos como CVC.
Informe qualquer código postal de cobrança.
Envie o pagamento para a Stripe.
Acesse o Dashboard e procure o pagamento na página Transações. Se o seu pagamento for bem-sucedido, ele aparecerá na lista.
Clique no pagamento para ver mais detalhes, como dados de cobrança e a lista de itens comprados. Você pode usar essas informações para executar o pedido.
Número do cartão
Cenário
Como testar
O pagamento com cartão é bem-sucedido e não precisa de autenticação.
Preencha o formulário do cartão de crédito usando o número do cartão de crédito com qualquer validade, CVC e código postal.