Skip to main content
POST
/
v1
/
checkouts
cURL
curl -X POST https://api.troqpay.com/v1/checkouts \
  -H "Authorization: Bearer trq_test_8b3c1d5e6f2a9b0c1d4a8b3c" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order_1001" \
  -d '{
    "amount": 12990,
    "description": "Plano Pro",
    "externalId": "order_1001",
    "expiresIn": 1800,
    "customer": {
      "name": "Maria Silva",
      "email": "maria@example.com"
    },
    "metadata": {
      "plan": "pro"
    }
  }'
{
  "id": "chk_4a8b3c1d5e6f2a9b0c1d",
  "livemode": false,
  "status": "PENDING",
  "amount": 12990,
  "currency": "BRL",
  "checkoutUrl": "https://pay.troqpay.com/pay/chk_4a8b3c1d5e6f2a9b0c1d",
  "createdAt": "2023-11-07T05:31:56Z",
  "expiresAt": "2023-11-07T05:31:56Z",
  "pix": {
    "copyPaste": "00020101021226840014br.gov.bcb.pix...",
    "qrCodeUrl": "https://api.troqpay.com/qrcode/chk_4a8b3c1d5e6f2a9b0c1d.png"
  },
  "settlement": {
    "currency": "BRL",
    "status": "PENDING",
    "amount": "129.90"
  },
  "metadata": {},
  "description": "Plano Pro",
  "externalId": "order_1001",
  "paidAt": "2023-11-07T05:31:56Z",
  "customer": {
    "name": "Maria Silva",
    "email": "maria@example.com",
    "document": "12345678900"
  }
}

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.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

Chave de idempotência opcional. A API normaliza o corpo da requisição com uma serialização JSON estável e key-sorted, então reordenar chaves equivale ao mesmo corpo. O valor é trimado; uma string vazia após o trim equivale a não enviar a chave (sem erro, mas sem deduplicação). A chave permanece associada ao recurso indefinidamente — não há expiração. Primeira criação devolve 201; reentrega idempotente devolve 200.

Example:

"order_1001"

Request-Id
string

Identificador opcional fornecido pelo cliente para correlação. A API aceita também X-Request-Id. O valor é ecoado de volta no header de resposta Request-Id. Se nenhum dos dois é enviado, a API gera req_<24 hex>.

Example:

"req_4a8b3c1d5e6f2a9b0c1d2e3f"

Body

application/json

Payload para criação de um checkout Pix.

amount
integer
required

Valor em centavos de BRL.

Required range: x >= 1
Example:

12990

currency
enum<string>
default:BRL

Moeda da cobrança. Hoje, sempre BRL.

Available options:
BRL
description
string

Texto livre de 1 a 255 caracteres para identificar a cobrança.

Required string length: 1 - 255
Example:

"Plano Pro"

externalId
string

Identificador do pedido no seu sistema, 1 a 255 caracteres.

Required string length: 1 - 255
Example:

"order_1001"

expiresIn
integer
default:1800

Tempo de expiração da cobrança em segundos. Entre 60 e 86400. O padrão é 1800 (30 minutos).

Required range: 60 <= x <= 86400
Example:

1800

customer
object

Dados do comprador no envio do checkout. Quando enviado, é obrigatório informar name e pelo menos um de email, document ou phone.

metadata
object

Pares chave-valor livres. Apenas valores string são aceitos.

Example:
{ "plan": "pro" }

Response

Resposta idempotente: a mesma Idempotency-Key foi usada com o mesmo corpo. A API devolve o checkout já existente em vez de criar um novo.

Objeto principal da API de cobranças. Reúne os dados da cobrança Pix, do pagamento e da liquidação.

id
string
required

Identificador técnico do checkout. Formato chk_ + 20 caracteres hex.

Example:

"chk_4a8b3c1d5e6f2a9b0c1d"

livemode
boolean
required

true para chaves trq_live_; false para trq_test_.

Example:

false

status
enum<string>
required

Estado atual da cobrança.

Available options:
PENDING,
PAID,
EXPIRED,
CANCELLED
amount
integer
required

Valor da cobrança em centavos de BRL.

Example:

12990

currency
enum<string>
required

Moeda da cobrança. Hoje, sempre BRL.

Available options:
BRL
Example:

"BRL"

checkoutUrl
string<uri>
required

URL canônica do checkout hospedado pela troqpay (/pay/{checkoutId}).

Example:

"https://pay.troqpay.com/pay/chk_4a8b3c1d5e6f2a9b0c1d"

createdAt
string<date-time>
required

Quando o checkout foi criado.

expiresAt
string<date-time>
required

Quando o checkout expira (se ainda não foi pago).

pix
object
required

Dados necessários para exibir o Pix ao comprador.

settlement
object
required

Dados da liquidação do checkout, em BRL.

metadata
object
required

Os pares chave-valor que você enviou. Pode ser {} se nenhum foi enviado.

description
string | null

O texto livre que você enviou na criação.

Example:

"Plano Pro"

externalId
string | null

O ID do pedido no seu sistema.

Example:

"order_1001"

paidAt
string<date-time> | null

Preenchido quando status muda para PAID.

customer
object

Dados do comprador. O campo phone aceito no envio não é retornado aqui.