Voltar pro blog
Desenvolvimento

Como testar pagamentos do Mercado Pago em sandbox (sem perder horas)

Guia definitivo pra testar Checkout Pro do Mercado Pago no sandbox. Evite os erros mais comuns que travam o checkout de teste.

LimãoPay23 de maio de 20265 min de leitura

O sandbox do Mercado Pago parece simples. Até você tentar usar.

Se você já tentou testar pagamentos no sandbox do Mercado Pago e ficou preso em erros como "Uma das partes com as quais você está tentando efetuar o pagamento é de teste" ou em páginas de erro genérico sem nenhuma explicação, este guia é pra você.

Passamos horas debugando esses problemas. Documentamos tudo pra que você não precise passar pelo mesmo.

O problema principal: mistura de usuários

O Mercado Pago tem uma regra rígida: você não pode misturar usuários reais com usuários de teste na mesma transação. Mas a documentação não deixa claro como isso afeta cada cenário.

Aqui está o que realmente acontece:

SellerBuyerResultado
Token TEST- (usuário real em modo teste)Test user logado no sandboxBloqueado
Token OAuth APP_USR- de test userTest user logado no sandboxBloqueado (403 no sandbox)
Token TEST- (usuário real em modo teste)Convidado com cartão de testeFunciona

Por que o OAuth com test user não funciona no sandbox

Este é o ponto que a documentação não explica bem.

Quando você faz o fluxo OAuth do Mercado Pago, você usa client_id e client_secret da sua aplicação. Essas credenciais são sempre de produção -- não existem credenciais OAuth de teste.

Isso significa que o token OAuth gerado (APP_USR-...) é um token de produção, mesmo que o seller seja um test user. Quando você tenta usar esse token pra criar uma preferência e acessar o sandbox_init_point, o sandbox retorna 403 Forbidden.

# Token OAuth de test user → preferência criada → sandbox rejeita com 403
https://sandbox.mercadopago.com.br/checkout/v1/redirect/.../error/

A solução que funciona

1. Use o token TEST- da sua aplicação

No painel do Mercado Pago, vá em Credenciais de teste da sua aplicação e copie o Access Token de teste. Ele começa com TEST-.

MERCADOPAGO_DEV_ACCESS_TOKEN=TEST-<APP_ID>-<TIMESTAMP>-<HASH>-<USER_ID>

Use esse token no backend pra criar as preferências de checkout em ambiente de desenvolvimento.

2. Pague como convidado no sandbox

Esta é a parte crucial: não logue com nenhuma conta do Mercado Pago na página de checkout do sandbox. Pague como convidado.

3. Use cartões de teste

Na tela de pagamento, escolha cartão de crédito e use estes dados:

CampoValor
Número5031 4332 1540 6351
Nome no cartãoAPRO
ValidadeQualquer data futura (ex: 11/30)
CVV123
CPF12345678909
EmailQualquer email válido

4. Controle o resultado pelo nome no cartão

O Mercado Pago usa o nome no cartão pra determinar o resultado do pagamento no sandbox:

NomeResultado
APROPagamento aprovado
OTHERejeitado
CONTPagamento pendente
CALLRejeitado (ligar para autorização)
FUNDRejeitado (saldo insuficiente)
SECURejeitado (código de segurança inválido)
EXPIRejeitado (data de validade)

5. Outros cartões de teste

BandeiraNúmero
Visa4509 9535 6623 3704
Mastercard5031 4332 1540 6351
American Express3711 803032 57522
Elo5067 2686 5051 7446

Erros comuns e como resolver

"Uma das partes com as quais você está tentando efetuar o pagamento é de teste"

Causa: Você está logado com um test user no browser e tentando pagar em uma preferência criada com token TEST- (usuário real em modo teste). O MP detecta a mistura real + teste e bloqueia.

Solução: Abra o checkout em uma janela anônima. Não logue no MP. Pague como convidado com cartão de teste.

Página de erro genérico no sandbox (sem mensagem)

Causa: A preferência foi criada com um token OAuth (APP_USR-) obtido de um test user. O sandbox rejeita tokens de produção.

Solução: Use o token TEST- da aplicação em vez do token OAuth.

Test users do app errado

Causa: Se você cria test users via API, o test user pertence à aplicação cujo token foi usado. Se usou o token de outra aplicação (ou ferramenta), o test user não funciona com sua app.

Solução: Crie test users usando o token da sua própria aplicação:

curl -X POST "https://api.mercadopago.com/users/test" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $SEU_TEST_ACCESS_TOKEN" \
  -d '{"site_id": "MLB", "description": "Buyer de teste"}'

Implementação no backend (Node.js)

Se você está construindo um marketplace com Checkout Pro, aqui está o pattern que usamos:

// Em dev, usa o token TEST- da plataforma
// Em produção, usa o token OAuth do seller
private resolveAccessToken(tenantToken: string | null): string | null {
  if (process.env.NODE_ENV !== 'production') {
    const devToken = process.env.MERCADOPAGO_DEV_ACCESS_TOKEN;
    if (devToken) return devToken;
  }
  return tenantToken ?? null;
}

E pra decidir entre sandbox_init_point e init_point:

const isDevMode = process.env.NODE_ENV !== 'production';
const checkoutUrl = isDevMode
  ? preference.sandbox_init_point || preference.init_point
  : preference.init_point;

Checklist rápido

Antes de testar, confirme:

  • Token TEST- configurado no ambiente de desenvolvimento
  • Checkout abre em sandbox.mercadopago.com.br (não www.mercadopago.com.br)
  • Browser em janela anônima (sem conta MP logada)
  • Cartão de teste com nome APRO pra aprovar
  • Webhook URL acessível publicamente (use ngrok em desenvolvimento local)

Conclusão

O sandbox do Mercado Pago funciona, mas tem armadilhas que a documentação oficial não cobre bem. A regra de ouro é simples: use o token TEST-, pague como convidado, e use cartões de teste.

Se você está integrando pagamentos e perdeu tempo com esses erros, esperamos que este guia tenha economizado algumas horas do seu dia.

Comece a vender hoje

Crie sua página de vendas com IA, configure o pagamento e comece a faturar. Zero pra começar.