Which documentation are you looking for?
Do not know how to start integrating?
Check the first stepsDid you find this information useful?
Yes
No
Create order/merchant_ordersGenerate an order to associate it with the payment preference and obtain the necessary URL to start the payment flow.
POST
Products that use it:
Request's parameters
additional_info
Localization: bodyAdditional information.string
application_id
Localization: bodyapplication identifier.string
external_reference
Localization: bodyUnique identifier sent by the seller to relate the order_id generated by Mercado Pago, with the id of their payment systemstring
items
Localization: bodyitems information.array
Response parameters
id
Localization: bodyUnique identifier of the order generated by Mercado Pagonumber
status
Localization: bodyShow the current merchant order state.string
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
Localization: bodyUnique identifier sent by the seller to relate the order_id generated by Mercado Pago, with the id of their payment systemstring
preference_id
Localization: bodyIdentifier of the payment preference associated to the orderstring
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_id
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