Visão geral
O pedido (order) é a compra do cliente na API v2. Ele reúne os itens e um ou mais pagamentos: você pode cobrar um cartão, um PIX, dois cartões ou cartão + PIX no mesmo pedido.
Criar um pedido
Campos principais
Campos do cliente
A v2 não tem recurso de cliente. Envie o comprador em cada pedido.Campos do pagamento (payments[])
Campos do cartão (payments[].card)
¹ Alternativa aos dados do cartão.
² Obrigatório quando
token não é enviado.
Campos do split (payments[].split[])
Campos dos itens (items[])
Análise de fraude (fraud_analysis)
Regras de validação
- A soma de
items[].amount × items[].quantityprecisa ser igual à soma depayments[].amount. - Um pagamento com cartão precisa de
card.tokenou de todos os dados do cartão. - Quando o pedido tem cartão, o
pix_expirationde um pagamento PIX pode ser de no máximo 86400 segundos (24 horas). O cartão fica pré-autorizado enquanto o PIX não é pago. - A soma de
split[].amountprecisa ser igual aoamountdo pagamento. - No split, exatamente um recebedor precisa ter
options.charge_processing_fee: true, e o valor dele precisa cobrir as taxas de processamento. Pelo menos um recebedor precisa teroptions.charge_remainder_fee: truee pelo menos um precisa teroptions.liable: true. Um split que não pode ser aplicado retorna422(split_error).
Exemplos
Cartão com captura manual
Request
Resposta (HTTP 201)
PIX
Pagamento
Resposta (HTTP 201)
Cartão + PIX
Envie dois itens empayments. O pedido é criado com dois pagamentos e fica em requires_action com o QR Code em next_action. O cartão fica em requires_capture e é capturado automaticamente quando o PIX é pago.
Pagamentos
Captura
Um pagamento com cartão pode ser só autorizado (o limite fica reservado) ou capturado (a venda é concluída).O objeto pedido
Status do pedido
O status do pedido é calculado a partir de todos os pagamentos, não apenas do primeiro.Pagamentos
Cada item depayments é um objeto payment_intent. O id do pagamento é o mesmo id da cobrança: use-o em GET /v2/charges/{id} e no estorno.
Status do pagamento
Próxima ação (next_action)
Quando o cliente precisa fazer algo, o pedido traz um next_action. Se nada for necessário, o campo vem null.
QR Code PIX
qr_code (código copia e cola) ou a imagem de qr_code_url para o cliente.
Código de verificação
A análise de fraude pode pedir que o cliente confirme um código antes do pagamento:- Peça ao cliente o código que ele recebeu.
- Envie o código em
POST /v2/orders/{id}/confirm. - Se o código expirar, gere outro com
POST /v2/orders/{id}/confirm/resend.
Nenhum pagamento é cobrado antes da confirmação. O código de verificação tem prioridade sobre o QR Code PIX. A verificação por código não gera webhook: acompanhe pelo
next_action da resposta.Fluxo de um pedido
Limites e bloqueios
- Por comprador:
POST /v2/ordersaceita no máximo 2 tentativas por minuto do mesmo comprador (e-mail ou documento) para os mesmos itens. Acima disso, a resposta é429(rate_limit_exceeded) comcustomer_messageeRetry-After. - Bloqueios: conta, item ou cliente bloqueado (e-mail, documento ou BIN do cartão, inclusive de cartão salvo) retorna
403comcustomer_message.
Pontos de atenção
GET /v2/orders/{id}só encontra pedidos criados pela API v2. Pedidos da v1 retornam404.- Os pedidos da v2 não têm o campo
international. - Os pedidos da v2 não salvam cartão. O
idde um cartão salvo vem dePOST /v2/cards, de uma assinatura ou de um cartão salvo no checkout da v1.
Erros específicos
Resposta (HTTP 422)
