---
updatedAt: 2026-09-11T02:40:13.000Z
agentTools:
  projectIndex: https://docs.dlocal.com/llms.txt
---

# Bolivia

Learn about the dLocal supported payment methods in Bolivia.

[block:html]
{
  "html": "<style>\n  \n  .main {\n    margin-left: auto;\n    margin-right: auto;\n    margin-bottom: 5px;\n    display: grid;\n    grid-template-columns: repeat(3, 1fr); /* Tres columnas */\n    width: 740px; /* Ancho máximo de la caja */\n}\n\n.overview-card1 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\n    max-width: 233px;\n    box-sizing: border-box;\n    margin: 0;\n}\n\n.overview-card1::after {\n    content: '';\n    position: absolute;\n    right: 0; /* Pega la línea al borde derecho */\n    top: 30%; /* Ajusta la posición superior de la línea */\n    height: 65%; /* Establece el alto de la línea al 60% */\n    width: 1px; /* Grosor de la línea */\n    background-color: #D2D8EC; /* Color de la línea */\n}\n  \n.overview-card2 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\n    max-width: 233px;\n    box-sizing: border-box;\n    margin: 0;\n}\n  \n  .overview-card2::after {\n    content: '';\n    position: absolute;\n    right: 0; /* Pega la línea al borde derecho */\n    top: 30%; /* Ajusta la posición superior de la línea */\n    height: 70%; /* Establece el alto de la línea al 60% */\n    width: 1px; /* Grosor de la línea */\n    background-color: #D2D8EC; /* Color de la línea */\n}\n  \n.overview-card3 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\n    max-width: 233px;\n    box-sizing: border-box;\n    margin: 0;\n}\n\n.overview-card-upper-side1 {\n    height: 105px;\n    padding: 20px;\n    background-color: transparent;\n    text-align: left;\n}\n\n.overview-card-bottom-side {\n    position: relative;\n    width: 100%;\n    height: 100%;\n    padding: 30px;\n    padding-right: 20px;\n    background-color: transparent;\n    border-radius: 16px;\n}\n\n.overview-card-title1 {\n    font-family: 'Plus Jakarta Sans', sans-serif;\n    font-size: 24px;\n    font-weight: 700;\n    line-height: 26.4px;\n}\n\n.overview-card-content1 {\n    font-size: 14px;\n    font-weight: 300;\n    margin-top: 20px;\n    line-height: 20px;\n    margin-bottom: 40px!important;\n}\n\n.overview-icon1 {\n    margin-bottom: -5px;\n    margin-top: 20px;\n}\n  \n.doc-link {\n        position: relative;\n        font-weight: 500;\n        color: #21A35B !important;\n        text-decoration: none;\n        display: block;\n    }\n  \n\ndiv:not(.markdown-body) .doc-link:hover {\n            text-decoration: none;\n            color: #1043FA !important;\n            transform: translateX(0.2em);\n        }\n\n.overview-card-title1:hover {\n    color: #2D59F5 !important;\n    cursor:pointer;\n    transform: none!important;\n}\n\n    div:not(.markdown-body) .doc-link_arrow {\n        display: inline-block;\n        height: 1em;\n        width: auto;\n        vertical-align: middle;\n        margin-left: 0.2em;\n        margin-top: -0.1em;\n    }\n  \n     div:not(.markdown-body) .doc-link:hover .doc-link_arrow-color {\n            fill: #1043FA !important;\n        }\n  \n      [data-color-mode=\"dark\"] .overview-icon1 img {\n  filter: brightness(0) invert(1);\n  transition: filter 0.3s ease;\n}\n  \n/* Media Queries para dispositivos móviles */\n@media (max-width: 768px) {\n  .main {\n    grid-template-columns: repeat(2, 1fr); /* Dos columnas en pantallas medianas */\n  }\n}\n\n@media (max-width: 480px) {\n  .main {\n    grid-template-columns: 1fr; /* Una columna en pantallas pequeñas */\n}\n</style>\n  \n    <div class=\"main\">\n\n     <!-- Market specifications -->\n      <div class=\"overview-card1\" onclick=\"parent.location='/docs/bolivia#market-specifications'\">\n     <div class=\"overview-card-bottom-side\">\n       <div class=\"overview-icon1\"><img width=\"48\" src=\"https://files.readme.io/922681fecfb238c94f7213fa9e0aa1675f1e190ec55beff2b6994169c77fdefc-adjust-circle.svg\"  alt=\"\" loading=\"lazy\"><div class=\"img_overlay img_color_rgba(0,0,0,.2)\"></div></div>\n           <h3 class=\"overview-card-title1\">Market specifications</h3>\n          <p class=\"overview-card-content1\">\n            Take a look of all the payment methods available.   \n        </p>\n          <a href=\"#country-reference\" class=\"doc-link\">Country reference</a>\n          <a href=\"#cards-supported\" class=\"doc-link\">Cards supported</a>\n          <a href=\"#alternative-payment-method-supported\" class=\"doc-link\">APM supported</a>\n        </div>\n      </div>\n      \n      <!-- Cards -->\n      <div\n        class=\"overview-card2\" onclick=\"parent.location='/docs/bolivia#cards'\">\n        <div class=\"overview-card-bottom-side\">\n                  <div class=\"overview-icon1\"><img width=\"48\" src=\"https://files.readme.io/8d450ada4af3880f85f70c5daedebb0bec1b2b6d64479be929af48fdc8d66f40-credit-card.svg\"  alt=\"\" loading=\"lazy\"><div class=\"img_overlay img_color_rgba(0,0,0,.2)\"></div></div>\n           <h3 class=\"overview-card-title1\">Cards</h3><br>\n          <p class=\"overview-card-content1\">\n           Find all the information about the card supported capabilities.   \n          </p>\n\n          <a href=\"#capabilities\" class=\"doc-link\">Capabilities</a>\n          <a href=\"#how-to-process-card-payments\" class=\"doc-link\">Process Card Payments</a>\n        </div>\n      </div>  \n      \n      <!-- APM -->\n      <div class=\"overview-card3\" onclick=\"parent.location='/docs/bolivia#alternative-payment-method'\">\n    <div class=\"overview-card-bottom-side\">\n               <div class=\"overview-icon1\"><img width=\"48\" src=\"https://files.readme.io/5a59519487455e7af361db8b67a2dee8d71627d4d6e1ed0a0bd805f5da861fcc-money-stack.svg\"  alt=\"\" loading=\"lazy\"><div class=\"img_overlay img_color_rgba(0,0,0,.2)\"></div></div>\n           <h3 class=\"overview-card-title1\">Alternative Payments</h3>\n          <p class=\"overview-card-content1\">\n             Learn how to integrate cash, bank transfer or wallet payment.  \n        </p>\n          <a href=\"#pago-al-paso\" class=\"doc-link\">Pago al Paso</a>\n          <a href=\"#bank-transfer\" class=\"doc-link\">Bank Transfer</a>\n          <a href=\"#qr-payments\" class=\"doc-link\">QR payments</a>\n      \t\t<a href=\"#multipago\" class=\"doc-link\">Multipago</a>\n          <a href=\"#domicíliate-recurring-qr\" class=\"doc-link\">Domicíliate (Recurring QR)</a>\n\n\n        </div>\n      </div> \n      \n    </div>"
}
[/block]

