> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dmly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Mercado Pago

> Collect Latin-American payments with Mercado Pago Checkout Pro, including supported currencies and how a payment gets confirmed.

Mercado Pago lets you collect payments across Latin America. DMLY uses **Checkout Pro**: a pay link
opens Mercado Pago's own hosted checkout page, the client pays there, and Mercado Pago tells DMLY the
money arrived. You then share that link on WhatsApp like any other pay link.

This page covers what's specific to Mercado Pago. The general rules — how pay links are minted, what
each payment status means, what a missed webhook looks like — are the same for every gateway and live
in [Connect a payment gateway](/finance/payments-and-gateways).

## Connect it

Mercado Pago is a tile under **Configurations → Integrations → Payments**, described as **Collect
Latin-American payments with Mercado Pago Checkout Pro.** There's no "sign in with Mercado Pago"
button — you copy two credentials out of your Mercado Pago account and paste them in.

<Steps>
  <Step title="Copy your access token">
    In Mercado Pago, open your application's credentials and copy the access token. Live tokens start
    with `APP_USR-` and test tokens start with `TEST-`.

    There is no environment dropdown in DMLY. **The token prefix is what decides whether you are
    taking real money or test money**, so check it before you paste.
  </Step>

  <Step title="Paste it into the tile">
    Open the **Mercado Pago** tile, paste the token into **Access token** and click **Connect**. DMLY
    checks the credential on connect, so a typo fails now rather than at the first real payment.
  </Step>

  <Step title="Add the webhook yourself">
    DMLY does not register the webhook for you. In Mercado Pago, go to **Your integrations →
    Webhooks**, add the endpoint URL shown on the tile (it appears once you've connected), and copy
    the signing secret Mercado Pago gives you back into **Webhook secret**.
  </Step>

  <Step title="Take one real payment end to end">
    Send yourself a small invoice, pay it, and confirm it flips to **Paid** on its own. If it
    doesn't, the webhook isn't reaching DMLY — fix that before a client pays.
  </Step>
</Steps>

<Warning>
  Without the webhook, a client can pay successfully at Mercado Pago and the invoice in DMLY will
  still say unpaid. Nothing retries, because nothing arrived. This step is not optional.
</Warning>

## Supported currencies

Mercado Pago serves Latin America — **ARS**, **BRL**, **MXN**, **COP**, **PEN** and **UYU** — and each
account charges in its own country's currency. You cannot pick a currency your Mercado Pago account
doesn't operate in.

<Note>
  **Chilean pesos (CLP) are not available for pay links.** DMLY uses one shared currency list across
  every gateway, and that list only holds currencies with two decimal places so the amount maths stays
  correct for all of them. CLP has none, so it's excluded. Japanese yen and Kuwaiti, Bahraini and Omani
  dinars are excluded for the same reason.
</Note>

## How payment confirmation works

Mercado Pago's notification is deliberately thin: it tells DMLY only that *something happened to
payment X*, with no status and no amount. So when the notification arrives, DMLY asks Mercado Pago
directly for that payment's real state before recording anything.

The practical consequence is that a confirmation depends on **both** the webhook reaching DMLY *and*
your access token still being valid. If you rotate or revoke the token in Mercado Pago and don't
update it in DMLY, notifications will keep arriving and payments will stop reconciling — the invoice
sits unpaid even though the webhook is fine.

Each notification is signature-checked and must be recent — an old or replayed one is rejected — so
the clock on the sending side matters. This is normal and needs nothing from you.

A rejected payment attempt is ignored rather than recorded, so an abandoned checkout doesn't leave
noise on the invoice.

## Current limitations

These are known behaviours of the Mercado Pago integration today, not faults to report.

<Accordion title="A Checkout Pro link can be paid more than once">
  Mercado Pago pay links stay usable after they're paid. If a client opens an old link and pays
  again, that second payment reconciles onto the **same payment record** as the first and doesn't add
  a new one — so the extra money is real at Mercado Pago but won't appear as a second payment in DMLY.
  Send a fresh link for each amount you want paid, and check Mercado Pago itself if a client says they
  paid twice.
</Accordion>

<Accordion title="A partial refund doesn't change the payment status">
  If you refund part of a payment in Mercado Pago, Mercado Pago still reports the payment as approved,
  so DMLY leaves it as **Succeeded**. A full refund does flip it to **Refunded**. For a partial refund,
  adjust the invoice in DMLY yourself.
</Accordion>

<Accordion title="Subscriptions can't auto-charge a saved card">
  Mercado Pago Checkout Pro has no saved-card charging, so DMLY can't renew a subscription
  automatically on it. Use a gateway that supports saved cards for recurring billing — see
  [Subscriptions](/finance/subscriptions) — or send a pay link each cycle.
</Accordion>

<Columns cols={2}>
  <Card title="Payments and gateways" icon="credit-card" href="/finance/payments-and-gateways">
    Pay links, payment statuses and what a failed webhook means.
  </Card>

  <Card title="Invoices" icon="file-invoice" href="/finance/invoices">
    Send an invoice and share its pay link on WhatsApp.
  </Card>
</Columns>
