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 > Detalhes da aplicaçã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, é essencial que o terminal esteja previamente vinculado às suas credenciais de teste. Para mais informações sobre como realizar essa associação, acesse Configurar terminal.
A mudança de status pode levar até 10 segundos para ser processada. 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.
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 > Detalhes da aplicação > Testes > Credenciais de teste.Acessar as credenciais de teste.
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 > Detalhes da aplicação > Testes > Credenciais de teste.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 | 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, argencard, cabal, cencosud, cmr, diners, naranja, debcabal | 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 > Detalhes da aplicação > Testes > Credenciais de teste.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 | 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, argencard, cabal, cencosud, cmr, diners, naranja, debcabal | 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 > Detalhes da aplicação > Testes > Credenciais de teste.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 > Detalhes da aplicação > Testes > Credenciais de teste.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" }
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.
