---
product_landing_hero:
- title: Checkout Pro
- message: Checkout Pro redirects the buyer to a Mercado Pago environment to complete the payment. You can integrate it using the Orders API (modern flow) or the Preferences API (classic flow). This reference describes the available endpoints and how to interact with them.
- info: Looking for integration steps? [Go to Checkout Pro via Orders documentation](/developers/en/docs/checkout-pro-orders/overview) or [Classic Checkout Pro](/developers/en/docs/checkout-pro/overview).
---
---
product_landing_what_it_offers:
- title: Which integration path should you use?
- message: Choose based on your use case.
- benefit_title: Via Orders API (Recommended)
- benefit_bullet: Simplified flow with a single endpoint
- benefit_bullet: Direct checkout_url to redirect the buyer
- benefit_bullet: New features and simplified notifications
- benefit_title: Via Preferences API (Legacy)
- benefit_bullet: Preference-based flow with init_point
- benefit_bullet: Compatible with existing integrations
---
:::::TabsComponent
::::TabComponent{title="Via Preferences API (Legacy)"}
> WARNING
>
> **This integration path is not recommended.** The Preferences API will continue to be supported, but new features will only be available in the Orders API. If you are starting a new integration, [use the Orders API](/developers/en/reference/online-payments/checkout-pro/create-order/post). If you already have a Preferences integration, check the [Checkout Pro via Orders documentation](/developers/en/docs/checkout-pro-orders/overview) to plan your migration.
## Available endpoints
All endpoints that make up the Checkout Pro integration via Preferences.
:::AccordionComponent{title="Preferences" pill="Core"}
The preference is the central object of the classic Checkout Pro flow. It defines the items, amounts, enabled payment methods, and the buyer's return URLs.
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="POST" text="Create preference" href="/developers/en/reference/online-payments/checkout-pro-preferences/preferences/create-preference/post" color="green"} | `/checkout/preferences` | Creates a preference with items, prices, and `back_urls`; returns the `init_point` to redirect the buyer. |
| :TagComponent{tag="GET" text="Search preferences" href="/developers/en/reference/online-payments/checkout-pro-preferences/preferences/search-preferences/get" color="accent"} | `/checkout/preferences/search` | Searches preferences by filters such as `external_reference` or date; returns paginated results. |
| :TagComponent{tag="GET" text="Get preference" href="/developers/en/reference/online-payments/checkout-pro-preferences/preferences/get-preference/get" color="accent"} | `/checkout/preferences/{id}` | Returns the detail of a preference: `init_point`, items, and configured `back_urls`. |
| :TagComponent{tag="PUT" text="Update preference" href="/developers/en/reference/online-payments/checkout-pro-preferences/preferences/update-preference/put" color="orange"} | `/checkout/preferences/{id}` | Updates an existing preference before the buyer completes the payment. |
:::
:::AccordionComponent{title="Payments" pill="Query"}
Read-only endpoints to verify the status of a payment after receiving the webhook notification or the return redirect.
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="GET" text="Search payments" href="/developers/en/reference/online-payments/checkout-pro-preferences/search-payments/get" color="accent"} | `/v1/payments/search` | Searches payments by filters such as `external_reference`, status, or date; returns paginated results. |
| :TagComponent{tag="GET" text="Get payment" href="/developers/en/reference/online-payments/checkout-pro-preferences/get-payment/get" color="accent"} | `/v1/payments/{id}` | Returns the status and detail of the payment, including `status_detail`, to confirm the result after the notification. |
:::
:::AccordionComponent{title="Payment methods" pill="Optional"}
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="GET" text="Get payment methods" href="/developers/en/reference/online-payments/checkout-pro-preferences/payment_methods/get" color="accent"} | `/v1/payment_methods` | Lists the payment methods available for the site, to include or exclude them in the preference. |
:::
:::AccordionComponent{title="Shipping" pill="Advanced"}
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="POST" text="Calculate shipping rates" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/calculate-shipping-rates/post" color="green"} | `/shipping/v1/shipments-rates` | Calculates the available shipping rates for a set of items and destination address. |
| :TagComponent{tag="POST" text="Create shipment" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/create-shipment/post" color="green"} | `/shipping/v1/shipments` | Creates a shipment associated with a preference; returns the shipment identifier. |
| :TagComponent{tag="GET" text="Get shipment" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/get-shipment/get" color="accent"} | `/shipping/v1/shipments` | Returns the detail and status of an existing shipment. |
| :TagComponent{tag="DELETE" text="Cancel shipment" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/cancel-shipment/delete" color="red"} | `/shipping/v1/shipments/{id}` | Cancels a shipment before it is dispatched. |
| :TagComponent{tag="GET" text="Get shipment label" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/get-shipment-label/get" color="accent"} | `/shipping/v1/shipments/{id}/packages/{packageId}/label` | Returns the shipment label in PDF format to print and attach to the package. |
| :TagComponent{tag="GET" text="Track shipment" href="/developers/en/reference/online-payments/checkout-pro-preferences/shipping/track-shipment/get" color="accent"} | `/shipping/v1/shipments-tracking/{tracking_number}` | Returns the tracking status of a shipment by its tracking number. |
:::
:::AccordionComponent{title="Chargebacks" pill="Post-payment management"}
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="GET" text="Get chargeback" href="/developers/en/reference/online-payments/checkout-pro-preferences/chargebacks/get-chargeback/get" color="accent"} | `/v1/chargebacks/{id}` | Retrieves a chargeback case by its ID returned in the _body_ of the [notification configured for chargebacks](/developers/en/docs/checkout-pro-preferences/chargebacks/notifications). Returns the chargeback details, including the dispute _status_, affected amount, and response deadline. |
| :TagComponent{tag="GET" text="Search chargebacks" href="/developers/en/reference/online-payments/checkout-pro-preferences/chargebacks/search-chargebacks/get" color="accent"} | `/v1/chargebacks/search` | Searches all chargebacks for a payment by its "payment_id" returned in the _body_ of the [notification configured for chargebacks](/developers/en/docs/checkout-pro-preferences/chargebacks/notifications). The search returns paginated results with the detail of each case. |
| :TagComponent{tag="POST" text="Upload supporting documentation" href="/developers/en/reference/online-payments/checkout-pro-preferences/chargebacks/upload-supporting-documentation/post" color="green"} | `/v1/chargebacks/{id}/documentation` | Uploads evidence files to dispute a chargeback while its _status_ ("documentation_status") is "pending". |
| :TagComponent{tag="GET" text="Get supporting documentation file" href="/developers/en/reference/online-payments/checkout-pro-preferences/chargebacks/get-supporting-documentation/get" color="accent"} | `/v1/chargebacks/documentation/{type}/{uuid}` | Downloads or renders inline a documentation file uploaded for a chargeback case. |
:::
## SDKs
Use our official SDKs to integrate Checkout Pro faster. GitHub is the source of truth for each library.
:::LinksListComponent
- [SDK Java](https://github.com/mercadopago/sdk-java)
- [SDK Python](https://github.com/mercadopago/sdk-python)
- [SDK PHP](https://github.com/mercadopago/sdk-php)
- [SDK Node.js](https://github.com/mercadopago/sdk-nodejs)
- [SDK Ruby](https://github.com/mercadopago/sdk-ruby)
- [SDK .NET](https://github.com/mercadopago/sdk-dotnet)
:::
---
product_landing_how_integrate:
- title: All set to get started?
- sub_title: Go to the first endpoint and start creating your first payment preference.
- button_description: Create preference
- button_link: /developers/en/reference/online-payments/checkout-pro-preferences/preferences/create-preference/post
---
::::
::::TabComponent{title="Via Orders API (Recommended)"}
## Available endpoints
All endpoints that make up the Checkout Pro integration via Orders.
:::AccordionComponent{title="Orders" pill="Core"}
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="POST" text="Create order" href="/developers/en/reference/online-payments/checkout-pro/create-order/post" color="green"} | `/v1/orders` | Creates an order with items, buyer data, and return URLs; returns the `checkout_url` to redirect the buyer to the Mercado Pago payment form. |
| :TagComponent{tag="GET" text="Get order by ID" href="/developers/en/reference/online-payments/checkout-pro/get-order/get" color="accent"} | `/v1/orders/{order_id}` | Returns the status and detail of an order, including `status` and `status_detail`. |
| :TagComponent{tag="GET" text="Search orders" href="/developers/en/reference/online-payments/checkout-pro/search-orders/get" color="accent"} | `/v1/orders` | Searches orders by filters such as `external_reference` or status; returns paginated results. |
| :TagComponent{tag="POST" text="Cancel order by ID" href="/developers/en/reference/online-payments/checkout-pro/cancel-order/post" color="green"} | `/v1/orders/{order_id}/cancel` | Cancels an order in `created` or `action_required` status. |
| :TagComponent{tag="POST" text="Refund an order" href="/developers/en/reference/online-payments/checkout-pro/refund-order/post" color="green"} | `/v1/orders/{order_id}/refund` | Creates a full or partial refund for an order in `processed` status. |
:::
:::AccordionComponent{title="Payment methods" pill="Optional"}
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="GET" text="Get payment methods" href="/developers/en/reference/online-payments/checkout-pro/payment_methods/get" color="accent"} | `/v1/payment_methods` | Lists the payment methods available for the site, to include or exclude them in the order. |
:::
:::AccordionComponent{title="Chargebacks" pill="Post-payment management"}
| Operation | Path | Description |
|---|---|---|
| :TagComponent{tag="GET" text="Get chargeback" href="/developers/en/reference/online-payments/checkout-pro/chargebacks/get-chargeback/get" color="accent"} | `/v1/chargebacks/{id}` | Retrieves a chargeback case by its ID ("case_id") returned in the _body_ of the [notification configured for chargebacks](/developers/en/docs/checkout-pro-orders/chargebacks/notifications). Returns the chargeback details, including the dispute _status_, affected amount, and response deadline. |
| :TagComponent{tag="GET" text="Search chargebacks" href="/developers/en/reference/online-payments/checkout-pro/chargebacks/search-chargebacks/get" color="accent"} | `/v1/chargebacks/search` | Searches all chargebacks for a payment by its "payment_id" returned in the _body_ of the [notification configured for chargebacks](/developers/en/docs/checkout-pro-orders/chargebacks/notifications). The search returns paginated results with the detail of each case. |
| :TagComponent{tag="POST" text="Upload supporting documentation" href="/developers/en/reference/online-payments/checkout-pro/chargebacks/upload-supporting-documentation/post" color="green"} | `/v1/chargebacks/{id}/documentation` | Uploads evidence files to dispute a chargeback while its _status_ ("documentation_status") is "pending". |
| :TagComponent{tag="GET" text="Get supporting documentation file" href="/developers/en/reference/online-payments/checkout-pro/chargebacks/get-supporting-documentation/get" color="accent"} | `/v1/chargebacks/documentation/{type}/{uuid}` | Downloads or renders inline a documentation file uploaded for a chargeback case. |
:::
---
product_landing_how_integrate:
- title: All set to get started?
- sub_title: Go to the first endpoint and start building your payment flow with the Orders API.
- button_description: Create order
- button_link: /developers/en/reference/online-payments/checkout-pro/create-order/post
---
::::
:::::