DesenvolvedoresReferência da APICheckout

Fechar pedido e cobrar

POST
/checkout

Fecha o carrinho em pedido e cria a cobrança no gateway da forma de pagamento escolhida. Exige o X-Cart-Token e um Idempotency-Key: repetir a chamada com a mesma chave devolve o mesmo pedido. Cartão: envie o token gerado no navegador pelo SDK do gateway (payment.card), nunca o número do cartão. Pagamento recusado responde 402 payment_declined com o pedido em error.details, para pagar de novo em POST /orders/{orderId}/payments. Gateway fora do ar responde 502 payment_provider_unavailable: o carrinho já virou pedido e error.details traz o pedido, o accessToken e o orderUrl. Repetir o checkout com a mesma Idempotency-Key e o mesmo corpo devolve esse pedido e tenta a cobrança de novo; para trocar a forma de pagamento, use POST /orders/{orderId}/payments. termsAcceptedAt é o momento em que o comprador aceitou os termos da loja, nas últimas 24 horas: ele vai para o pedido junto com os termos e a política de reembolso vigentes e entra no dossiê de contestação. Com a chave secreta, a chamada sai do servidor da loja: envie o IP e o navegador do comprador em buyer.ip e buyer.userAgent, senão o pedido fica sem eles.

Chave: Chave publicável ou secreta.

Escopo: checkout:write.

Idempotência: exige o cabeçalho Idempotency-Key.

Limite: 20 requisições a cada 1 min, além do limite geral de 600 por minuto por chave.

Autorização

headerAutorizaçãoBearer <chave de API>

Chave publicável (pk_…). Pode ir para o navegador; dá acesso só ao catálogo, ao carrinho e ao checkout.

Cabeçalhos

X-Cart-Token*string

Token devolvido na criação do carrinho.

Idempotency-Key*string

De 1 a 255 caracteres visíveis. Repetir a chamada com a mesma chave devolve a mesma resposta por 24 horas.

Corpo da requisição

application/json
  1. body
cartId*string
Formatouuid
buyer*
payment*
marketingConsent?boolean
Padrãofalse
checkoutFields?

Respostas dos campos de checkout por item do carrinho.

Corpo da resposta

Repetição com a mesma Idempotency-Key: devolve o pedido já criado.

application/json
  1. response
data*
meta*
curl -X POST 'https://minepag.com.br/api/v1/checkout' \  -H 'X-Cart-Token: string' \  -H 'Idempotency-Key: string' \  -H 'Content-Type: application/json' \  -d '{  "cartId": "a978ee3d-b7bf-468a-b84b-28f1d6366abc",  "buyer": {    "name": "string",    "email": "user@example.com"  },  "payment": {    "method": "pix"  }}'
{  "data": {    "order": {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "number": -9007199254740991,      "status": "pending",      "paymentStatus": "pending",      "subtotal": -9007199254740991,      "discountTotal": -9007199254740991,      "total": -9007199254740991,      "expiresAt": "2019-08-24T14:15:22Z"    },    "payment": {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "method": "pix",      "status": "pending",      "amount": -9007199254740991,      "instructions": {        "method": "pix",        "copyPaste": "string",        "qrCodeImage": "string",        "expiresAt": "2019-08-24T14:15:22Z"      },      "clientAction": {        "kind": "redirect",        "url": "string"      },      "failureReason": "string"    },    "accessToken": "string",    "orderUrl": "string"  },  "meta": {    "requestId": "string"  }}