---
updatedAt: 2026-03-03T17:18:11.000Z
agentTools:
  projectIndex: https://docs.dlocal.com/llms.txt
---

# Mali

Learn everything you need to know to make payouts in Mali with dLocal.

[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(2, 1fr); /* Dos columnas */\n}\n\n.overview-card1 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\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: 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-card2 {\n    position: relative; /* Asegúrate de que el contenedor sea relativo para posicionar el pseudoelemento */\n    width: 100%;\n    box-sizing: border-box;\n    margin: 0;\n}\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  \n    [data-color-mode=\"dark\"] .overview-icon1 img {\n  filter: brightness(0) invert(1);\n  transition: filter 0.3s ease;\n}\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/mali-payouts-v3#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 information you need to make a payout.   \n        </p>\n          <a href=\"#country-reference\" class=\"doc-link\">Country reference</a>\n          <a href=\"#mandatory-parameters\" class=\"doc-link\">Mandatory paramenters</a>\n\n        </div>\n      </div>\n      \n      <!-- Cards -->\n      <div\n        class=\"overview-card2\" onclick=\"parent.location='/docs/mali-payouts-v3#payment-methods'\">\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\">Payment methods</h3>\n          <p class=\"overview-card-content1\">\n           Find all the information about payment methods  capabilities.   \n          </p>\n          <a href=\"#wallet-transfers-1\" class=\"doc-link\">Wallet transfers</a>\n        </div>\n      </div>  \n      \n      \n    </div>"
}
[/block]

***

# Market specifications

Do you want to know more information about Cameroon's market? Go to the [Expand Your Reach in Africa’s eCommerce Market](https://dlocal.com/payment-processors-middle-east-africa) article.

## Country reference

| `country` code | `currency` code | `amount` decimals |
| :------------: | :-------------: | :---------------: |
|      `ML`      |      `XOF`      |         2         |

## Mandatory parameters

### Wallet transfers

| Wallet transfer parameters         | B2C | P2P |
| ---------------------------------- | :-: | :-: |
| `external_id`                      | Yes | Yes |
| `payment_method_id`                | Yes | Yes |
| `flow_type`                        | Yes | Yes |
| `purpose`                          | Yes | Yes |
| `country`                          | Yes | Yes |
| `amount`                           | Yes | Yes |
| `currency`                         | Yes | Yes |
| `beneficiary.first_name`           | Yes | Yes |
| `beneficiary.last_name`            | Yes | Yes |
| `beneficiary.phone`                | Yes | Yes |
| `beneficiary.instant_payment.type` | Yes | Yes |
| `beneficiary.instant_payment.id`   | Yes | Yes |
| `remitter.first_name`              |  -  | Yes |
| `remitter.last_name`               |  -  | Yes |
| `remitter.document.type`           |  -  | Yes |
| `remitter.document.id`             |  -  | Yes |
| `remitter.birth_info.date`         |  -  | Yes |
| `remitter.address.street`          |  -  | Yes |
| `remitter.address.city`            |  -  | Yes |
| `remitter.address.country`         |  -  | Yes |
| `remitter.nationality`             |  -  | Yes |

***

# Payment methods

Mali supports payouts via Mobile Money. Each method has specific required parameters and validations aligned with the local banking and telecom systems.

Use Mobile Money to send funds using mobile phone numbers tied to local e-wallets, accepted only from major operators.

## Wallet transfers

### Mandatory parameters

The table below outlines the required parameters for Wallet transfers.

| Mandatory parameter                | Description                                                                                                                         |
| :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |
| `external_id`                      | Unique payout identification at the merchant's end. Maximum 100 characters.                                                         |
| `payment_method_id`                | Payment method identifier. For wallet transfers, use `INSTANT_PAYMENT`.                                                             |
| `flow_type`                        | Payout flow type. Valid values: `B2C` (Business to Consumer) or `P2P` (Person to Person).                                           |
| `purpose`                          | Payout purpose code. For P2P, use `REMITTANCES`. See [purpose codes reference](https://docs.dlocal.com/docs/purpose-codes-reference-v3).                     |
| `country`                          | Country code. For Mali, use `ML`.                                                                                                   |
| `currency`                         | Source currency of the FX operation. For Mali, use `XOF` or `USD`. Payouts are typically paid in local currency to the beneficiary. |
| `amount`                           | Payout amount in `XOF`. Use up to 2 decimal places.                                                                                 |
| `beneficiary.first_name`           | Beneficiary's first name. Maximum 50 characters.                                                                                    |
| `beneficiary.last_name`            | Beneficiary's last name. Maximum 50 characters.                                                                                     |
| `beneficiary.phone`                | Beneficiary's phone number in E.164 format. Use `+223` followed by 9 digits.                                                        |
| `beneficiary.instant_payment.type` | Beneficiary's wallet provider. Type of wallet being used: `ORANGE` or `MOOV`.                                                       |
| `beneficiary.instant_payment.id`   | Beneficiary's wallet identifier, typically the phone number.                                                                        |
| `remitter.first_name`              | Remitter's first name. Maximum 50 characters. Mandatory only for remittance (P2P).                                                  |
| `remitter.last_name`               | Remitter's last name. Maximum 50 characters. Mandatory only for remittance (P2P).                                                   |
| `remitter.document.type`           | Type of identification document: `ID` for national identification number, `PASS` for passport. Mandatory only for remittance (P2P). |
| `remitter.document.id`             | Remitter's identification document or number. Maximum 45 characters. Mandatory only for remittance (P2P).                           |
| `remitter.birth_info.date`         | Remitter's date of birth in ISO 8601 format (YYYY-MM-DD). Mandatory only for remittance (P2P).                                      |
| `remitter.address.street`          | Remitter's street address. Maximum 200 characters. Mandatory only for remittance (P2P).                                             |
| `remitter.address.city`            | Remitter's city. Maximum 40 characters. Mandatory only for remittance (P2P).                                                        |
| `remitter.address.country`         | Remitter's country code in ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P).                                          |
| `remitter.nationality`             | Remitter's nationality. Use ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P).                                         |

### Example request

```json Wallet transfers - B2C
{
  "external_id": "ML_B2C_001",
  "payment_method_id": "INSTANT_PAYMENT",
  "flow_type": "B2C",
  "purpose": "OTHER_SERVICES",
  "country": "ML",
  "amount": 1000.00,
  "currency": "XOF",
  "beneficiary": {
    "first_name": "Awa",
    "last_name": "Traore",
    "phone": "+22370811010",
    "instant_payment": {
      "type": "ORANGE",
      "id": "+22370811010"
    }
  },
  "notification_url": "https://thisisawebsite.net/payments"
}
```
```json Wallet transfers - P2P
{
  "external_id": "ML_P2P_002",
  "payment_method_id": "INSTANT_PAYMENT",
  "flow_type": "P2P",
  "purpose": "REMITTANCES",
  "country": "ML",
  "amount": 500.00,
  "currency": "XOF",
  "beneficiary": {
    "first_name": "Awa",
    "last_name": "Traore",
    "phone": "+22370811010",
    "instant_payment": {
      "type": "MOOV",
      "id": "+22370811010"
    }
  },
  "remitter": {
    "first_name": "Moussa",
    "last_name": "Diarra",
    "document": {
      "type": "ID",
      "id": "A12345678"
    },
    "birth_info": {
      "date": "1985-01-15"
    },
    "address": {
      "street": "123 Main Street, Bamako",
      "city": "Bamako",
      "country": "SN"
    },
    "nationality": "SN"
  },
  "notification_url": "https://thisisawebsite.net/payments"
}
```