AI resources

Refunds and cancellations

Refunds and cancellations are processes you can initiate once a payment has been made. Since these actions involve a return of money, they may seem similar, but it is important to understand what differentiates them in order to correctly carry out each of the processes.

  • Refund: is made after the payment is processed, and the amount will be credited directly to the statement in the case of a credit card, or to the payer's account when the payment is made by other means.
  • Cancellation: is made when the payment has not yet been completed and requires an additional action, and the limit is returned to the buyer's card within the timeframe defined by the issuing bank.

See below for more information on refunds and cancellations.

This documentation is intended for integrators. If you are a buyer and need to cancel or request a refund for a payment, access your Mercado Pago account, select the purchase in question, click on "Need help," and choose the refund or cancellation option.

Refunds in Split Payments

These are transactions that occur when a specific charge is reversed and the paid amounts are returned to the transaction participants. You can refund specific participants without affecting the others’ share, or process a full refund. Below you will find the different ways to manage a refund.

In Split Payments 1:N you cannot mix transactions and splits in the same refund request. For orders created with split, you must use only the splits object, indicating, for each participant who receives the refund, their User ID and the amount to be returned.

Cancellations

Cancellations allow you to void an order before the payment is confirmed. When canceled, the charge is not applied and no amount is debited from the buyer.

To cancel an order with Split Payments 1:N, send a POST to :TagComponent with an empty body. Cancellations can only be performed if the payment status is action_required, and a payment expires automatically after 30 days without confirmation, with a final status of cancelled or expired.

curl

curl --request POST \
  --url https://api.mercadopago.com/v1/orders/{Order_id}/cancel \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}'

json

{
  "id": "ORD01J49MMW3SSBK5PSV3DFR32959",
  "status": "cancelled",
  "status_detail": "by_collector"
}