Suggest edit
Help us improve the documentation
Did you see wrong information and would you like us to explain something else or improve our manuals? Please leave your suggestions on GitHub.

Mercado Pago SDK module for Payments integration

Supported Python Versions:

This SDK supports Python versions 2.x and 3.x

Install

On Python 2.x

pip install mercadopago

On Python 3.x

pip3 install mercadopago

Checkout Mercado Pago

Configure your credentials

Python

    import mercadopago
    import json

    mp = mercadopago.MP("CLIENT_ID", "CLIENT_SECRET")

 Preferences

Get an existent Checkout preference

Python

    def index(req, **kwargs):
        preferenceResult = mp.get_preference("PREFERENCE_ID")

        return json.dumps(preferenceResult, indent=4)

Create a Checkout preference

Python

    def index(req, **kwargs):
        preference = {
            "items": [
                {
                    "title": "Test",
                    "quantity": 1,
                    "currency_id": "USD",
                    "unit_price": 10.4
                }
            ]
        }

        preferenceResult = mp.create_preference(preference)

        return json.dumps(preferenceResult, indent=4)

Update an existent Checkout preference

Python

    def index(req, **kwargs):
        preference = {
                "items": [
                    {
                        "title": "Test Modified",
                        "quantity": 1,
                        "currency_id": "USD",
                        "unit_price": 20.4
                    }
                ]
            }

        preferenceResult = mp.update_preference(id, preference)

        return json.dumps(preferenceResult, indent=4)

Payments/Collections

Search for payments

Python

    def index(req, **kwargs):
        filters = {
            "id": None,
            "external_reference": None
        }

        searchResult = mp.search_payment(filters)

        return json.dumps(searchResult, indent=4)

Get payment data

Python

    import mercadopago
    import json

    def index(req, **kwargs):
        mp = mercadopago.MP("CLIENT_ID", "CLIENT_SECRET")
        paymentInfo = mp.get_payment (kwargs["id"])

        if paymentInfo["status"] == 200:
            return json.dumps(paymentInfo, indent=4)
        else:
            return None

Cancel (only for pending payments)

Python

    def index(req, **kwargs):
        result = mp.cancel_payment("ID")

        // Show result
        return json.dumps(result, indent=4)

Refund (only for accredited payments)

Python

    def index(req, **kwargs):
        result = mp.refund_payment("ID")

        // Show result
        return json.dumps(result, indent=4)

Customized checkout

Configure your credentials

Python

    import mercadopago
    import json

    mp = mercadopago.MP("ACCESS_TOKEN")

Create payment

Plain

mp.post ("/v1/payments", payment_data)

Create customer

Plain

mp.post ("/v1/customers", {"email": "email@test.com"})

Get customer

Plain

mp.get ("/v1/customers/CUSTOMER_ID")
  • View more Custom checkout related APIs in Developers Site
    • Argentina: https://www.mercadopago.com.mx/developers <https://www.mercadopago.com.mx/developers>_
    • Brazil: https://www.mercadopago.com.mx/developers <https://www.mercadopago.com.mx/developers>_
    • Mexico: https://www.mercadopago.com.mx/developers <https://www.mercadopago.com.mx/developers>_
    • Colombia: https://www.mercadopago.com.mx/developers <https://www.mercadopago.com.mx/developers>_

Generic methods

You can access any other resource from the MercadoPago API using the generic methods:

Plain

// Get a resource, with optional URL params. Also you can disable authentication for public APIs
mp.get ("/resource/uri", [params], [authenticate=true]);

// Create a resource with "data" and optional URL params.
mp.post ("/resource/uri", data, [params]);

// Update a resource with "data" and optional URL params.
mp.put ("/resource/uri", data, [params]);

// Delete a resource with optional URL params.
mp.delete ("/resource/uri", [params]);

For example, if you want to get the Sites list (no params and no authentication):

Plain

result = mp.get ("/sites", null, false);

print (json.dumps(result, indent=4))

Running tests

On Python 2.x

python setup.py test

On Python 3.x

python3 setup.py test

Your search returns no results.

Verifique a ortografia de termos de pesquisa ou teste com outras palavras-chave.