Criar uma cobrança.
Cria uma cobrança usando um meio de pagamento tokenizado, PIX ou boleto. Para cobranças no cartão, use capture_method=automatic para pagar na hora ou capture_method=manual para autorizar agora e capturar depois. Para PIX e boleto os artefatos de pagamento voltam de forma SÍNCRONA nesta resposta: uma cobrança PIX traz um objeto `pix` no topo com a imagem do QR Code (`qr_code`) e o copia-e-cola (`qr_code_text`); uma cobrança de boleto traz um objeto `boleto` no topo com o código de barras, a linha digitável e a URL do PDF. Os mesmos artefatos também chegam no webhook `charge.created` e no GET /charges/{id}, então dá para reconciliar por qualquer um dos três canais.
Cria uma cobrança usando um meio de pagamento tokenizado, PIX ou boleto. Para cobranças no cartão, use capture_method=automatic para pagar na hora ou capture_method=manual para autorizar agora e capturar depois. Para PIX e boleto os artefatos de pagamento voltam de forma SÍNCRONA nesta resposta: uma cobrança PIX traz um objeto pix no topo com a imagem do QR Code (qr_code) e o copia-e-cola (qr_code_text); uma cobrança de boleto traz um objeto boleto no topo com o código de barras, a linha digitável e a URL do PDF. Os mesmos artefatos também chegam no webhook charge.created e no GET /charges/{id}, então dá para reconciliar por qualquer um dos três canais.
Autorização
ApiKeyAuth Em: header
Parâmetros de cabeçalho
1 <= length <= 255Corpo da requisição
application/json
Definições TypeScript
Use o tipo request body em TypeScript.
Corpo da resposta
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/charges" \ -H "Idempotency-Key: order_123_attempt_1" \ -H "Content-Type: application/json" \ -d '{ "amount": 10990, "currency": "BRL", "payment_method": "CREDIT_CARD", "capture_method": "automatic", "card_token": "tok_xxx", "installments": 1, "buyer": { "name": "Ada Lovelace", "email": "ada@example.com", "phone": "+55 11 99999-0000", "document": "935.411.347-80", "ip": "203.0.113.10", "address": { "line_1": "Av. Paulista, 1000", "zip_code": "01310-100", "city": "Sao Paulo", "state": "SP", "country": "BR" } }, "metadata": { "order_id": "order_123" } }'{ "id": "ch_3n8Xa2b1c0", "object": "charge", "status": "pending", "amount_cents": 10990, "currency": "BRL", "payment_method": "pix", "capture_method": "automatic", "captured": false, "installments": null, "buyer": { "name": "Ada Lovelace", "email": "ada@example.com", "phone": "+55 11 99999-0000", "document": "935.411.347-80", "document_type": "cpf", "ip": null, "address": { "line_1": "Av. Paulista, 1000", "line_2": null, "zip_code": "01310-100", "city": "Sao Paulo", "state": "SP", "country": "BR" } }, "pix": { "qr_code": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...", "qr_code_text": "00020126580014br.gov.bcb.pix0136...5204000053039865802BR6009SAO PAULO62070503***6304AB12", "expires_at": "2026-08-25T18:00:00.000Z" }, "metadata": { "order_id": "order_123" }, "paid_at": null, "created_at": "2026-08-25T17:00:00.000Z", "updated_at": "2026-08-25T17:00:00.000Z", "request_id": "req_9f8e7d6c"}Listar as vendas. GET
Lista as vendas que a API key alcança, da mais recente para a mais antiga. Uma chave de seller vê as dela; a chave de um seller PARCEIRO vê as dela e as de toda a carteira; uma chave de white label vê a white label inteira. O alcance sai da CHAVE e é lido do banco a cada requisição, então revogar um parceiro estreita a lista já na chamada seguinte — o `seller_id` da query só consegue ESTREITAR o que a chave já alcança, e um estabelecimento fora dele responde 404, nunca 403. A venda que não é da própria chave sai sem `buyer`, `reservation`, `metadata`, `split` e `next_action`: é o mesmo recorte que o extrato da carteira já faz no painel — o parceiro concilia o dinheiro dele sem receber o dado pessoal do comprador do cliente. Exige a permissão charges:read.
Consultar uma cobrança. GET
Retorna uma venda pelo id público. O alcance é o mesmo da listagem: uma chave de seller abre as vendas dela, e a chave de um seller PARCEIRO abre também as da carteira — com o mesmo recorte de dado pessoal descrito em GET /charges. Exige a permissão charges:read.