Testar a integração
Antes de ir para produção, é fundamental realizar testes do fluxo completo de Pagamentos automáticos via Orders. Isso permitirá verificar se a criação de clientes, perfis de pagamento e transações está sendo realizada corretamente antes de receber pagamentos reais.
Em todo o processo, você deverá utilizar suas credenciais de testeChaves de acesso que identificam seu usuário de teste, utilizadas em etapas de desenvolvimento ou para testar a integração. Você pode acessá-las através de Suas integrações > Detalhes da aplicação > Testes > Credenciais de teste. para garantir que os testes funcionem corretamente.
Siga os passos abaixo para testar sua integração.
Primeiro, você deverá tokenizar o meio de pagamento.
O Mercado Pago fornece cartões de teste que permitirão que você teste pagamentos sem usar um cartão real.
Seus dados, como número, código de segurança e data de validade, podem ser combinados com os dados relativos ao titular do cartão, que permitirão que você teste diferentes cenários de pagamento. Ou seja, você pode usar as informações de qualquer cartão de teste e testar resultados de pagamento diferentes a partir dos dados do titular.
A seguir, você pode ver os dados dos cartões de débito e crédito de teste. Selecione aquele que você quer usar para testar sua integração.
| Tipo de cartão | Bandeira | Número | Código de segurança | Data de vencimento |
| Cartão de crédito | Mastercard | 5031 4332 1540 6351 | 123 | 11/30 |
| Cartão de crédito | Visa | 4235 6477 2802 5682 | 123 | 11/30 |
| Cartão de crédito | American Express | 3753 651535 56885 | 1234 | 11/30 |
| Cartão de débito | Elo | 5067 7667 8388 8311 | 123 | 11/30 |
Em seguida, escolha qual cenário de pagamento testar e preencha os campos do titular do cartão (Nome e sobrenome, Tipo e número de documento) conforme indicado na tabela abaixo.
| Status de pagamento | Nome e sobrenome do titular | Documento de identidade |
| Pagamento aprovado | APRO | (CPF) 12345678909 |
| Recusado por erro geral | OTHE | (CPF) 12345678909 |
| Pagamento pendente | CONT | - |
| Recusado com validação para autorizar | CALL | - |
| Recusado por quantia insuficiente | FUND | - |
| Recusado por código de segurança inválido | SECU | - |
| Recusado por problema com a data de vencimento | EXPI | - |
| Recusado por erro no formulário | FORM | - |
| Rejeitado por falta de card_number | CARD | - |
| Rejeitado por parcelas inválidas | INST | - |
| Rejeitado por pagamento duplicado | DUPL | - |
| Rejeitado por cartão desabilitado | LOCK | - |
| Rejeitado por tipo de cartão não permitido | CTNA | - |
| Rejeitado devido a tentativas excedidas de pin do cartão | ATTE | - |
| Rejeitado por estar na lista negra | BLAC | - |
| Não suportado | UNSU | - |
| Usado para aplicar regra de valores | TEST | - |
Continue registrando em seu sistema o cartão de teste tokenizado, seguindo os passos de acordo com o modelo de negócio ao qual sua integração se adapta.
Você deverá utilizar seu Access Token de testeChave privada da aplicação criada no Mercado Pago, que é utilizada no backend. Você pode acessá-la através de Suas integrações > Detalhes da aplicação > Testes > Credenciais de teste. em todas as requisições e utilizar como e-mail do cliente o valor test@testuser.com.
Com o customer_id e o payment_profile_id gerados na etapa anterior, você já pode processar um pagamento automático de teste.
Envie um POST ao endpoint /v1/orders incluindo seu Access Token de testeChave privada da aplicação criada no Mercado Pago, que é utilizada no backend. Você pode acessá-la através de Suas integrações > Detalhes da aplicação > Testes > Credenciais de teste. e seguindo as indicações detalhadas para cada tipo de pagamento.
curl
curl -X POST \ 'https://api.mercadopago.com/v1/orders' \ -H 'Content-Type: application/json' \ -H 'X-Idempotency-Key: UNIQUE_IDEMPOTENCY_KEY' \ -H 'Authorization: Bearer TEST-ACCESS_TOKEN' \ -d '{ "type": "online", "processing_mode": "automatic", "total_amount": "100.00", "external_reference": "test-order-001", "payer": { "customer_id": "CUSTOMER_ID" }, "transactions": { "payments": [ { "amount": "100.00", "automatic_payments": { "payment_profile_id": "PAYMENT_PROFILE_ID" }, "stored_credential": { "payment_initiator": "merchant", "reason": "card_on_file", "first_payment": true } } ] } }'
| Parâmetro | Tipo | Descrição | Obrigatoriedade |
type | String | Tipo de order. Deve ser online. | Obrigatório |
external_reference | String | Referência externa da order. Máximo 64 caracteres alfanuméricos, hífens (-) e underscores (_). | Obrigatório |
total_amount | String | Valor total da transação. | Obrigatório |
payer.customer_id | String | Identificador do cliente, obtido no passo 2. | Obrigatório |
transactions.payments.amount | String | Valor da transação. | Obrigatório |
automatic_payments.payment_profile_id | String | Identificador do perfil de pagamento, obtido no passo 2. | Obrigatório |
stored_credential.payment_initiator | String | Indica quem inicia a transação. Use merchant para pagamentos MIT ou customer para pagamentos CIT. | Obrigatório |
stored_credential.reason | String | Razão do pagamento. Para pagamentos únicos com cartão salvo, use card_on_file. | Opcional |
stored_credential.first_payment | Boolean | Indica se é o primeiro pagamento (true) ou um pagamento posterior (false). | Opcional |
stored_credential.previous_transaction_reference | String | Código de referência da transação anterior. | Obrigatório quando first_payment é false |
Se você deseja testar outro cenário de pagamento, repita a requisição certificando-se de incluir os dados associados ao segundo cartão de teste tokenizado.
Para verificar se o pagamento de teste foi realizado corretamente, envie um GET ao endpoint /v1/orders/{id}API substituindo {id} pela identificação da order recebida na resposta do passo anterior.
A resposta deverá mostrar o status do pagamento selecionado no momento de inserir os dados do titular do cartão de teste.
json
{ "id": "ORD01JS2V6CM8KJ0EC4H502TGK1WP", "type": "online", "processing_mode": "automatic", "status": "processed", "status_detail": "accredited", "total_amount": "100.00", "transactions": { "payments": [ { "id": "PAY01JS2V6CM8KJ0EC4H504R7YE34", "amount": "100.00", "status": "processed", "status_detail": "accredited" } ] } }
Adicionalmente, você pode verificar se recebeu a notificação Webhook com os dados da order.
