# MD for: https://www.mercadopago.com.br/developers/pt/docs/checkout-pro-orders/create-order.md \> SERVER\_SIDE > > h1 > > Create and configure a payment order 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 :toolTipComponent\[Test Access Token\]{content="Test 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 :TagComponent{tag="API" text="Create order" href="/developers/en/reference/online-payments/checkout-pro/create-order/post"} 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. | Parameter | Type | Required | Description | Example | |---|---|---|---|---| | \`type\` | string | Yes | Order type. For Checkout Pro, the only possible value is \`online\`. | \`"online"\` | | \`total\_amount\` | string | Yes | Total amount to be paid. Must equal the sum of \`items\[\].unit\_price\` × \`items\[\].quantity\`. | \`"1000.00"\` | | \`external\_reference\` | string | No | External reference for the order, used to identify the transaction origin. | \`"order\_pro\_123"\` | | \`processing\_mode\` | string | Yes | Processing mode. For Checkout Pro, the only possible value is \`manual\`. | \`"manual"\` | | \`capture\_mode\` | string | No | Capture mode. Use \`automatic\` for an immediate result or \`automatic\_async\` for asynchronous flows. | \`"automatic\_async"\` | | \`marketplace\_fee\` | string | No | Fee charged by the marketplace, credited to the marketplace account. | \`"50.00"\` | | \`expiration\_time\` | string | No | Order availability duration in ISO 8601 format. | \`"P1D"\` | | \`payer\` | object | No | Buyer information. The \`payer.email\` field is required. | \`{"email": "buyer@email.com"}\` | | \`items\` | array | No | List 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}\]\` | | \`config\` | object | No | Order settings: return URLs, payment method restrictions, and checkout behavior. | — | | \`additional\_info\` | object | No | Supplementary data for fraud prevention. Required for vertical industries such as travel. | — | | \`description\` | string | No | Description of the product or service. | \`"Smartphone"\` | > NOTE > > To view all nested fields and their possible values, refer to the :TagComponent{tag="API" text="Create order" href="/developers/en/reference/online-payments/checkout-pro/create-order/post"} 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. | Field | Type | Description | Example | |---|---|---|---| | \`id\` | string | Unique identifier of the order, automatically generated by Mercado Pago. | \`"ORDTST01KS5AJ6HTK2HRQ3XJ3C2JCKP9"\` | | \`type\` | string | Order type. For Checkout Pro, always \`online\`. | \`"online"\` | | \`processing\_mode\` | string | Order processing mode. For Checkout Pro, always \`manual\`. | \`"manual"\` | | \`status\` | string | Current order status. When created, returns \`created\`. | \`"created"\` | | \`status\_detail\` | string | Order status detail. | \`"created"\` | | \`capture\_mode\` | string | Payment capture mode. | \`"automatic\_async"\` | | \`external\_reference\` | string | External reference of the order defined at creation time. | \`"order\_pro\_123"\` | | \`description\` | string | Description of the product or service. | \`"My product"\` | | \`total\_amount\` | string | Total order amount. | \`"1000.00"\` | | \`total\_paid\_amount\` | string | Total amount paid so far. | \`"0.00"\` | | \`checkout\_url\` | string | URL to redirect the buyer to the Mercado Pago payment form. | \`"https://www.mercadopago.com.ar/checkout/..."\` | | \`client\_token\` | string | Client token generated for use in the frontend SDK. | \`"eyJhbGci..."\` | | \`expiration\_time\` | string | Order availability duration in ISO 8601 format. | \`"P1D"\` | | \`country\_code\` | string | Country code of the seller's account. | \`"ARG"\` | | \`user\_id\` | string | Seller user identifier in Mercado Pago. | \`"1858095454"\` | | \`currency\` | string | Transaction currency, according to the seller's country. | \`"ARS"\` | | \`created\_date\` | string | Order creation date and time in ISO 8601 format. | \`"2026-05-21T13:10:56.845Z"\` | | \`last\_updated\_date\` | string | Date and time of the last order update in ISO 8601 format. | \`"2026-05-21T13:10:56.845Z"\` | | \`integration\_data\` | object | Integration data, including the \`application\_id\`. | \`{"application\_id": "8772548647196351"}\` | | \`config\` | object | Applied order settings, including retry behavior and payment methods. | — | | \`items\` | array | List 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: - :TagComponent{tag="API" text="Get Order by ID" href="/developers/en/reference/online-payments/checkout-pro/get-order/get"} - :TagComponent{tag="API" text="Search Orders" href="/developers/en/reference/online-payments/checkout-pro/search-orders/get"} > NOTE > > To customize Order behavior —such as \`capture\_mode\`, payment method restrictions, or expiration date—, see the \[Additional settings\](https://www.mercadopago.com.br/developers/en/docs/checkout-pro-orders/additional-settings/exclude-payment-methods) 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. [ Web integration ](https://www.mercadopago.com.br/developers/en/docs/checkout-pro-orders/configure-return-urls) Continue mobile integration Offer payments with redirection to Mercado Pago on your mobile application. [ Mobile integration ](https://www.mercadopago.com.br/developers/en/docs/checkout-pro-orders/mobile-integration/flutter)