Skip to main content
POST
201 Created não significa pago. O pedido pode voltar em requires_capture, requires_action ou processing. A confirmação chega pelos webhooks order.paid e charge.paid. Um pagamento recusado responde 402, com o pedido completo e o motivo em failure_reason.
Envie um ou mais pagamentos em payments. Um pedido com vários pagamentos é tudo ou nada: se um for recusado, os demais são desfeitos.
Sem capture_method, um pagamento com cartão usa captura manual e o pedido fica em requires_capture até você chamar /capture. Com capture_method: "automatic", a venda é direta só quando o pedido tem um único pagamento. Em cartão + PIX, o cartão é capturado automaticamente quando o PIX é pago. Veja Captura.
Para cobrar um cartão salvo, envie card.token com o id do cartão no lugar dos dados do cartão.
A soma dos itens (amount × quantity) precisa ser igual à soma dos pagamentos. Com cartão no pedido, o pix_expiration pode ser de no máximo 86400 segundos. Pular a análise de fraude (fraud_analysis) exige permissão da conta.
Limite de 2 tentativas por minuto do mesmo comprador para os mesmos itens (429 rate_limit_exceeded). Envie o header Idempotency-Key para reenviar com segurança. Veja Idempotência e limites.

Authorizations

Authorization
string
header
required

Chave de API (secret key) da conta, no formato sk_live_... (produção) ou sk_test_... (Dev mode). Envie no header Authorization: Bearer <chave>. Autentica todas as rotas da API v2 e as rotas de Análise de Fraude. A chave identifica a conta, então a API v2 não usa o header account. Uma chave só é aceita no ambiente em que foi criada. Gere a sua no dashboard em Configurações → Chaves de API.

Headers

Idempotency-Key
string

Chave de idempotência opcional e recomendada. Tem até 128 caracteres e vale por 24 horas, por conta. A mesma chave com o mesmo corpo devolve a resposta original (mesmo status e mesmo corpo), sem processar de novo. Só respostas 2xx ficam guardadas: depois de um erro, a mesma chave pode ser reutilizada. A mesma chave com um corpo diferente retorna 422 (idempotency_key_conflict), uma requisição original ainda em andamento retorna 409 (idempotency_key_in_use) e uma chave com mais de 128 caracteres retorna 400 (idempotency_key_invalid).

Maximum string length: 128
Example:

"pedido-1024-tentativa-1"

Body

application/json

A soma de items[].amount × items[].quantity precisa ser igual à soma de payments[].amount. Todos os valores são em centavos.

customer
object
required

Dados do comprador. A API v2 não tem recurso de cliente: envie o comprador em cada requisição.

payments
object[]
required

Um ou mais meios de pagamento. Todos são processados juntos, no mesmo pedido

Minimum array length: 1
items
object[]
required
Minimum array length: 1
currency
enum<string>
default:BRL
Available options:
BRL,
USD
fraud_analysis
object

Pula a análise de fraude. Exige permissão da conta — sem ela, a requisição retorna 422 (fraud_bypass_not_allowed). Todo pulo precisa de um motivo, que fica registrado.

metadata
object | null

Dados livres da sua integração

Example:

Response

Pedido criado. Confira o status: requires_capture (cartão autorizado, aguardando captura), requires_action (PIX aguardando pagamento ou verificação por código, veja next_action) ou processing (venda aceita, aguardando confirmação). 201 não significa pago.

Pedido. O status é a agregação dos seus pagamentos. processing: em processamento. requires_capture: cartão autorizado, aguardando captura. requires_action: PIX aguardando pagamento ou verificação por código (veja next_action). paid: pago. failed: recusado (veja failure_reason). canceled: cancelado. refunded e partially_refunded: estornado. chargeback: contestado.

id
string

Código do pedido

Example:

"482913"

object
enum<string>
Available options:
order
status
enum<string>
Available options:
processing,
requires_capture,
requires_action,
paid,
failed,
canceled,
refunded,
partially_refunded,
chargeback
currency
string
Example:

"brl"

amount
integer

Valor total, em centavos

Example:

10000

payments
object[]
next_action
object | null

O que precisa acontecer para o pagamento seguir. pix_display_qr_code: exiba o QR Code para o pagador. otp_confirmation: a análise de fraude pediu verificação — nada é cobrado até o código ser confirmado na rota /confirm.

failure_reason
object

Motivo da recusa. Presente só quando o status é failed