Checkout para Pix
Exemplo de payload e fluxo de integração para criar um checkout avulso com pagamento via Pix, expiração e URLs de redirecionamento.
Crie um checkout avulso para receber um pagamento via Pix, definir quando o link expira e redirecionar o cliente de volta para o seu site.
Use este tipo de checkout quando você vende um produto ou serviço com pagamento único, como um curso, ingresso, pedido de e-commerce ou cobrança pontual. O cliente acessa o link do checkout, paga com Pix e retorna para a URL configurada conforme o resultado da jornada.
Antes de começar
- Defina as URLs do seu site para os cenários de sucesso, cancelamento e expiração.
- Liste os itens que serão cobrados, incluindo nome, quantidade e valor.
- Use
customerDatase quiser preencher os dados do cliente automaticamente durante a criação do checkout.
Fluxo de integração
- Monte o payload com
billingTypes,chargeTypes,minutesToExpire,callbackeitems. - Envie o payload no fluxo de criação de checkout da API.
- Depois que a API retornar o ID do checkout, use esse ID para exibir ou compartilhar o link de pagamento com o cliente.
- Direcione o cliente para o checkout para concluir o pagamento via Pix.
- Trate o retorno do cliente pela URL configurada em
successUrl,cancelUrlouexpiredUrl.
Exemplo de payload
Use este corpo JSON ao criar o checkout:
{
"billingTypes": ["PIX"],
"chargeTypes": ["DETACHED"],
"minutesToExpire": 60,
"callback": {
"cancelUrl": "https://meusite.com/cancelado",
"expiredUrl": "https://meusite.com/expirado",
"successUrl": "https://meusite.com/sucesso"
},
"items": [
{
"name": "Curso de Marketing",
"description": "Curso completo de marketing digital",
"quantity": 1,
"value": 297.00
}
]
}Esse payload cria um checkout com:
- Pagamento via Pix
- Cobrança avulsa com
chargeTypesdefinido comoDETACHED - Link válido por 60 minutos
- Produto chamado “Curso de Marketing” no valor de R$ 297,00
- Redirecionamento para seu site após sucesso, cancelamento ou expiração
Parâmetros principais
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
billingTypes | array de strings | Sim | Define os meios de pagamento aceitos no checkout. Use ["PIX"] para aceitar Pix. |
chargeTypes | array de strings | Sim | Define o tipo de cobrança. Use ["DETACHED"] para uma cobrança avulsa. |
minutesToExpire | número | Sim | Define por quantos minutos o link do checkout permanece válido. No exemplo, 60 equivale a 1 hora. |
callback | objeto | Sim, quando você precisa redirecionar o cliente | Agrupa as URLs para onde o cliente será enviado após sucesso, cancelamento ou expiração. |
callback.cancelUrl | string | Sim, dentro de callback | URL para redirecionar o cliente quando ele cancelar ou abandonar a jornada pelo fluxo de cancelamento. |
callback.expiredUrl | string | Sim, dentro de callback | URL para redirecionar o cliente quando o link do checkout estiver expirado. |
callback.successUrl | string | Sim, dentro de callback | URL para redirecionar o cliente após a conclusão bem-sucedida do checkout. |
items | array de objetos | Sim | Define o que você está vendendo. Inclua pelo menos um item. |
items[].name | string | Sim | Nome do produto ou serviço exibido no checkout. |
items[].description | string | Não | Descrição complementar do item. |
items[].quantity | número | Sim | Quantidade do item vendido. |
items[].value | número | Sim | Valor unitário do item em reais. No exemplo, 297.00 representa R$ 297,00. |
Comportamentos importantes
- O link deixa de ser válido após o período definido em
minutesToExpire. - Se o cliente acessar um checkout expirado, use
expiredUrlpara explicar o próximo passo, como gerar um novo checkout. - Se o cliente cancelar a jornada, use
cancelUrlpara permitir que ele tente novamente ou volte ao carrinho. - Se o checkout for concluído com sucesso, use
successUrlpara mostrar a confirmação do pedido ou instruções pós-pagamento.
Não use este payload para assinatura ou parcelamento sem incluir os campos específicos desses tipos de checkout. Para recorrência, use o tipo de cobrança adequado descrito na página de assinatura.
Boas práticas
- Crie páginas de retorno claras para
successUrl,cancelUrleexpiredUrl, informando o estado da compra e a próxima ação do cliente. - Valide se todos os itens têm
name,quantityevalueantes de enviar o payload. - Use valores consistentes com o carrinho ou pedido salvo no seu sistema para evitar divergência entre o checkout e a venda.
- Gere um novo checkout quando o link expirar, em vez de reutilizar um link antigo.
- Não dependa apenas do redirecionamento do navegador para conciliar pedidos; trate também os eventos e confirmações do seu fluxo de pagamento.
Próximos passos
- Consulte Link do checkout e redirecionamento do cliente para saber como usar o ID retornado pela API.
- Consulte Como informar os dados do cliente para preencher o checkout com
customerData. - Consulte Checkout com Assinatura (recorrente) se a cobrança deve se repetir ao longo do tempo.
- Consulte Checkout para Cartão de Crédito se você também precisa aceitar cartão.
