Integration test
The integration test of Mercado Pago Point with your system is based on performing a series of transactions and their corresponding validations using our API. This way, you can ensure everything works correctly before receiving real payments, thanks to different test scenarios.
In these transactions, you must use your production credentialsA set of unique access keys linked to your application that allow you to receive real payments. You can access them through Your integrations > Application details > Production > Production credentials. Use your production Public Key in the frontend, and your production Access Token in the backend., real cards and perform operations for minimum amounts. This is already considered and will not be a problem: the test flow itself guarantees that the money will be refunded to the card used for the payment.
Follow the detailed step-by-step for each test scenario to verify how your integration works.
To test the correct creation of an order and the processing of the associated payment, follow the steps below.
- Make a request to Create orderAPI making sure to provide a minimum amount for the
transactions.payments.amount
field. If you have questions about how to do this, go to the section Integrate payment processing > Create an order. - Store the order identifier, returned in the response to its creation under the
id
parameter, so you can verify the correct operation of your Webhooks notifications. - Process the payment, which should be automatically obtained from the assigned terminal, following the steps indicated on the screen and using a real card.
- Check that you have received the Mercado Pago Webhook notification for the processing of the order and the payment. In the
action
field, the valueorder.processed
will be indicated, which means the order was processed, and within thetransactions.payments
node you will see the paymentstatus
, as shown in the Webhook notification example below.
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": "master", "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": true, "type": "order", "user_id": "123456" }
If, instead of receiving a notification about the processing of the order, you receive one with the action order.action_required
, you should check the payment status on the terminal and, if necessary, try to create an order and process the payment again to verify the correct operation of the flow.
To confirm that the payment flow works correctly, you must refund the transaction processed in the previous step, thus returning the amount involved in that test scenario.
To do this, send a POST to the endpoint Refund an orderAPI, making sure to include the id
of the order you want to refund, obtained in the response to its creation. If you have questions about how to do this, go to the section Integrate payment processing > Refund an order.
Finally, check that you have received the corresponding Mercado Pago Webhook notification for this transaction, which should indicate in the action
field the value order.refunded
, and will also show the status of the refunded payment.
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": true, "type": "order", "user_id": "123456" }
To validate that the payment cancellation flow works correctly, you can test both cancellation methods: via API or from the terminal.
To be able to cancel your test order via API, it must not be obtained by the terminal and must remain in the created
state. Although this test scenario is very specific, it can be useful for you to practice how to resolve, from your integration, cases where, for example, your terminal loses wifi signal.
To test this scenario, follow the steps below.
- Start by turning off the wifi on your terminal.
- Make a new call to Create orderAPI making sure to provide a minimum amount for the
transactions.payments.amount
field. - Check that the order has not reached the terminal. If it has already been obtained, you must cancel it from the terminal and start this process again.
- Make a request to Cancel order by IDAPI sending in the request path the
id
of the order created in step 2, obtained in the response to its creation.
Once you have tested all the scenarios and verified the correct operation of your integration with Mercado Pago Point, you can Go to production.