AI resources
Process payment

Processes a credit card payment for an order using Card Data, Brand Token, or Acceptor Token. The idempotency-id parameter must be unique per request — change it on each retry.

POST

https://api.mercadopago.com/instore/v2/external/orders/{order_id}/payments
Request parameters
Header
Authorization
string

REQUIRED

Bearer access token.
idempotency-id
string

REQUIRED

Unique value per request. On retry due to timeout or network error, keep the same value to avoid duplicate charges.
trace-id
string

REQUIRED

Traceability identifier.
Path
order_id
string

REQUIRED

Order ID returned by the Resolve QR endpoint (order.id).
Body
plan
object
Plan selected from the Query available plans response.
payment_method
object
Payment method. Use card.card_data for Card Data, card.brand_token for Brand Token, or card.acceptor_token for Acceptor Token.
Response parameters
payment_id
string
Unique identifier of the payment created by Mercado Pago. Use this value to query payment status via the Get payment by payment ID endpoint.
status
string
Initial status of the payment immediately after processing. The payment may still be in an intermediate state — poll Get payment by payment ID to check the final status.
Errors

404Not Found

500Internal Server Error

Request
curl -X POST \
    'https://api.mercadopago.com/instore/v2/external/orders/{order_id}/payments'\
    -H 'Content-Type: application/json' \
       -H 'Authorization: Bearer APP_USR-' \
       -H 'idempotency-id: ' \
       -H 'trace-id: ' \
    -d '{
  "plan": {
    "type": "COMERCIO",
    "description": "Plan COMERCIO - installment 1",
    "installments": 1,
    "total_amount": {
      "currency": "ARS",
      "value": 100
    },
    "installment_amount": {
      "currency": "ARS",
      "value": 100
    },
    "financial_info": {
      "total_financial_cost": "0.00",
      "nominal_annual_rate": "0.00"
    },
    "required_fields": [
      "payment_method.card.holder.name",
      "payment_method.card.holder.identification_type",
      "payment_method.card.holder.identification_number"
    ]
  },
  "payment_method": {
    "card": {
      "card_data": {
        "number": "4509953566233704",
        "security_code": "123",
        "expiration_month": 12,
        "expiration_year": 2031,
        "entry_mode": "MANUAL"
      },
      "brand_token": {
        "original_bin": "450995",
        "original_last4": "3704",
        "token": "4509953566233704",
        "cryptogram": "/gAAAAAC2/mj+KoAmbV0gmQAAAA=",
        "security_indicator": "eci",
        "par": "V0010015822051006609916940054",
        "expiration_month": 12,
        "expiration_year": 2031,
        "token_requestor_id": "123"
      },
      "acceptor_token": "APP_USR-4934588586838432",
      "holder": {
        "name": "Test Test",
        "identification_type": "DNI",
        "identification_number": "33485274"
      }
    },
    "wallet": {
      "name": "galicia",
      "provider": "modo",
      "brand_wallet_id": "id_brand_123",
      "user": {
        "email": "test@example.com",
        "phone": "1141234567",
        "device_id": "ID_1234",
        "identification_type": "DNI",
        "identification_number": "33485274"
      }
    }
  }
}'
Response
{
  "payment_id": "123456789",
  "status": "IN_PROCESS"
}