***

# Market specifications

Do you want to know more information about Bolivia's market? Go to the [Tap Into Latin America’s High-Growth Potential](https://dlocal.com/payment-processors-in-latin-america/) article.

## Country reference

| `country` code | `currency` code | `amount` decimals | `document` name |                           `document` format                           | `document` required? |
| :------------: | :-------------: | :---------------: | :-------------: | :-------------------------------------------------------------------: | :------------------: |
|      `BO`      |      `BOB`      |         2         |    CI or NIT    | Between 5 to 20 digits for CI and 7 to 10 (usually 9) digits for NIT. |          Yes         |

## Cards supported

| `payment_method_id` | Brand ID | Name             | `payment_method_type` | Details       | Allowed Flows       | Logo                                                                                |
| :------------------ | :------- | :--------------- | :-------------------- | :------------ | :------------------ | :---------------------------------------------------------------------------------- |
| `CARD`              | `VI`     | Visa             | `CARD`                | Credit Card ​ | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/VI.svg" width="40px"> |
| `CARD`              | `VD`     | Visa Debit       | `CARD`                | Debit Card ​  | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/VD.svg" width="40px"> |
| `CARD`              | `MC`     | Mastercard       | `CARD`                | Credit Card ​ | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/MC.svg" width="40px"> |
| `CARD`              | `MD`     | Mastercard Debit | `CARD`                | Debit Card ​  | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/checkout/MD.svg" width="40px"> |

<Callout icon="ℹ️" theme="info">
  To offer all the card options that may be available in your integration, send the `payment_method_id` as `CARD`.
</Callout>

## Alternative Payment Method supported

| `payment_method_id` | Name          | `payment_method_type` | Details        | Allowed Flows       | Logo                                                                              |
| :------------------ | :------------ | :-------------------- | :------------- | :------------------ | :-------------------------------------------------------------------------------- |
| `CY`                | Pago al Paso  | `TICKET`              | Cash payments​ | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/CY.png" width="40px">        |
| `IO`                | Bank Transfer | `BANK_TRANSFER`       | Bank Transfer  | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/IO.png" width="40px">        |
| `QR`                | QR Payments   | `QR`                  | QR payments    | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/QR.png" width="40px">        |
| `CY`                | Multipago     | `TICKET`              | Cash payments  | `DIRECT` `REDIRECT` | <img src="https://static.dlocal.com/images/providers/multipago.png" width="40px"> |

