This site requires javascript to be enabled.

Mercado Pago

Results for

Results for Searching

Integration

Before you begin

  • Make sure you are boarded with Mercado Pago
  • Build your server integration
  • The correct API endpoint
  • A way to construct the authorization header (API Explorer, SDKs, etc.)
  • A way to send REST API calls (API Explorer, SDKs, etc.)

Using MyCheckout hosted payment pages

MyCheckout hosted payment pages is the optimal solution if you're looking for the quickest way to accept payments and a hassle-free experience for your consumers.

  1. Make the Create hosted checkout API call, submitting the required properties.
  2. Add the order object containing the required properties. 
Below, you'll find an example API call with the essential data. To add more information with additional properties, please visit to our API Reference.
Property Data type Required
order object yes
amountOfMoney object yes
currencyCode string yes
amount integer yes
customer object yes
merchantCustomerId object yes
billingAddress string yes
hostedCheckoutSpecificInput object yes
locale string no
variant string no

Additionally, you can add hostedCheckoutSpecificInput object, featuring the following strings:

  • returnUrl - the URL that the consumer is redirect to after the payment flow has finished. 
  • variant - the created styling of the checkout page tailored to your consumer's preferences.
  • locale - the language, that will be used for your hosted checkout page.
POST HOSTEDCHECKOUT REQUEST

    {
  "order": {
    "amountOfMoney": {
      "currencyCode": "BRL",
      "amount": 2345
    },
    "customer": {
      "merchantCustomerId": "CustomerDetails",
      "billingAddress": {
        "countryCode": "BR"
      }
    }
  },
  "hostedCheckoutSpecificInput": {
    "locale": "en_GB",
    "variant": "138"
  }
}
POST HOSTEDCHECKOUT RESPONSE
{   "RETURNMAC": "89084bf6-d736-40a0-a5a0-2e6fb50baeae",
  "hostedCheckoutId": "067f7c64-6969-71ff-ba79-2d1cf4246ae1",
  "partialRedirectUrl": "pay1.checkout.worldline-solutions.com/checkout/9991-04b38b3ce0f5443599838b4fec060e76:067f7c64-6969-71ff-ba79-2d1cf4246ae1:41a98d29c2d347ff9582ea0d691fe883"
  {

From the response, the important properties are:

  • hostedCheckoutId– can be used in subsequent API calls to retrieve the transaction details, (with Get hosted checkout status API call);
  • partialRedirectUrl– is used to create the URL to which the customer needs to be redirected, By default, we configure every account with the subdomain payment, so you can always connect https://payment/. with the partialRedirectUrl, for example:

https://payment.pay1.preprod.checkout.worldline-solutions.com/checkout/9992-6ce05357a95344********

For more information on customizing the checkout page, please refer to our detailed guide on MyCheckout hosted payment pages.

The hostedCheckoutId is only valid for 2 hours. Ensure to store the createdPaymentOutput.payment.id from Get hosted checkout status response to be able to retrieve data after 2 hours have elapsed via Get payment API call. Alternatively, we can also send a webhook event that will contain it.

Using your own checkout page

You can build a direct integration using our SDKs (or integrate our API from scratch). Depending on your integration needs, there are several options available.

Client encryption

Our Client API allows you to perform various actions. All you need is to be able to create a session via the POST/v1/{merchantId}/sessions API call, which will grant you access to the Client API. It's highly recommended that you use our Client SDKs, provided for the following programming languages:

We also have reference implementations showing how to use these SDKs on GitHub.

Non-encrypted data

If you wish to do a direct server-to-server API call, go for this option. The difference with the other options mentioned before is that you don't need to submit the encryptedCustomerInput property. After the consumer selects the payment product, you need to perform the following:

  1. Make a POST /v1/{merchantId}/payments API call.
  2. Add the order object containing the required properties.
  3. Add the redirectPaymentMethodSpecificInput object containing the required properties.
  4. Add the redirectionData object containing the returnUrl property.
Below, you'll find an example request containing the essential data. For more information, please refer to our API Reference.

For Brazil

Property Data type Required
order object yes
amountOfMoney object yes
amount integer yes
currencyCode string yes
customer object yes
billdingAddress object yes
countryCode string yes
contactDetails object yes
emailAddress string yes
fiscalNumber string yes
personalInformation object yes
name object yes
firstName string yes
surname string yes
redirectPaymentMethodSpecificInput object yes
references object yes
merchantReference string yes
paymentProductId integer yes
redirectionData object yes
returnUrl string yes

For Mexico

Property Data type Required
order object yes
amountOfMoney object yes
amount integer yes
currencyCode string yes
customer object yes
billdingAddress object yes
countryCode string yes
contactDetails object yes
emailAddress string yes
personalInformation object yes
name object yes
firstName string yes
surname string yes
references object yes
merchantReference string yes
paymentProductId integer yes
redirectionData object yes
returnUrl string yes
Below, you'll find an example request containing the essential data. For more information, please refer to our API Reference.

For Brazil

POST PAYMENTS REQUEST BRL
  {
    "order": {
        "amountOfMoney": {
            "amount": 35000,
            "currencyCode": "BRL"
        },
        "customer": {
            "billingAddress": {
                "countryCode": "BR"
            },
            "contactDetails": {
                "emailAddress": "Preston42@yahoo.com"
            },
            "fiscalNumber": "01709853505",
            "personalInformation": {
                "name": {
                    "firstName": "Josefina",
                    "surname": "Kuhlman"
                }
            }
        },
        "references": {
            "merchantReference": "2025060606"
        }
    },
    "redirectPaymentMethodSpecificInput": {
        "paymentProductId": 6106,
        "redirectionData": {
            "returnUrl": "https://epayments.developer-ingenico.com"
        }
    }
}
POST PAYMENTS RESPONSE BRL
{
  "creationOutput": {
    "additionalReference": "2025060606",
    "externalReference": "2025060606"
  },
  "merchantAction": {
    "actionType": "REDIRECT",
    "redirectData": {
      "RETURNMAC": "cb5a9d99-d3a7-43ad-a32f-2407d29237d7",
      "redirectURL": "https://sandbox.ebanx.com/ws/redirect/execute?hash=6842fafc1975c4714c22d3852947184e3b70a6530cbc5263"
    },
    "showData": []
  },
  "payment": {
    "id": "301020240210000001400000100001",
    "paymentOutput": {
      "amountOfMoney": {
        "amount": 35000,
        "currencyCode": "BRL"
      },
      "references": {
        "merchantReference": "2025060606",
        "paymentReference": "E20200004FEA"
      },
      "paymentMethod": "redirect",
      "redirectPaymentMethodSpecificOutput": {
        "paymentProductId": 6106,
        "bankAccountBban": {
          "accountHolderName": "Kuhlman"
        }
      }
    },
    "status": "REDIRECTED",
    "statusOutput": {
      "isCancellable": false,
      "isRetriable": false,
      "statusCategory": "PENDING_PAYMENT",
      "statusCode": 50,
      "statusCodeChangeDateTime": "20250606162812",
      "isAuthorized": false,
      "isRefundable": false
    }
  }
}

For Mexico

POST PAYMENTS REQUEST MXN
{
    "order": {
        "amountOfMoney": {
            "amount": 35000,
            "currencyCode": "MXN"
        },
        "customer": {
            "billingAddress": {
                "countryCode": "MX"
            },
            "contactDetails": {
                "emailAddress": "Preston42@yahoo.com"
            },
            "personalInformation": {
                "name": {
                    "firstName": "Josefina",
                    "surname": "Kuhlman"
                }
            }
        },
        "references": {
            "merchantReference": "2025060610"
        }
    },
    "redirectPaymentMethodSpecificInput": {
        "paymentProductId": 6106,
        "redirectionData": {
            "returnUrl": "https://epayments.developer-ingenico.com"
        }
    }
}
POST PAYMENTS RESPONSE MXN
{
  "creationOutput": {
    "additionalReference": "2025060610",
    "externalReference": "2025060610"
  },
  "merchantAction": {
    "actionType": "REDIRECT",
    "redirectData": {
      "RETURNMAC": "a6ac4f8a-6722-4caa-89a4-afbfe7f64067",
      "redirectURL": "https://sandbox.ebanx.com/ws/redirect/execute?hash=684308cd644654a09ea18f83180a69d7f3e34ea364603e52"
    },
    "showData": []
  },
  "payment": {
    "id": "301020240210000001430000100001",
    "paymentOutput": {
      "amountOfMoney": {
        "amount": 35000,
        "currencyCode": "MXN"
      },
      "references": {
        "merchantReference": "2025060610",
        "paymentReference": "E20200004JNA"
      },
      "paymentMethod": "redirect",
      "redirectPaymentMethodSpecificOutput": {
        "paymentProductId": 6106,
        "bankAccountBban": {
          "accountHolderName": "Kuhlman"
        }
      }
    },
    "status": "REDIRECTED",
    "statusOutput": {
      "isCancellable": false,
      "isRetriable": false,
      "statusCategory": "PENDING_PAYMENT",
      "statusCode": 50,
      "statusCodeChangeDateTime": "20250606172710",
      "isAuthorized": false,
      "isRefundable": false
    }
  }
}
Next Process flows