Listar as vendas.
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.
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.
Autorização
ApiKeyAuth Em: header
Parâmetros de query
1 <= value11 <= value <= 10050Filtra por status da venda (em minúsculas, como a API devolve). Um valor desconhecido é RECUSADO com validation_error, nunca ignorado: um filtro que silenciosamente não se aplica devolve todas as vendas com cara da que você pediu.
Value in
- "scheduled"
- "pending"
- "requires_action"
- "authorized"
- "paid"
- "refused"
- "canceled"
- "refunded"
- "partially_refunded"
- "chargeback"
- "failed"
Estreita a lista para um estabelecimento, pelo id público. Ele só consegue ESTREITAR o que a chave já alcança: um estabelecimento fora do alcance responde 404, nunca 403.
Só as vendas criadas a partir desta data-hora ISO 8601 (UTC). Valor que não dá para interpretar é recusado com validation_error.
date-timeSó as vendas criadas até esta data-hora ISO 8601 (UTC). Valor que não dá para interpretar é recusado com validation_error.
date-timeSó as vendas DESTE link de pagamento — todas as tentativas, da mais recente para a mais antiga, inclusive as recusadas. É aqui que mora o histórico de tentativas de um link: a leitura pública do link não leva credencial, e devolver as tentativas lá exporia a quem tiver a URL as tentativas que falharam (e a taxa de recusa do lojista junto). O filtro só consegue ESTREITAR o que a chave já alcança; um link fora dele responde 404, nunca 403 e nunca uma lista vazia — lista vazia seria indistinguível de "este link não teve tentativa nenhuma".
^pl_[A-Za-z0-9]+$Corpo da resposta
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/charges?payment_link=pl_4b59973ecad94eeca6f86a7942d8d334"{ "object": "list", "data": [ { "id": "string", "object": "charge", "status": "scheduled", "amount_cents": 1, "discount": { "amount_cents": 0, "list_amount_cents": 0 }, "currency": "BRL", "payment_method": "credit_card", "capture_method": "automatic", "captured": true, "installments": 1, "buyer": { "name": "string", "email": "user@example.com", "phone": "string", "document": "string", "document_type": "cpf", "ip": "string", "address": { "line_1": "string", "line_2": "string", "zip_code": "string", "city": "string", "state": "string", "country": "string" } }, "acquirer_code": "string", "acquirer_transaction_id": "string", "authorization_code": "string", "acquirer_return_code": "string", "acquirer_return_message": "string", "refused_reason": "string", "next_action": { "type": "three_ds_challenge", "three_ds": { "authentication_id": "string", "acquirer": "string", "sdk_payload": {} } }, "metadata": {}, "split": [ { "recipient_seller_id": "string", "amount_cents": 1 } ], "scheduled_for": "2019-08-24T14:15:22Z", "canceled_at": "2019-08-24T14:15:22Z", "paid_at": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "request_id": "req_xxx", "presentment": { "currency": "USD", "amount_cents": 0 }, "fx": { "base_currency": "BRL", "rate_micros": 0, "quoted_at": "2019-08-24T14:15:22Z" }, "pix": { "qr_code": "string", "qr_code_text": "string", "expires_at": "2019-08-24T14:15:22Z" }, "boleto": { "barcode": "string", "digitable_line": "string", "pdf_url": "http://example.com", "due_date": "2019-08-24" }, "reservation": { "id": "string", "object": "string", "check_in": "2019-08-24", "check_out": "2019-08-24", "nights": 0, "code": "string", "channel": "string", "status": "confirmed", "rate_type": "refundable", "guarantee_nights": 0, "guest_name": "string" }, "seller_id": "string", "partner_surcharge": { "amount_cents": 0, "released_cents": 0 } } ], "page": 1, "limit": 1, "total": 0, "total_pages": 0, "request_id": "req_xxx"}Tokenizar dados de cartão em um token reutilizável. POST
Este é o único endpoint público que aceita dados de cartão em texto puro. O PAN e o CVV não devem ser persistidos. Exige uma API key com escopo de seller e uma aprovação operacional de KYC; recertificações posteriores não revogam essa aprovação. Caso contrário, retorna permission_error/seller_kyc_required.
Criar uma cobrança. POST
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.