AI resources

Create and configure a payment order

Server-Side

An Order is the central resource of the Orders API that unifies the payment lifecycle. When creating an Order for Checkout Pro, you define the transaction details, including products, prices, and buyer data, and obtain a checkout_url to redirect the buyer to the Mercado Pago payment form.

From its creation, the Order id will be the unique identifier you use to query, cancel, or refund the transaction throughout the entire flow.

Create the Order

To create an Order, send a POST with your Test Access TokenTest private key of the application created in Mercado Pago, used in the backend. You can access it through Your integrations > Integration data > Test credentials. and the required parameters to the endpoint Create orderAPI and execute the request. Create one Order per payment or transaction flow you want to initiate.

Always include the X-Idempotency-Key header with a unique UUID per attempt to avoid creating duplicate Orders.

ParameterTypeRequiredDescriptionExample
typestringYesOrder type. For Checkout Pro, the only possible value is online."online"
total_amountstringYesTotal amount to be paid. Must equal the sum of items[].unit_price × items[].quantity."1000.00"
external_referencestringNoExternal reference for the order, used to identify the transaction origin."order_pro_123"
processing_modestringYesProcessing mode. For Checkout Pro, the only possible value is manual."manual"
capture_modestringNoCapture mode. Use automatic for an immediate result or automatic_async for asynchronous flows."automatic_async"
marketplace_feestringNoFee charged by the marketplace, credited to the marketplace account."50.00"
expiration_timestringNoOrder availability duration in ISO 8601 format."P1D"
payerobjectNoBuyer information. The payer.email field is required.{"email": "buyer@email.com"}
itemsarrayNoList of items to be paid. The title, quantity, and unit_price fields are required per item.[{"title": "My product", "unit_price": "1000.00", "quantity": 1}]
configobjectNoOrder settings: return URLs, payment method restrictions, and checkout behavior.
additional_infoobjectNoSupplementary data for fraud prevention. Required for vertical industries such as travel.
descriptionstringNoDescription of the product or service."Smartphone"
To view all nested fields and their possible values, refer to the Create orderAPI endpoint in the API Reference.

curl

curl -X POST \
    -H 'accept: application/json' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer ENV_ACCESS_TOKEN' \
    -H 'X-Idempotency-Key: UNIQUE_KEY' \
    'https://api.mercadopago.com/v1/orders' \
    -d '{
  "type": "online",
  "processing_mode": "manual",
  "total_amount": "1000.00",
  "external_reference": "order_pro_123",
  "payer": {
    "email": "buyer@email.com"
  },
  "items": [
    {
      "title": "My product",
      "unit_price": "1000.00",
      "quantity": 1,
      "unit_measure": "unit",
      "total_amount": "1000.00"
    }
  ]
}'

Get the redirect URL ("checkout_url")

When the request is executed, the response will contain the Order id and the checkout_url field with the redirect URL to the Mercado Pago payment form. This URL is the address to which you must redirect the buyer so they can complete the transaction. Save the Order id for future operations, such as status queries, cancellations, and refunds. Note that country_code and currency values vary depending on the seller's account country.

json

{
  "id": "ORDTST01KS5AJ6HTK2HRQ3XJ3C2JCKP9",
  "type": "online",
  "processing_mode": "manual",
  "status": "created",
  "status_detail": "created",
  "capture_mode": "automatic_async",
  "external_reference": "order_pro_123",
  "description": "My product",
  "total_amount": "1000.00",
  "total_paid_amount": "0.00",
  "checkout_url": "https://www.mercadopago.com.ar/checkout/v1/redirect?order_id=ORDTST01KS5AJ6HTK2HRQ3XJ3C2JCKP9",
  "client_token": "eyJhbGciOiJSUzI1NiIs...",
  "expiration_time": "P1D",
  "country_code": "ARG",
  "user_id": "1858095454",
  "currency": "ARS",
  "created_date": "2026-05-21T13:10:56.845Z",
  "last_updated_date": "2026-05-21T13:10:56.845Z",
  "integration_data": {
    "application_id": "8772548647196351"
  },
  "config": {
    "online": {
      "retries": {
        "allowed": false
      }
    },
    "payment_method": {}
  },
  "items": [
    {
      "title": "My product",
      "unit_price": "1000.00",
      "quantity": 1,
      "unit_measure": "unit",
      "total_amount": "1000.00"
    }
  ]
}

See the table below for a description of the main fields returned in the response.

FieldTypeDescriptionExample
idstringUnique identifier of the order, automatically generated by Mercado Pago."ORDTST01KS5AJ6HTK2HRQ3XJ3C2JCKP9"
typestringOrder type. For Checkout Pro, always online."online"
processing_modestringOrder processing mode. For Checkout Pro, always manual."manual"
statusstringCurrent order status. When created, returns created."created"
status_detailstringOrder status detail."created"
capture_modestringPayment capture mode."automatic_async"
external_referencestringExternal reference of the order defined at creation time."order_pro_123"
descriptionstringDescription of the product or service."My product"
total_amountstringTotal order amount."1000.00"
total_paid_amountstringTotal amount paid so far."0.00"
checkout_urlstringURL to redirect the buyer to the Mercado Pago payment form."https://www.mercadopago.com.ar/checkout/..."
client_tokenstringClient token generated for use in the frontend SDK."eyJhbGci..."
expiration_timestringOrder availability duration in ISO 8601 format."P1D"
country_codestringCountry code of the seller's account."ARG"
user_idstringSeller user identifier in Mercado Pago."1858095454"
currencystringTransaction currency, according to the seller's country."ARS"
created_datestringOrder creation date and time in ISO 8601 format."2026-05-21T13:10:56.845Z"
last_updated_datestringDate and time of the last order update in ISO 8601 format."2026-05-21T13:10:56.845Z"
integration_dataobjectIntegration data, including the application_id.{"application_id": "8772548647196351"}
configobjectApplied order settings, including retry behavior and payment methods.
itemsarrayList of order items.

With the checkout_url available, the next step is to configure the frontend to redirect the buyer.

Manage the Order

Once the Order is created, you can check its status or search for it at any time using the id returned in the response. Use the following endpoints:

To customize Order behavior —such as capture_mode, payment method restrictions, or expiration date—, see the Additional settings section.

Choose the integration type

Choose the integration type that best suits your needs, whether for a website or a mobile application, and follow the detailed steps to complete the Checkout Pro integration.

Continue web integration
Offer payments with redirection to Mercado Pago on your website or online store.
Continue mobile integration
Offer payments with redirection to Mercado Pago on your mobile application.