Skip to main content

Visão Geral

Checkout Sessions permitem criar links de pagamento programaticamente com controle total sobre a experiência do cliente. É a forma mais flexível de integrar pagamentos da Garu ao seu sistema. Quando usar Checkout Sessions:
CenárioSolução
E-commerce com carrinhoCheckout Sessions
Pré-preencher dados do clienteCheckout Sessions
Correlacionar com pedidos internosCheckout Sessions
Link simples para compartilharLink de Pagamento direto
Venda rápida sem integraçãoLink de Pagamento direto
Pré-requisito: Você precisa de uma chave de API. Veja como obter em Autenticação.

Por que usar Checkout Sessions?

1. Pré-preenchimento de Dados

Com Checkout Sessions, você pode enviar dados do cliente que já possui, reduzindo o atrito no checkout:
O cliente verá o formulário já preenchido, precisando apenas confirmar e pagar.

2. Correlação com seu Sistema

Use metadata e client_reference_id para vincular o pagamento aos seus pedidos:
Esses dados são retornados nos webhooks, facilitando a automação.

3. Controle de Expiração

Sessions expiram automaticamente após 24 horas, mas você pode:
  • Definir expiração personalizada com expires_at
  • Expirar manualmente uma session aberta
  • Receber webhook quando uma session expira

4. Idempotência

Evite sessions duplicadas em caso de retry usando X-Idempotency-Key:

Fluxo de Integração

Ciclo de Vida da Session

StatusDescrição
openSession criada, aguardando pagamento
completePagamento confirmado, transação criada
expiredExpirou sem pagamento (após 24h ou manualmente)

Passo a Passo: Integração Completa

1. Criar o Produto

Primeiro, crie um produto que será vendido. Veja o guia de Criação de Produtos.
Anote o id do produto retornado.

2. Criar Checkout Session

Quando o cliente iniciar o checkout no seu sistema:
Resposta:

3. Redirecionar o Cliente

Envie o cliente para a URL retornada:

4. Receber Webhook

Configure seu endpoint para receber notificações. Veja a documentação de Webhooks.

5. Verificar Status (Opcional)

Se precisar verificar o status de uma session:

Checkout Sessions para Assinaturas

Para criar uma session de assinatura, inclua o price_id:
O price_id é obtido ao criar um preço de assinatura.

Restringindo Métodos de Pagamento

Por padrão, todos os métodos de pagamento do produto são exibidos. Para restringir:
Valores aceitos: pix, creditCard, boleto

Boas Práticas

Sempre Use Idempotency Keys

Evite sessions duplicadas em caso de falha de rede:

Armazene o Session ID

Salve o id da session para consultas futuras:

Use Metadata para Correlação

Inclua todos os dados necessários para processar o pedido:

Trate Expirações

Sessions expiram após 24 horas. Trate isso na sua aplicação:

Exemplo Completo

Se você usa links diretos (/product-slug), migrar para Checkout Sessions oferece mais controle: Antes (Link Direto):
Depois (Checkout Session):
Benefícios:
  • Pré-preenchimento completo de dados
  • Metadados para correlação
  • Webhooks estruturados
  • Idempotência
  • Controle de expiração

Próximos Passos

Criar Session

Referência da API de criação

Listar Sessions

Consulte suas sessions

Webhooks

Configure notificações

Assinaturas

Cobrança recorrente