Documentação da API
Três passos: crie sua conta, conecte seu Mercado Pago no painel /conta e chame os endpoints abaixo a partir do seu backend. A API key fica visível no seu painel depois de logar.
Autenticação
Envie sua API key no header Authorization, no formato Bearer. Nunca exponha a chave no front-end — todas as chamadas devem partir do seu servidor.
POST/api/checkout
Cria uma cobrança e devolve um link de pagamento hospedado pelo Mercado Pago (aceita PIX, cartão e boleto). Redirecione seu cliente pra checkout_url.
Body (JSON)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
amount | number | sim | Valor em reais, ex.: 49.90. Mínimo R$ 1,00. |
description | string | não | Aparece na página de pagamento. |
external_reference | string | não | Um id seu (pedido, fatura) devolvido depois no webhook. |
payer_email | string | não | Pré-preenche o e-mail do pagador. |
success_url | string | não | Pra onde o cliente volta após pagar. Padrão: página de sucesso do M2Pay. |
failure_url | string | não | Pra onde o cliente volta se o pagamento falhar. |
GET/api/checkout/:id
Consulta pública do status de um checkout (não precisa de API key — o id já é aleatório o bastante). Útil pra sua página de sucesso fazer polling direto do navegador.
status pode ser pending, approved, rejected ou in_process.
Webhook
Configure a URL do seu backend no painel /conta. Sempre que um checkout muda de status, o M2Pay envia:
A assinatura é um HMAC-SHA256 do corpo da requisição (bytes exatos, antes de qualquer parse) usando o webhook secret da sua conta. Valide antes de confiar no payload:
Seu webhook secret fica disponível no painel /conta, junto da API key.
Erros
| Status | Quando acontece |
|---|---|
| 401 | API key ausente ou inválida. |
| 403 | Conta suspensa. |
| 409 | Conta ainda não conectou o Mercado Pago (painel /conta). |
| 400 | Corpo da requisição inválido ou amount ausente/abaixo do mínimo. |
| 502 | Falha ao criar a cobrança no Mercado Pago — tente de novo. |