<br />

***

# Cards

## Capabilities

> To view the information for all the cards, position the cursor over the table and use the horizontal scroll to navigate.

|                               | Visa Credit                                     | Visa Debit                                      | Mastercard Credit                               | Mastercard Debit                                |
| :---------------------------- | :---------------------------------------------- | :---------------------------------------------- | :---------------------------------------------- | :---------------------------------------------- |
| **Minimum amount**            | 1 BOB                                           | 1 BOB                                           | 1 BOB                                           | 1 BOB                                           |
| **Refunds**                   | Yes                                             | Yes                                             | Yes                                             | Yes                                             |
| **Recurring**                 | No                                              | No                                              | No                                              | No                                              |
| **Chargeback option**         | Yes                                             | Yes                                             | Yes                                             | Yes                                             |
| **Chargeback Dispute option** | Yes                                             | Yes                                             | Yes                                             | Yes                                             |
| **Descriptor**                | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. | Can be personalized, depending on the provider. |

## How to process Card Payments?

Learn how to process payments with credit and debit cards with dLocal in our [Card Payments](https://docs.dlocal.com/docs/card-payments) section.

<br />

***

# Alternative Payment Method

## Pago al Paso

Pago al Paso is a payment solution that allows users to pay for purchases at multiple points, such as pharmacies, gas stations, and other stores, using a payment voucher to pay with cash.

### Capabilities

|                                    | Pago al Paso               |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 1 BOB                      |
| **Max. expiration time supported** | 5 days                     |
| **Notification delay**             | Immediate                  |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `BOB`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `BO` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `CY` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | No         |
| `payer.email`         | String | Email of the payer.                                                                                                    | No         |
| `payer.document`      | String | Document of the payer.                                                                                                 | No         |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request Example
{
    "amount": 100,
    "currency": "BOB",
    "country": "BO",
    "payment_method_id": "CY",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789",
        "address": {
            "country": "BO",
            "state": "Beni",
            "city": "Reyes",
            "zip_code": "8858",
            "street": "Av. Principal",
            "number": "5940"
        }
    },
    "order_id": "34545sk3483kqw0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response Example
{
    "id": "D-4-69279ad9-10d5-405f-67yt-4dc7de746a52",
    "amount": 100,
    "currency": "BOB",
    "payment_method_id": "CY",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "BO",
    "bank_transfer": {},
    "ticket": {
        "type": "CUSTOM",
        "number": "79656",
        "expiration_date": "2023-11-29T03:59:00.000+0000",
        "company_name": "Dlocal",
        "provider_logo": "https://static.dlocal.com/images/providers/pagoalpaso.png",
        "image_url": "https://pay.dlocal.com/gmf-apm/payments/M-a3825399-4a31-4de2-8765-e3d3a48...",
        "amount": 100,
        "currency": "BOB"
    },
    "created_date": "2023-11-23T13:58:04.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "34545sk3483kqw0",
    "notification_url": "http://merchantsite.com/notification/new"
}
```

### Example ticket

<Image src="https://files.readme.io/d9d233de17efcd73879fe4045c35f70bae7680c794d02557590d6c6dd6540b92-APM_-_Pago_al_Paso.png" alt="Bank Transfer UI built with the information in the example above." align="center" caption="Pago al Paso UI built with the information in the example above." />

<br />

## Bank Transfer

Bank transfer is a service that allows customers to carry out bank transfers from bank accounts of any bank in Bolivia.

### Capabilities

|                                    | Bank Transfer              |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 1 BOB                      |
| **Max. expiration time supported** | 5 days                     |
| **Notification delay**             | Up to 1 business day       |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `BOB`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `BO` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `IO` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | No         |
| `payer.email`         | String | Email of the payer.                                                                                                    | No         |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request Example
{
    "amount": 1000,
    "currency": "BOB",
    "country": "BO",
    "payment_method_id": "IO",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789",
        "address": {
            "country": "BO",
            "state": "Beni",
            "city": "Reyes",
            "zip_code": "8858",
            "street": "Av. Principal",
            "number": "5940"
        }
    },
    "order_id": "34545sk3483kqw0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}
```
```json Response Example
{
    "id": "D-4-1fdce2c4-3779-4ba2-892c-8d8ddd5343cf",
    "amount": 1000,
    "currency": "BOB",
    "payment_method_id": "IO",
    "payment_method_type": "BANK_TRANSFER",
    "payment_method_flow": "DIRECT",
    "country": "BO",
    "bank_transfer": {
        "bank_account_type": "CHECKING",
        "bank_name": "Banco BCP",
        "bank_code": "BCP",
        "beneficiary_name": "Demerge Bolivia S.R.L.",
        "bank_account": "701-5096526-3-96",
        "bank_account_label": "Convenio / Cuenta de Destino",
        "reference": "10446649",
        "redirect_url": "https://pay.dlocal.com/gmf-apm/payments/M-9b3f73ae-9d6e-41c8-a08d-f7d40344f1a1",
        "user_payment_amount": 1000,
        "payment_instruction": "Realiza una transferencia a esta cuenta a través de tu home banking, o desde el banco desde el que prefieras operar, utilizando la referencia y el resto de los datos detallados más arriba.",
        "expiration_date": "2024-07-02T02:59:00.000+0000"
    },
    "ticket": {},
    "created_date": "2024-06-26T19:00:10.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "54d95e5a-8848-4f9b-acf7-800f25b2ca10",
    "notification_url": "http://merchantsite.com/notification/new"
}
```

### Example ticket

<Image src="https://files.readme.io/544a012ead643950e8a9458f6ad83d70225cd5eaa6eadf4e74da84c42cda502d-APM_-_Bank_Transfer.png" alt="Bank Transfer UI built with the information in the example above." align="center" caption="Bank Transfer UI built with the information in the example above." />

## QR Payments

The QR Payments in Bolivia allows payments to be made by scanning a QR code with a mobile phone.

It is a secure way to pay, promoted by ASFI to encourage financial inclusion and reduce costs. It works without the need for bank cards using mobile bank applications or digital payments.

### Capabilities

|                                    | QR Payments                |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 1 BOB                      |
| **Max. expiration time supported** | 5 days                     |
| **Notification delay**             | Immediate                  |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `BOB`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `BO` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `QR` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | No         |
| `payer.email`         | String | Email of the payer.                                                                                                    | No         |
| `payer.document`      | String | Document of the payer.                                                                                                 | Yes        |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | Yes        |

### Examples

```json Request Example
{
    "amount": 100,
    "currency": "BOB",
    "country": "BO",
    "payment_method_id": "QR",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Jane Doe",
        "email": "janedoe@mymail.com",
        "document": "123456789",
        "address": {
            "country": "BO",
            "state": "Beni",
            "city": "Reyes",
            "zip_code": "8858",
            "street": "Av. Principal",
            "number": "5940"
        }
    },
    "order_id": "123456789",
    "callback_url": "http://merchantsite.com/success_page",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notification/new"
}
```
```json Response Example
{
    "id": "D-4-79c14dff-d2d6-4e74-8013-390126d5fe0f",
    "amount": 100,
    "currency": "BOB",
    "payment_method_id": "QR",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "BO",
    "bank_transfer": {},
    "ticket": {
        "type": "CUSTOM",
        "number": "5006783",
        "expiration_date": "2024-01-16T16:24:34.233+0000",
        "provider_logo": "https://static.dlocal.com/images/providers/atc.png",
        "image_url": "https://pay.dlocal.com/gmf-apm/payments/M-c3a48e74-f961-4f43-b883-6492d1112a12",
        "amount": 100,
        "currency": "BOB",
        "qr_code": "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..."
    },
    "created_date": "2024-01-11T12:49:34.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "a05d59ca-6583-4727-947e-0b7e92247123",
    "notification_url": "http://merchantsite.com/notification/new"
}
```

<Callout icon="ℹ️" theme="info">
  The QR value is returned in the method-specific field documented below. Do not assume that `ticket.qr_code`, `ticket.barcode`, or `ticket.number` has the same meaning across all QR payment methods. For QR Payments in Bolivia, `ticket.qr_code` is an image representation of the QR code, not an EMV payload string.
</Callout>

### Example ticket

<Image src="https://files.readme.io/e5adebeb708fc144118b8876fa6de321bae8cb1bb51d7eaa69e805b81f00c0f6-APM_-_ATC.png" alt="ATC QR UI built with the information in the example above." align="center" caption="QR Payments UI built with the information in the example above." />

<br />

## Multipago

Multipago is a payment solution that allows users to pay for purchases at multiple points, such as pharmacies, gas stations, and other stores, using a payment voucher to pay with cash.

### Capabilities

|                                    | Multipago                  |
| :--------------------------------- | :------------------------- |
| **Min. amount**                    | 1 BOB                      |
| **Max. expiration time supported** | 5 days                     |
| **Notification delay**             | Immediate                  |
| **Refunds**                        | Yes                        |
| **Flow**                           | `DIRECT` <br /> `REDIRECT` |

### Request parameters

| Property              | Type   | Description                                                                                                            | Mandatory? |
| :-------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`              | Number | Amount to be charged.                                                                                                  | Yes        |
| `currency`            | String | `BOB`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                            | Yes        |
| `country`             | String | `BO` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).      | Yes        |
| `payment_method_id`   | String | `CY` <br /><br />ID of the selected payment method.                                                                    | Yes        |
| `payment_method_flow` | String | `DIRECT` or `REDIRECT`                                                                                                 | Yes        |
| `payer.name`          | String | Name of the payer.                                                                                                     | No         |
| `payer.email`         | String | Email of the payer.                                                                                                    | No         |
| `payer.document`      | String | Document of the payer.                                                                                                 | No         |
| `order_id`            | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                 | No         |
| `notification_url`    | String | Notifications will be sent in every change of status of a payment to the `notification_url` specified by the merchant. | No         |

### Examples

```json Request Example
{
    "amount": "40",
    "currency": "BOB",
    "country": "BO",
    "payment_method_flow": "DIRECT",
    "payment_method_id": "CY",
    "payer": {
        "name": "Dante Antonio Vargas Aracena",
        "email": "vargasdante265@gmail.com",
        "document": "1111111111"
    },
    "order_id": "#34545sk3483kqw1",
    "notification_url": "http://merchantsite.com/notification/new",
    "callback_url": "http://merchantsite.com/success_page"
}

```
```json Response Example
{
    "id": "D-4-5d83cc9e-d6f0-48d7-9791-5ca2286b6a2f",
    "amount": 40,
    "currency": "BOB",
    "payment_method_id": "CY",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "BO",
    "bank_transfer": {},
    "ticket": {
        "type": "CUSTOM",
        "number": "100052",
        "expiration_date": "2025-06-09T03:59:59.000+0000",
        "provider_logo": "https://static.dlocal.com/images/providers/multipago.png",
        "image_url": "https://sandbox.dlocal.com/gmf-apm/payments/M-28f82c86-7883-4b55-b759-9ea1ee...",
        "amount": 40,
        "currency": "BOB"
    },
    "created_date": "2025-06-06T11:52:57.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "#34545sk3483kqw1",
    "notification_url": "http://merchantsite.com/notification/new"
}
```

### Example ticket

<Image src="https://files.readme.io/264fbf3bc3920c5ca6a1d1a6bfe38346bd8ec48daed88caee98acc8610c60d8d-APM_-_multipago.png" alt="Bank Transfer UI built with the information in the example above." align="center" caption="Multipago UI built with the information in the example above." />

<br />

<br />

## Domicíliate (Recurring QR)

Domicíliate is a payment method in Bolivia that allows users to enroll in a subscription system for a fixed amount.

Users enroll by scanning an interoperable QR code from their banking app, and then monthly debits are made for the agreed amount.

<br />

### Capabilities

|                        | Multipago                  |
| :--------------------- | :------------------------- |
| **Min. amount**        | 1 BOB                      |
| **Notification delay** | Inmediate                  |
| **Refunds**            | No                         |
| **Expiration time**    | End of day                 |
| **Flow**               | `DIRECT` <br /> `REDIRECT` |

<br />

### One time user enrollment

[block:html]
{
  "html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>URL Selector with Opacity</title>\n  <style>\n    .url-container {\n      display: flex;\n      align-items: center;\n      border-radius: 16px;\n      background-color: #fff;\n      padding: 10px;\n      box-shadow: 0 0 0px 1px #F5F5F5;\n      box-sizing: border-box;\n      border-color: transparent;\n      margin-top: 20px;\n      margin-bottom: 20px;\n      gap: 10px;\n      width: 100%;\n    }\n    \n         [data-color-mode=\"dark\"] .url-container {\n      background-color: #F7F7F7;\n    }\n\n    .url-container .url-selector {\n      display: none;\n    }\n\n    .url-container label {\n      padding: 5px 5px;\n      border: 1px solid #ccc;\n      border-radius: 8px;\n      font-size: 11px;\n      color: #333;\n      background-color: #f9f9f9;\n      cursor: pointer;\n      transition: opacity 0.3s ease;\n    }\n\n    /* Reduce opacity for unselected labels */\n    #base-a:not(:checked) ~ label[for=\"base-a\"],\n    #sandbox-a:not(:checked) ~ label[for=\"sandbox-a\"] {\n      opacity: 0.5;\n    }\n\n    .url-container .pill-button {\n      border: none;\n      box-shadow: var(--box-shadow-pill);\n      background-color: #0171c2;\n      color: white;\n      padding: 5px 15px;\n      font-size: 14px;\n      border-radius: 25px;\n      text-transform: uppercase;\n      cursor: default; /* Cambia el cursor para indicar que no es clickeable */\n      text-shadow: 1px 1px 0 #0168b3, 0 1px 0 #0168b3, 1px 0 0 #0168b3;\n      margin-left: 5px;\n      white-space: nowrap !important;\n    }\n\n\n    .url-input {\n      display: none;\n      flex-grow: 1; /* Permitir que el input ocupe todo el espacio disponible */\n    }\n\n    #base-a:checked ~ .url-input[data-url=\"base-a\"],\n    #sandbox-a:checked ~ .url-input[data-url=\"sandbox-a\"] {\n     display: block;\n    }\n\n    .url-input input {\n      width: 100%;\n      border: none;\n      outline: none;\n      flex-grow: 1;\n      border-radius: 8px;\n      padding: 5px;\n      font-size: 12px;\n      color: #333;\n      user-select: all;\n    }\n\n    .url-input input:focus {\n      outline: 1px solid #F5F5F5;\n      border-radius: 16px;\n    }\n    \n\n/* Mobile-specific styles */\n@media screen and (max-width: 768px) {\n.url-container {\n    display: flex;\n    align-items: center;\n    flex-wrap: wrap; \n    width: 100%; \n    max-width: 100%; \n    box-sizing: border-box; \n}\n  \n.url-input input {\n    border: none;\n    outline: none;\n    border-radius: 8px;\n    padding: 5px;\n    font-size: 12px;\n    color: #333;\n    user-select: all;\n    width: 100%; /* Ocupa todo el ancho disponible */\n    max-width: 100%; /* No permite desbordarse */\n}\n}\n  </style>\n</head>\n<body>\n  <div class=\"url-container\">\n    <!-- Botón visual -->\n    <div class=\"pill-button\">Post</div>\n    \n    <!-- Radio inputs for URL options -->\n    <input id=\"base-a\" type=\"radio\" name=\"url\" class=\"url-selector\" checked>\n    <label for=\"base-a\">Production URL</label>\n    <input id=\"sandbox-a\" type=\"radio\" name=\"url\" class=\"url-selector\">\n    <label for=\"sandbox-a\">Sandbox URL</label>\n\n    <!-- URL Display (readonly inputs) -->\n    <div class=\"url-input\" data-url=\"base-a\">\n      <input type=\"text\" readonly value=\"https://api.dlocal.com/payments\">\n    </div>\n    <div class=\"url-input\" data-url=\"sandbox-a\">\n      <input type=\"text\" readonly value=\"https://sandbox.dlocal.com/payments\">\n    </div>\n  </div>\n</body>\n</html>"
}
[/block]

This is the API request that is used to create an enrollment in Domicíliate. The flow doesn’t support enrollment without payment.

| Property                      | Type   | Description                                                                                                                         | Mandatory? |
| :---------------------------- | :----- | :---------------------------------------------------------------------------------------------------------------------------------- | :--------- |
| `amount`                      | Number | Amount to be charged.                                                                                                               | Yes        |
| `currency`                    | String | `BOB`<br /><br />Transaction currency in [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217).                                         | Yes        |
| `country`                     | String | `BO` <br /><br />Transaction country in [ISO 3166](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).                   | Yes        |
| `payment_method_id`           | String | `QL` <br /><br />ID of the selected payment method.                                                                                 | Yes        |
| `payment_method_flow`         | String | `DIRECT` or `REDIRECT`                                                                                                              | Yes        |
| `payer.name`                  | String | Name of the payer.                                                                                                                  | Yes        |
| `payer.email`                 | String | Email of the payer.                                                                                                                 | No         |
| `payer.phone`                 | String | Phone of the payer.                                                                                                                 | No         |
| `enrollment.external_id`      | String | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                              | Yes        |
| `enrollment.type`             | String | Possible options include:  `MERCHANT_SUBSCRIPTION`: For subscriptions with future recurring payments initiated by the merchant.     | Yes        |
| `enrollment.description`      | String | Enrollment description.                                                                                                             | No         |
| `enrollment.notification_url` | String | Notifications will be sent in every change of status of a enrollment to the`enrollment.notification_url` specified by the merchant. | Yes        |
| `order_id`                    | Number | ID of the capture given by the merchant in their system. Think of it as an external ID of the capture.                              | Yes        |
| `description`                 | String | Description of the items purchased                                                                                                  | No         |
| `notification_url`            | String | Notifications will be sent in every change of status of a payment to the`notification_url` specified by the merchant.               | Yes        |

#### Sample request

```json Request Example
{
   "amount":100,
   "currency":"BOB",
   "country":"BO",
   "payment_method_id":"QL",
   "payment_method_flow":"DIRECT",
   "payer":{
      "name":"Beni Reyes",
      "email":"breyes@myemail.com",
      "phone":"71234567"
   },
   "enrollment":{
      "external_id":"abc6db7b-353d-45a5-947f-c13db93eb264",
      "type":"MERCHANT_SUBSCRIPTION",
      "description":"Domicíliate subscription",
      "notification_url":"http://merchantsite.com/en_notifications",
      "subscription":{
         "start_date":"2026-12-10",
         "frequency":"MONTHLY",
         "amount":{
            "type":"FIXED",
            "value":100
         }
      }
   },
   "order_id":"34545sk3483kqw0",
   "description":"Tshirt",
   "notification_url":"http://merchantsite.com/notifications"
}
```
```json Synchronous response example
{
    "id": "D-4-x1ku59mv-jupq33upb577v8-8l5mmfc5uq84",
    "amount": 100,
    "currency": "BOB",
    "payment_method_id": "QL",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "BO",
    "bank_transfer": {},
    "ticket": {
        "type": "CUSTOM",
        "expiration_date": "2026-04-26T03:59:59.000+0000",
        "company_name": "Test",
        "provider_name": "Test",
        "provider_logo": "https://static.dlocal.com/images/providers/linkser.svg",
        "amount": 100,
        "qr_code": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAA"
    },
    "created_date": "2026-04-17T21:32:15.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "34545sk3483kqw0",
    "notification_url": "http://merchantsite.com/notifications",
    "enrollment": {
        "id": "E-4-f13187da-1269-42bc-a632-d5c1b339bab5",
        "external_id": "abc6db7b-353d-45a5-947f-c13db93eb264",
        "created_date": "2026-04-17T21:32:17.696+0000",
        "status": "PENDING",
        "status_code": "100",
        "status_details": "The enrollment is pending."
    }
}
```
```json Asynchronous response example (enrollment)
{
    "id": "D-4-x1ku59mv-jupq33upb577v8-8l5mmfc5uq84",
    "external_id": "abc6db7b-353d-45a5-947f-c13db93eb264",
    "currency": "BOB",
    "country": "BO",
    "type": "MERCHANT_SUBSCRIPTION",
    "payment_method_id": "QL",
    "payment_method_flow": "DIRECT",
    "payment_method_type": "TICKET",
    "created_date": "2026-02-26T10:22:03.000+0000",
    "status": "ACTIVE",
    "status_detail": "The enrollment is active.",
    "status_code": "200",
    "notification_url": "http://merchantsite.com/en-notifications"
}
```
```json Asynchronous response example (payment)
{
  "id": "D-4-x1ku59mv-jupq33upb577v8-8l5mmfc5uq84",
  "amount": 100,
  "status": "PAID",
  "status_detail": "The payment is paid",
  "status_code": "200",
  "currency": "BOB",
  "country": "BO",
  "payment_method_id": "QL",
  "payment_method_flow": "DIRECT",
  "payment_method_type": "TICKET",
  "payer": {
      "name": "Beni Reyes",
      "email": "breyes@myemail.com",
      "phone": "71234567"
  },
  "enrollment": {
     "id": "E-4-f13187da-1269-42bc-a632-d5c1b339bab5",
     "external_id": "abc6db7b-353d-45a5-947f-c13db93eb264"
  },
  "order_id": "34545sk3483kqw0",
  "notification_url": "http://www.merchantsite.com/notifications",
  "created_date": "2024-07-26T20:37:20.000+0000"
}
```

<br />

#### Example ticket

<Image src="https://files.readme.io/1b0979cc2441531a7dc8d40e18dd7ac7910dbb9ab93b926cd1c17a393ed3c691-Domiciliate_Linkser.png" alt="Bank Transfer UI built with the information in the example above." align="center" caption="Domicíliate voucher built with the information in the example above." />

### Recurring payments

Payments must be made once per month before or on the debit date (the same day in subsequent months following enrollment). The payment will be executed by the network on the debit date.

Example:

* Enrollment: February 26, 2026
* Merchant sends payment request: March 25, 2026
* Payment remains pending and is executed on March 26, 2026.

<br />

[block:html]
{
  "html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>URL Selector with Opacity</title>\n  <style>\n    .url-container {\n      display: flex;\n      align-items: center;\n      border-radius: 16px;\n      background-color: #fff;\n      padding: 10px;\n      box-shadow: 0 0 0px 1px #F5F5F5;\n      box-sizing: border-box;\n      border-color: transparent;\n      margin-top: 20px;\n      margin-bottom: 20px;\n      gap: 10px;\n      width: 100%;\n    }\n    \n         [data-color-mode=\"dark\"] .url-container {\n      background-color: #F7F7F7;\n    }\n\n    .url-container .url-selector {\n      display: none;\n    }\n\n    .url-container label {\n      padding: 5px 5px;\n      border: 1px solid #ccc;\n      border-radius: 8px;\n      font-size: 11px;\n      color: #333;\n      background-color: #f9f9f9;\n      cursor: pointer;\n      transition: opacity 0.3s ease;\n    }\n\n    /* Reduce opacity for unselected labels */\n    #base-a:not(:checked) ~ label[for=\"base-a\"],\n    #sandbox-a:not(:checked) ~ label[for=\"sandbox-a\"] {\n      opacity: 0.5;\n    }\n\n    .url-container .pill-button {\n      border: none;\n      box-shadow: var(--box-shadow-pill);\n      background-color: #0171c2;\n      color: white;\n      padding: 5px 15px;\n      font-size: 14px;\n      border-radius: 25px;\n      text-transform: uppercase;\n      cursor: default; /* Cambia el cursor para indicar que no es clickeable */\n      text-shadow: 1px 1px 0 #0168b3, 0 1px 0 #0168b3, 1px 0 0 #0168b3;\n      margin-left: 5px;\n      white-space: nowrap !important;\n    }\n\n\n    .url-input {\n      display: none;\n      flex-grow: 1; /* Permitir que el input ocupe todo el espacio disponible */\n    }\n\n    #base-a:checked ~ .url-input[data-url=\"base-a\"],\n    #sandbox-a:checked ~ .url-input[data-url=\"sandbox-a\"] {\n     display: block;\n    }\n\n    .url-input input {\n      width: 100%;\n      border: none;\n      outline: none;\n      flex-grow: 1;\n      border-radius: 8px;\n      padding: 5px;\n      font-size: 12px;\n      color: #333;\n      user-select: all;\n    }\n\n    .url-input input:focus {\n      outline: 1px solid #F5F5F5;\n      border-radius: 16px;\n    }\n    \n\n/* Mobile-specific styles */\n@media screen and (max-width: 768px) {\n.url-container {\n    display: flex;\n    align-items: center;\n    flex-wrap: wrap; \n    width: 100%; \n    max-width: 100%; \n    box-sizing: border-box; \n}\n  \n.url-input input {\n    border: none;\n    outline: none;\n    border-radius: 8px;\n    padding: 5px;\n    font-size: 12px;\n    color: #333;\n    user-select: all;\n    width: 100%; /* Ocupa todo el ancho disponible */\n    max-width: 100%; /* No permite desbordarse */\n}\n}\n  </style>\n</head>\n<body>\n  <div class=\"url-container\">\n    <!-- Botón visual -->\n    <div class=\"pill-button\">Post</div>\n    \n    <!-- Radio inputs for URL options -->\n    <input id=\"base-a\" type=\"radio\" name=\"url\" class=\"url-selector\" checked>\n    <label for=\"base-a\">Production URL</label>\n    <input id=\"sandbox-a\" type=\"radio\" name=\"url\" class=\"url-selector\">\n    <label for=\"sandbox-a\">Sandbox URL</label>\n\n    <!-- URL Display (readonly inputs) -->\n    <div class=\"url-input\" data-url=\"base-a\">\n      <input type=\"text\" readonly value=\"https://api.dlocal.com/payments\">\n    </div>\n    <div class=\"url-input\" data-url=\"sandbox-a\">\n      <input type=\"text\" readonly value=\"https://sandbox.dlocal.com/payments\">\n    </div>\n  </div>\n</body>\n</html>"
}
[/block]

<br />

#### Sample request

```json Request Example
 {
    "amount": 1,
    "currency": "BOB",
    "country": "BO",
    "payment_method_id": "QL",
    "payment_method_flow": "DIRECT",
    "payer": {
        "name": "Beni Reyes",
        "email": "breyes@myemail.com",
        "phone": "71234567"
     },
     "enrollment": {
         "id": "E-4-f13187da-1269-42bc-a632-d5c1b339bab5"
    },
    "order_id": "34545sk3483kqw0",
    "description": "Tshirt",
    "notification_url": "http://merchantsite.com/notifications"
}
```
```json Synchronous response example
{
    "id": "D-4-x1ku59mv-jupq33upb577v8-8l5mmfc5uq86",
    "amount": 1,
    "currency": "BOB",
    "payment_method_id": "QL",
    "payment_method_type": "TICKET",
    "payment_method_flow": "DIRECT",
    "country": "BO",
    "created_date": "2026-03-26T10:22:03.000+0000",
    "status": "PENDING",
    "status_detail": "The payment is pending.",
    "status_code": "100",
    "order_id": "34545sk3483kqw0",
    "notification_url": "http://merchantsite.com/notifications"
}
```
```json Asynchronous response example
{
  "id": "D-4-x1ku59mv-jupq33upb577v8-8l5mmfc5uq86",
  "amount": 100,
  "status": "PAID",
  "status_detail": "The payment is paid",
  "status_code": "200",
  "currency": "BOB",
  "country": "BO",
  "payment_method_id": "QL",
  "payment_method_flow": "DIRECT",
  "payment_method_type": "TICKET",
  "payer": {
      "name": "Beni Reyes",
      "email": "breyes@myemail.com",
      "phone": "71234567"
  },
  "enrollment": {
     "id": "E-4-f13187da-1269-42bc-a632-d5c1b339bab5",
     "external_id": "abc6db7b-353d-45a5-947f-c13db93eb264"
  },
  "order_id": "34545sk3483kqw0",
  "notification_url": "http://www.merchantsite.com/notifications",
  "created_date": "2024-07-26T20:37:20.000+0000"
}
```