Mercado Pago SDK for Python
This library provides developers with a simple set of bindings to help you integrate Mercado Pago API to a website and start receiving payments.
💡 Requirements
Python 3.9 or higher.
📲 Installation
Run pip3 install mercadopago
🌟 Getting Started
First time using Mercado Pago? Create your Mercado Pago account.
Copy your Access Token in the credentials panel and replace the text YOUR_ACCESS_TOKEN with it.
Simple usage — Orders API
The Orders API (/v1/orders) is the recommended way to accept payments. sdk.order().create() accepts either a plain dict or the optional typed request dataclasses (OrderCreateRequest and friends). Both routes produce the exact same JSON body.
import mercadopago
sdk = mercadopago.SDK("YOUR_ACCESS_TOKEN")
request_options = mercadopago.config.RequestOptions()
request_options.custom_headers = {
'x-idempotency-key': '<SOME_UNIQUE_VALUE>'
}
order_data = {
"type": "online",
"total_amount": "100.00",
"external_reference": "ext_ref_1234",
"transactions": {
"payments": [
{
"amount": "100.00",
"payment_method": {
"id": "master",
"type": "credit_card",
"token": "CARD_TOKEN",
"installments": 1,
},
}
]
},
"payer": {
"email": "test_user_123456@testuser.com"
},
}
result = sdk.order().create(order_data, request_options)
order = result["response"]
print(order)
Typed request classes (optional)
Instead of a dict, you can build the request with the typed dataclasses. None
fields are omitted from the JSON body automatically, matching the dict route.
import mercadopago
from mercadopago.resources.order_create import OrderCreateRequest, OrderPayerRequest
from mercadopago.resources.order_item import OrderItemRequest
sdk = mercadopago.SDK("YOUR_ACCESS_TOKEN")
order = OrderCreateRequest(
type="online",
total_amount="100.00",
external_reference="ext_ref_1234",
payer=OrderPayerRequest(email="test_user_123456@testuser.com"),
items=[OrderItemRequest(title="A book", unit_price="100.00", quantity=1)],
)
result = sdk.order().create(order)
print(result["response"])
For a complete recurring / Automatic Payments example (stored credential,
subscription data, integration data), see
examples/order/create_order_automatic_payment.py.
Creating a payment (legacy Payments API)
import mercadopago
sdk = mercadopago.SDK("YOUR_ACCESS_TOKEN")
request_options = mercadopago.config.RequestOptions()
request_options.custom_headers = {
'x-idempotency-key': '<SOME_UNIQUE_VALUE>'
}
payment_data = {
"transaction_amount": 100,
"token": "CARD_TOKEN",
"description": "Payment description",
"payment_method_id": 'visa',
"installments": 1,
"payer": {
"email": 'test_user_123456@testuser.com'
}
}
result = sdk.payment().create(payment_data, request_options)
payment = result["response"]
print(payment)
Per-request configuration
All methods that make API calls accept an optional RequestOptions object. This can be used to configure some special options of the request, such as changing credentials or custom headers.
import mercadopago
from mercadopago.config import RequestOptions
request_options = RequestOptions(access_token='YOUR_ACCESS_TOKEN')
# ...
result = sdk.payment().create(payment_data, request_options)
payment = result["response"]
📚 Documentation
Visit our Dev Site for further information regarding:
Check our official code reference to explore all available functionalities.
🤝 Contributing
All contributions are welcome, ranging from people wanting to triage issues, others wanting to write documentation, to people wanting to contribute code.
Please read and follow our contribution guidelines. Contributions not following this guidelines will be disregarded. The guidelines are in place to make all of our lives easier and make contribution a consistent process for everyone.
❤️ Support
If you require technical support, please contact our support team at developers.mercadopago.com.
🏻 License
MIT license. Copyright (c) 2021 - Mercado Pago / Mercado Libre
For more information, see the LICENSE file.
Release files for mercadopago 3.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mercadopago-3.6.0.tar.gz | 67.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mercadopago-3.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 148.8 kB
Release files / mercadopago-3.6.0.tar.gz
| Download URL | mercadopago-3.6.0.tar.gz |
|---|---|
| Size | 67.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcf6cb11f1d5505b9b237682b97e482a13cda0cbb4829de28a07028775f58632
|
|
BLAKE2b-256 checksum How to use checksums |
761f49c0d2439203ccdb032ad558f2ce98111cb550266e9e106ea74136b3ad4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / mercadopago-3.6.0-py3-none-any.whl
| Download URL | mercadopago-3.6.0-py3-none-any.whl |
|---|---|
| Size | 81.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a405991f8520ee36b2857bf7b2c8fbd701a5f429fc8f60fcf9fd2a9e664bb0f
|
|
BLAKE2b-256 checksum How to use checksums |
afe6ed2c481aa6cdf366d090976a95f753bfdac6ee0a5ff4622f1f8ee533d7a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|