Create order - Merchant Orders - Mercado Pago Developers
Create order

POST

/merchant_orders
Generate an order to associate it with the payment preference and obtain the necessary URL to start the payment flow.
Request's parameters
additional_info
string
Localization: bodyAdditional information.
application_id
string
Localization: bodyapplication identifier.
external_reference
string
Localization: bodyUnique identifier sent by the seller to relate the order_id generated by Mercado Pago, with the id of their payment system
items
array
Localization: bodyitems information.
Response parameters
id
number
Localization: bodyUnique identifier of the order generated by Mercado Pago
status
string
Localization: bodyShow the current merchant order state.
opened: Order without payments.
closed: Order with payments covering total amount.
expired: Canceled order that does not have approved or pending payments (all rejected or returned).
external_reference
string
Localization: bodyUnique identifier sent by the seller to relate the order_id generated by Mercado Pago, with the id of their payment system
preference_id
string
Localization: bodyIdentifier of the payment preference associated to the order
Request
curl
curl -X POST \
    'https://api.mercadopago.com/merchant_orders' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    -d '{
  "external_reference": "default",
  "preference_id": "Preference identification",
  "payer": {
    "id": 123,
    "nickname": "JOHN"
  },
  "site_id": "MLA",
  "items": [
    {
      "id": "item id",
      "category_id": "item category",
      "currency_id": "BRL",
      "description": "item description",
      "picture_url": "item picture",
      "quantity": 1,
      "unit_price": 5,
      "title": "item title"
    }
  ],
  "application_id": 10000000000000000
}'
Answer
json
{
  "id": 9999999999,
  "status": "closed",
  "external_reference": "default",
  "preference_id": "Preference identification",
  "collector": {
    "id": 999999999
  },
  "marketplace": "NONE",
  "date_created": "2018-09-14T17:11:31.000Z",
  "last_updated": "2018-09-14T17:11:43.000Z",
  "shipping_cost": 0,
  "total_amount": 5,
  "site_id": "MLA",
  "paid_amount": 5,
  "refunded_amount": 0,
  "payer": {
    "id": 999999999
  },
  "items": [
    {
      "id": "item id",
      "category_id": "item category",
      "currency_id": "BRL",
      "description": "item description",
      "picture_url": "item picture url",
      "title": "item title",
      "quantity": 1,
      "unit_price": 5
    }
  ],
  "additional_info": "additional information",
  "application_id": 10000000000000000,
  "order_status": "paid"
}
Errors
400bad_request
invalid_user_idinvalid users involved.
invalid_order_statethe action requested is not valid for the current merchant order state.
invalid_stringstring too long.
invalid_application_idinternal server error.
invalid_itemsinvalid unit_price.
user_not_alloweduser not allowed to operate.
invalid_operation_typeinvalid operation type.
invalid_payerinvalid payer identifier.
invalid_idinvalid preference_id.
invalid_expiredthe preference_id has expired.
invalid_sponsor_idinvalid sponsor_id.
invalid_marketplaceinvalid marketplace.
unmarshal_errorcould not unmarshal request body into merchant order struct.
invalid_urlinvalid URL. Isn't HTTP or HTTPS.
communication_errorError when calling...
401bad_request
invalid_tokenaccess denied.
invalid_caller_idinvalid caller_id