Testar a integração
O teste de integração do Mercado Pago Point ao seu sistema é baseado na simulação de diferentes status de transação utilizando nossa API. Dessa forma, você poderá garantir o correto funcionamento da sua integração antes de subir à produção, a partir de diferentes cenários de teste. Não é possível processar pagamentos reais no terminal físico utilizando contas de teste; para realizar transações reais no dispositivo Point, é necessário utilizar uma conta produtiva com meios de pagamento reais.
Nesses testes, você deve utilizar credenciais de testeChaves da aplicação criadas no Mercado Pago. Você pode acessá-las em Suas integrações > Dados da integração > Testes > Credenciais de teste.Acessar as credenciais de teste. Embora a simulação permita validar a integração sem a necessidade de interação com o terminal em cada transação de teste, é recomendável que o terminal esteja previamente vinculado às suas credenciais de teste. Para mais informações sobre como realizar essa associação, acesse Configurar terminal.
Usar dispositivo virtual padrão
Se você não tiver um dispositivo físico, poderá utilizar um dispositivo virtual padrão (identificado pelo serial SBX0000001) para realizar os testes. Este dispositivo é compatível com qualquer terminal (poi_type) válido para o país em questão, portanto, você pode criar uma order usando, por exemplo, NEWLAND_N950__SBX0000001.
Simular os cenários de teste
A seguir, selecione e execute os cenários desejados para validar sua integração. Para simular esses cenários, utilize o Access Token de testeChave privada da aplicação criada no Mercado Pago, utilizada no backend. Você pode acessá-la em Suas integrações > Dados da integração > Testes > Credenciais de teste. O Access Token de teste começa com o prefixo `APP_USR`.Acessar as credenciais de teste.
A mudança de status da order pode levar até 10 segundos para ser processada (ou até 40 segundos para simular o status action_required). Durante esse processo, a order passa automaticamente para at_terminal antes de atingir o status final solicitado, com exceção de refunded, que transiciona diretamente. Para mais informações sobre os possíveis status, consulte a documentação Status de uma order e de uma transação.
Para testar a criação de uma order e o processamento do pagamento associado, siga os passos abaixo.
- Faça uma requisição para Criar orderAPI utilizando o Access Token de testeChave privada da aplicação criada no Mercado Pago, utilizada no backend. Você pode acessá-la em Suas integrações > Dados da integração > Testes > Credenciais de teste. O Access Token de teste começa com o prefixo `APP_USR`.Acessar as credenciais de teste.
- Armazene o identificador da order retornado na resposta, disponível no parâmetro
id. - Envie um POST ao endpoint Simular status da orderAPI, substituindo o
{order_id}no path da requisição peloidda order criada na etapa 1. No body da requisição, informe o campostatuscom o valorprocessed.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/events' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TEST-232********97488-12********26f67454********f4c8b49c********9526408' \
-d '{
"status": "processed",
"payment_method_type": "credit_card",
"installments": 1,
"payment_method_id": "visa",
"status_detail": "accredited"
}'
Consulte na tabela abaixo as descrições dos parâmetros que podem ser enviados nesta requisição.
| Atributo | Tipo | Descrição | Valores possíveis | Obrigatoriedade |
status | Body.String | Status final que deseja simular para a order. | processed | Obrigatório |
payment_method_type | Body.String | Tipo de meio de pagamento a simular. | debit_card, credit_card, qr, voucher_card | Opcional |
installments | Body.Integer | Número de parcelas do pagamento. | 1 | Condicional. Envie este campo apenas quando payment_method_type for credit_card. |
payment_method_id | Body.String | Bandeira do meio de pagamento. | amex, master, visa, debmaster, debvisa, elo, diners, hipercard | Condicional. Envie este campo quando payment_method_type for debit_card ou credit_card. |
status_detail | Body.String | Detalhe específico do status que deseja simular. | accredited | Opcional |
Se a solicitação for bem-sucedida, a resposta retornará status 204 No Content, sem corpo de resposta.
Você receberá uma notificação Webhook do Mercado Pago com o campo action definido como order.processed. No nó transactions.payments, será possível consultar o status do pagamento, conforme exemplificado abaixo.
Além disso, é possível consultar o endpoint Obter order por IDAPI para verificar o status da order.
json
{ "action": "order.processed", "api_version": "v1", "application_id": "2644473656269379", "data": { "external_reference": "ext-ref", "id": "ORD01JY0PGGPZ4DBV73E2PXRBCQ84", "status": "processed", "status_detail": "accredited", "total_paid_amount": "5.00", "transactions": { "payments": [ { "amount": "5.00", "id": "PAY01JY0PGGPZ4DBV73E2Q0DQZQCJ", "paid_amount": "5.00", "payment_method": { "id": "visa", "installments": 1, "type": "credit_card" }, "reference": { "id": "115019989861" }, "status": "processed", "status_detail": "accredited" } ] }, "type": "point", "version": 3 }, "date_created": "2025-06-18T05:00:19.274162018Z", "live_mode": false, "type": "order", "user_id": "123456" }
Para validar que sua integração lida corretamente com pagamentos que falharam, simule o status failed de uma order.
- Faça uma nova requisição para Criar orderAPI utilizando o Access Token de testeChave privada da aplicação criada no Mercado Pago, utilizada no backend. Você pode acessá-la em Suas integrações > Dados da integração > Testes > Credenciais de teste. O Access Token de teste começa com o prefixo `APP_USR`.Acessar as credenciais de teste.
- Armazene o identificador da order retornado na resposta, disponível no parâmetro
id. - Envie um POST ao endpoint Simular status da orderAPI, substituindo o
{order_id}no path da requisição peloidda order criada na etapa 1. No body da requisição, informe o campostatuscom o valorfailed.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/events' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TEST-232********97488-12********26f67454********f4c8b49c********9526408' \
-d '{
"status": "failed",
"payment_method_type": "credit_card",
"installments": 1,
"payment_method_id": "visa",
"status_detail": "insufficient_amount"
}'
Consulte na tabela abaixo as descrições dos parâmetros que podem ser enviados nesta requisição.
| Atributo | Tipo | Descrição | Valores possíveis | Obrigatoriedade |
status | Body.String | Status final que deseja simular para a order. | failed | Obrigatório |
payment_method_type | Body.String | Tipo de meio de pagamento a simular. | debit_card, credit_card, qr, voucher_card | Opcional |
installments | Body.Integer | Número de parcelas do pagamento. | 1 | Condicional. Envie este campo apenas quando payment_method_type for credit_card. |
payment_method_id | Body.String | Bandeira do meio de pagamento. | amex, master, visa, debmaster, debvisa, elo, diners, hipercard | Condicional. Envie este campo quando payment_method_type for debit_card ou credit_card. |
status_detail | Body.String | Detalhe específico do status que deseja simular. | bad_filled_card_data, required_call_for_authorize, card_disabled, high_risk, insufficient_amount, invalid_installments, max_attempts_exceeded, rejected_other_reason, processing_error | Opcional |
Se a solicitação for bem-sucedida, a resposta retornará status 204 No Content, sem corpo de resposta.
Você receberá uma notificação Webhook do Mercado Pago com o campo action definido como order.failed. No nó transactions.payments, será possível consultar o status do pagamento, conforme exemplificado abaixo.
Além disso, é possível consultar o endpoint Obter order por IDAPI para verificar o status da order.
json
{ "action": "order.failed", "api_version": "v1", "application_id": "123456", "data": { "external_reference": "ext_ref_1234", "id": "ORD01K23219YK26BC6GK0HASE8VT6", "status": "failed", "status_detail": "failed", "transactions": { "payments": [ { "amount": "120", "id": "PAY01K22Y503EJ8JHGF64KGY1PZ2B", "payment_method": { "id": "debvisa", "installments": 1, "type": "debit_card" }, "reference": { "id": "123456789980" }, "status": "failed", "status_detail": "bad_filled_card_data" } ] }, "type": "point", "version": 3 }, "date_created": "2025-08-07T20:03:04.897928692Z", "live_mode": false, "type": "order", "user_id": "123456" }
Para validar o fluxo de reembolso, simule o status refunded em uma order já processada. Como esse status só pode ser aplicado a orders com processed, execute antes o cenário "Criar uma order e processar o pagamento".
Envie um POST ao endpoint Simular status da orderAPI, substituindo o {order_id} no path da requisição pelo id da order processada anteriormente. No body da requisição, informe o campo status com o valor refunded.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/events' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TEST-232********97488-12********26f67454********f4c8b49c********9526408' \
-d '{
"status": "refunded"
}'
Consulte na tabela abaixo as descrições dos parâmetros que podem ser enviados nesta requisição.
| Atributo | Tipo | Descrição | Valores possíveis | Obrigatoriedade |
status | Body.String | Status final que deseja simular para a order. Importante: Para simular este status, a order deve ter sido processada previamente. | refunded | Obrigatório |
Se a solicitação for bem-sucedida, a resposta retornará status 204 No Content, sem corpo de resposta.
Você receberá uma notificação Webhook do Mercado Pago com o campo action definido como order.refunded, indicando que a order foi reembolsada, conforme exemplificado abaixo.
Além disso, é possível consultar o endpoint Obter order por IDAPI para verificar o status da order.
json
{ "action": "order.refunded", "api_version": "v1", "application_id": "2644473656269379", "data": { "external_reference": "ext-ref", "id": "ORD01JY0PGGPZ4DBV73E2PXRBCQ84", "status": "refunded", "status_detail": "refunded", "total_paid_amount": "5.00", "type": "point", "version": 4 }, "date_created": "2025-06-18T05:05:08.255803326Z", "live_mode": false, "type": "order", "user_id": "123456" }
Para validar o fluxo de cancelamento de pagamentos, simule o status canceled de uma order conforme indicado abaixo.
- Faça uma requisição para Criar orderAPI utilizando o Access Token de testeChave privada da aplicação criada no Mercado Pago, utilizada no backend. Você pode acessá-la em Suas integrações > Dados da integração > Testes > Credenciais de teste. O Access Token de teste começa com o prefixo `APP_USR`.Acessar as credenciais de teste.
- Armazene o identificador da order, retornado na resposta à sua criação sob o parâmetro
id. - Envie um POST ao endpoint Simular status da orderAPI, substituindo o
{order_id}no path da requisição peloidda order criada na etapa 1. No body da requisição, informe o campostatuscom o valorcanceled.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/events' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TEST-232********97488-12********26f67454********f4c8b49c********9526408' \
-d '{
"status": "canceled"
}'
Consulte na tabela abaixo as descrições dos parâmetros que podem ser enviados nesta requisição.
| Atributo | Tipo | Descrição | Valores possíveis | Obrigatoriedade |
status | Body.String | Status final que deseja simular para a order. | canceled | Obrigatório |
Se a solicitação for bem-sucedida, a resposta retornará status 204 No Content, sem corpo de resposta.
Você receberá uma notificação Webhook do Mercado Pago com o campo action definido como order.canceled. No nó transactions.payments, será possível consultar o status do pagamento, conforme exemplificado abaixo.
Além disso, é possível consultar o endpoint Obter order por IDAPI para verificar o status da order.
json
{ "action": "order.canceled", "api_version": "v1", "application_id": "123456", "data": { "external_reference": "ext_ref_1234", "id": "ORD01JYH1Z1YJN4HZ8J3Q0RB3YP6D", "status": "canceled", "status_detail": "canceled", "transactions": { "payments": [ { "amount": "120", "id": "PAY01K22Y503EJ8JHGF64KGY1PZ2B", "status": "canceled", "status_detail": "canceled_on_terminal" } ] }, "type": "point", "version": 3 }, "date_created": "2025-08-07T19:30:44.741479284Z", "live_mode": false, "type": "order", "user_id": "123456" }
Para validar que sua integração lida corretamente com orders expiradas, simule o status expired de uma order.
- Faça uma requisição para Criar orderAPI utilizando o Access Token de testeChave privada da aplicação criada no Mercado Pago, utilizada no backend. Você pode acessá-la em Suas integrações > Dados da integração > Testes > Credenciais de teste. O Access Token de teste começa com o prefixo `APP_USR`.Acessar as credenciais de teste.
- Armazene o identificador da order, retornado na resposta à sua criação sob o parâmetro
id. - Envie um POST ao endpoint Simular status da orderAPI, substituindo o
{order_id}no path da requisição peloidda order criada previamente. No body da requisição, informe o campostatuscom o valorexpired.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/events' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TEST-232********97488-12********26f67454********f4c8b49c********9526408' \
-d '{
"status": "expired"
}'
Consulte na tabela abaixo as descrições dos parâmetros que podem ser enviados nesta requisição.
| Atributo | Tipo | Descrição | Valores possíveis | Obrigatoriedade |
status | Body.String | Status final que deseja simular para a order. | expired | Obrigatório |
Se a solicitação for bem-sucedida, a resposta retornará status 204 No Content, sem corpo de resposta.
Você receberá uma notificação Webhook do Mercado Pago com o campo action definido como order.expired. No nó transactions.payments, será possível consultar o status do pagamento, conforme exemplificado abaixo.
Além disso, é possível consultar o endpoint Obter order por IDAPI para verificar o status da order.
json
{ "action": "order.expired", "api_version": "v1", "application_id": "123456", "data": { "external_reference": "ext_ref_1234", "id": "ORD01JYH1Z1YJN4HZ8J3Q0RB3YP6D", "status": "expired", "status_detail": "expired", "transactions": { "payments": [ { "amount": "120", "id": "PAY01K22Y503EJ8JHGF64KGY1PZ2B", "status": "expired", "status_detail": "expired" } ] }, "type": "point", "version": 3 }, "date_created": "2025-08-07T19:50:29.172256789Z", "live_mode": false, "type": "order", "user_id": "123456" }
Em alguns casos, uma transação pode exigir uma ação adicional do cliente no terminal. Para validar que sua integração lida corretamente com esse cenário, simule o status action_required de uma order. Esta simulação pode levar até 40 segundos para ser processada.
- Faça uma requisição para Criar orderAPI utilizando o Access Token de testeChave privada da aplicação criada no Mercado Pago, utilizada no backend. Você pode acessá-la em Suas integrações > Dados da integração > Testes > Credenciais de teste. O Access Token de teste começa com o prefixo `APP_USR`.Acessar as credenciais de teste.
- Armazene o identificador da order, retornado na resposta à sua criação sob o parâmetro
id. - Envie um POST ao endpoint Simular status da orderAPI, substituindo o
{order_id}no path da requisição peloidda order criada na etapa 1. No body da requisição, informe o campostatuscom o valoraction_required.
curl -X POST \
'https://api.mercadopago.com/v1/orders/{order_id}/events' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer TEST-232********97488-12********26f67454********f4c8b49c********9526408' \
-d '{
"status": "action_required"
}'
Consulte na tabela abaixo as descrições dos parâmetros que podem ser enviados nesta requisição.
| Atributo | Tipo | Descrição | Valores possíveis | Obrigatoriedade |
status | Body.String | Status final que deseja simular para a order. | action_required | Obrigatório |
Se a solicitação for bem-sucedida, a resposta retornará status 204 No Content, sem corpo de resposta.
Você receberá uma notificação Webhook do Mercado Pago com o campo action definido como order.action_required, indicando que uma ação é requerida no terminal, conforme exemplificado abaixo.
Além disso, é possível consultar o endpoint Obter order por IDAPI para verificar o status da order.
json
{ "action": "order.action_required", "api_version": "v1", "application_id": "123456", "data": { "external_reference": "ext_ref_1234", "id": "ORD01JYH1Z1YJN4HZ8J3Q0RB3YP6D", "status": "action_required", "status_detail": "check_on_terminal", "type": "point", "version": 3 }, "date_created": "2025-06-24T13:28:36.44747706Z", "live_mode": false, "type": "order", "user_id": "123456" }
Depois de testar todos os cenários e verificar o correto funcionamento da sua integração com o Mercado Pago Point, você poderá Subir em produção.
