Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.troqpay.com/llms.txt

Use this file to discover all available pages before exploring further.

Checkouts Pix

Quando você cria um checkout, a troqpay te devolve tudo o que você precisa para cobrar com Pix e acompanhar a cobrança depois. Se você entender bem esse objeto, o resto da integração fica muito mais simples. É nele que você encontra:
  • o valor cobrado em BRL
  • os dados do Pix para o comprador
  • o status da cobrança
  • os metadados do seu pedido
  • o objeto settlement com a liquidação em BRL

O que um checkout resolve

Cobrança

Você cria a cobrança em BRL e recebe os dados necessários para exibir o Pix.

Conciliação

Você usa id, externalId e metadata para ligar a cobrança ao seu sistema.

Acompanhamento

Você acompanha o status por webhook e pode consultar a API depois, se quiser confirmar o estado da cobrança.

Liquidação

O objeto settlement mostra a moeda (BRL), o status e o valor da liquidação. Saques usam um fluxo próprio em produção.

O que você normalmente salva

checkout.id

É o identificador técnico da cobrança e o melhor ponto de consulta pelo backend.

externalId

Use para ligar o checkout ao pedido, matrícula, assinatura ou venda do seu sistema.

amount e currency

Eles te ajudam a validar se a cobrança criada bate com o que o comprador deveria pagar.

livemode

Use para não misturar teste e produção em logs, filas e relatórios.

O que mostrar para o comprador

CampoQuando usar
pix.copyPasteQuando seu fluxo tem botão de copia e cola
pix.qrCodeUrlQuando você quer renderizar o QR Code direto na sua interface
checkoutUrlQuando faz mais sentido enviar o comprador para um checkout hospedado

Campos mais importantes ao criar um checkout

CampoTipoObrigatórioO que significa
amountinteirosimValor em centavos de BRL. Mínimo 1.
currency"BRL"nãoSempre BRL. Padrão BRL.
descriptionstringnãoTexto livre, 1-255 caracteres.
externalIdstringnãoID do pedido no seu sistema, 1-255 caracteres.
expiresIninteironãoTempo de expiração em segundos. Entre 60 e 86400. Padrão 1800 (30 minutos).
customerobjetonãoDados do comprador (veja abaixo).
metadataobjetonãoPares chave-valor livres. Apenas valores string.

Customer (campos de comprador)

O objeto customer é opcional. Quando você envia, é obrigatório informar name e pelo menos um de email, document ou phone.
CampoTipoRestrição
namestring1-200 caracteres, sempre obrigatório quando customer é enviado
emailstringformato de e-mail
documentstring3-32 caracteres. Não valida CPF/CNPJ — qualquer string nesse intervalo é aceita
phonestring8-32 caracteres
phone é aceito no envio mas não volta na resposta do checkout (nem no payload do webhook). Se você precisa do telefone do comprador no seu sistema, salve-o do seu lado antes de criar o checkout.

Resposta do checkout

CampoTipoO que significa
idstringchk_ + 20 caracteres hex
livemodebooleantrue para chaves trq_live_; false para trq_test_
statusstringPENDING, PAID, EXPIRED ou CANCELLED
amountinteiroValor em centavos de BRL
currencystringSempre BRL
descriptionstring | nullO texto livre que você enviou
externalIdstring | nullO ID do seu pedido
checkoutUrlstringURL hospedada https://pay.troqpay.com/pay/{id}
createdAtISO 8601Quando o checkout foi criado
expiresAtISO 8601Quando ele expira (se ainda não foi pago)
paidAtISO 8601 | nullPreenchido quando o status muda para PAID
customerobjeto | null{ name, email, document } — sem phone
pixobjeto{ copyPaste, qrCodeUrl }
settlementobjeto{ currency, status, amount }amount é string decimal em BRL ou null quando ainda não liquidado
metadataobjetoOs pares chave-valor que você enviou

Códigos de criação

A criação de checkout devolve dois status diferentes dependendo do contexto:
  • 201 Created — primeira vez que essa requisição é processada
  • 200 OK — reentrega idempotente (mesma Idempotency-Key, mesmo corpo)
Trate ambos como sucesso. O corpo é igual.

Ciclo de vida do checkout

StatusO que quer dizer
PENDINGA cobrança foi criada e está aguardando pagamento
PAIDO pagamento Pix foi confirmado
EXPIREDO prazo terminou sem pagamento
CANCELLEDO checkout foi cancelado

Fluxo recomendado de integração

1

Criar o checkout no backend

Gere a cobrança no seu servidor e salve checkout.id junto do seu identificador interno.
2

Exibir o Pix para o comprador

Use o QR Code, o copia e cola ou o checkout hospedado, dependendo do fluxo do seu produto.
3

Processar os webhooks

Trate checkout.paid como o evento que confirma o pagamento no seu sistema.
4

Consultar quando precisar confirmar

Se você quiser conferir o estado mais recente da cobrança, consulte GET /v1/checkouts/{checkoutId}.

Quando usar consulta e quando usar webhook

É o melhor caminho para atualizar pedido, liberar acesso e registrar pagamento em tempo real.
A consulta é ótima para investigar casos pontuais e ler o estado atual do checkout.
O estado final da cobrança deve ser confirmado no seu backend, nunca apenas pelo front-end.

Próximos passos

Precisa de ajuda para seguir?

Boas práticas

Veja o que vale a pena salvar, monitorar e revisar antes de crescer o uso.

Revisar erros

Use essa página quando a API rejeitar um payload ou um status não bater com o esperado.

Abrir o app

Gere chaves, acompanhe sua conta e mantenha o ambiente sob controle.