Benin
Learn everything you need to know to make payouts in Benin with dLocal.
Market specifications
Country reference
country code | currency code | amount decimals |
|---|---|---|
BJ | XOF | 2 |
Mandatory parameters
Bank transfers
| Bank transfer parameters | B2C | B2B | P2P |
|---|---|---|---|
external_id | Yes | Yes | Yes |
payment_method_id | Yes | Yes | Yes |
flow_type | Yes | Yes | Yes |
purpose | Yes | Yes | Yes |
country | Yes | Yes | Yes |
amount | Yes | Yes | Yes |
currency | Yes | Yes | Yes |
beneficiary.first_name | Yes | - | Yes |
beneficiary.last_name | Yes | - | Yes |
beneficiary.business_name | - | Yes | - |
beneficiary.bank_account.account | Yes | Yes | Yes |
beneficiary.bank_account.branch | Yes | Yes | Yes |
remitter.first_name | - | - | Yes |
remitter.last_name | - | - | Yes |
remitter.address.country | - | - | Yes |
Wallet transfers
| Wallet transfer parameters | B2C | B2B | P2P |
|---|---|---|---|
external_id | Yes | Yes | Yes |
payment_method_id | Yes | Yes | Yes |
flow_type | Yes | Yes | Yes |
purpose | Yes | Yes | Yes |
country | Yes | Yes | Yes |
amount | Yes | Yes | Yes |
currency | Yes | Yes | Yes |
beneficiary.first_name | Yes | - | Yes |
beneficiary.last_name | Yes | - | Yes |
beneficiary.business_name | - | Yes | - |
beneficiary.instant_payment.type | Yes | Yes | Yes |
beneficiary.instant_payment.id | Yes | Yes | Yes |
remitter.first_name | - | - | Yes |
remitter.last_name | - | - | Yes |
remitter.address.country | - | - | Yes |
Payment methods
Benin supports payouts via Bank Transfer and Wallet (Mobile Money) transfer. Each method has specific required parameters and validations aligned with the local banking and telecom systems.
Use Bank Transfer to send funds directly to a beneficiary's bank account. Use Wallet transfers to send funds using mobile phone numbers tied to local e-wallets, accepted only from major operators.
Bank transfers
Mandatory parameters
The table below outlines the required parameters for Bank transfers.
| Mandatory parameter | Description |
|---|---|
external_id | Unique payout identification at the merchant's end. Maximum 100 characters. |
payment_method_id | Payment method identifier. For bank transfers, use BANK_TRANSFER. |
flow_type | Payout flow type. Valid values: B2C (Business to Consumer), B2B (Business to Business), or P2P (Person to Person). |
purpose | Payout purpose code. See purpose codes reference. |
country | Country code. For Benin, use BJ. |
currency | Currency of the payout. For Benin, use XOF. |
amount | Payout amount in XOF. Use up to 2 decimal places. |
beneficiary.first_name | Beneficiary's first name. Maximum 50 characters. Mandatory for B2C and P2P. Not used for B2B. |
beneficiary.last_name | Beneficiary's last name. Maximum 50 characters. Mandatory for B2C and P2P. Not used for B2B. |
beneficiary.business_name | Beneficiary's registered business name. Maximum 100 characters. Mandatory only for B2B. |
beneficiary.bank_account.account | Beneficiary's bank account number. Between 3 and 30 characters. Automatically converted to IBAN format for the BJ corridor. |
beneficiary.bank_account.branch | Beneficiary's bank identifier code. Must match one of the bank codes listed in the Bank codes table below. |
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.address.country | Remitter's country code in ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P). |
Bank codes
beneficiary.bank_account.branch must be one of the following codes.
| Bank name | Bank code |
|---|---|
| Bank Of Africa Benin | AFRIBJBJ |
| BANQUE AFRICAINE POUR L'INDUSTRIE ET LE COMMERCE | AFICBJBJ |
| Banque Atlantique du Benin | ATBJBJBJ |
| Banque Internationale du Benin | BIBEBJBJ |
| Banque Sahelo-Saharienne pour l'Investissement et le Commerce | BSAHBJBJ |
| BGFI BANK BENIN | BGFIBJBJ |
| CBAO Benin | CBAOBJBJ |
| CCEI BANK BENIN | CCEIBJBJ |
| CORIS BANK Benin | CORIBJBJ |
| Ecobank Benin | ECOCBJBJ |
| NSIA BANQUE Benin | DBLNBJBJ |
| Orabank Benin | ORBKBJBJ |
| SOCIETE GENERALE | SOGEBJBJ |
| SONIBANK BENIN | SOCNBJBJ |
| United Bank for Africa Benin | COBBBJBJ |
Example request
{
"external_id": "BJ_BT_B2C_001",
"payment_method_id": "BANK_TRANSFER",
"flow_type": "B2C",
"purpose": "OTHER_SERVICES",
"country": "BJ",
"amount": 25000.00,
"currency": "XOF",
"beneficiary": {
"first_name": "Fabrice",
"last_name": "Adjovi",
"bank_account": {
"account": "BJ0610100100010154210001990",
"branch": "AFRIBJBJ"
}
},
"notification_url": "https://thisisawebsite.net/payments"
}{
"external_id": "BJ_BT_B2B_002",
"payment_method_id": "BANK_TRANSFER",
"flow_type": "B2B",
"purpose": "OTHER_SERVICES",
"country": "BJ",
"amount": 500000.00,
"currency": "XOF",
"beneficiary": {
"business_name": "Cotonou Trading SARL",
"bank_account": {
"account": "BJ0610100100010154210002881",
"branch": "ECOCBJBJ"
}
},
"notification_url": "https://thisisawebsite.net/payments"
}{
"external_id": "BJ_BT_P2P_003",
"payment_method_id": "BANK_TRANSFER",
"flow_type": "P2P",
"purpose": "REMITTANCES",
"country": "BJ",
"amount": 15000.00,
"currency": "XOF",
"beneficiary": {
"first_name": "Fabrice",
"last_name": "Adjovi",
"bank_account": {
"account": "BJ0610100100010154210001990",
"branch": "AFRIBJBJ"
}
},
"remitter": {
"first_name": "Awa",
"last_name": "Traore",
"address": {
"country": "SN"
}
},
"notification_url": "https://thisisawebsite.net/payments"
}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), B2B (Business to Business), or P2P (Person to Person). |
purpose | Payout purpose code. See purpose codes reference. |
country | Country code. For Benin, use BJ. |
currency | Currency of the payout. For Benin, use XOF. |
amount | Payout amount in XOF. Use up to 2 decimal places. |
beneficiary.first_name | Beneficiary's first name. Maximum 50 characters. Mandatory for B2C and P2P. Not used for B2B. |
beneficiary.last_name | Beneficiary's last name. Maximum 50 characters. Mandatory for B2C and P2P. Not used for B2B. |
beneficiary.business_name | Beneficiary's registered business name. Maximum 100 characters. Mandatory only for B2B. |
beneficiary.instant_payment.type | Beneficiary's wallet provider. Type of wallet being used: MTN, MOOV, or Celtiis. |
beneficiary.instant_payment.id | Beneficiary's wallet identifier, in E.164 format: +229 followed by 8 digits. Ex: +22970123456. |
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.address.country | Remitter's country code in ISO 3166-1 alpha-2 format. Mandatory only for remittance (P2P). |
Example request
{
"external_id": "BJ_WT_B2C_001",
"payment_method_id": "INSTANT_PAYMENT",
"flow_type": "B2C",
"purpose": "OTHER_SERVICES",
"country": "BJ",
"amount": 10000.00,
"currency": "XOF",
"beneficiary": {
"first_name": "Fabrice",
"last_name": "Adjovi",
"instant_payment": {
"type": "MTN",
"id": "+22970123456"
}
},
"notification_url": "https://thisisawebsite.net/payments"
}{
"external_id": "BJ_WT_B2B_002",
"payment_method_id": "INSTANT_PAYMENT",
"flow_type": "B2B",
"purpose": "OTHER_SERVICES",
"country": "BJ",
"amount": 200000.00,
"currency": "XOF",
"beneficiary": {
"business_name": "Cotonou Trading SARL",
"instant_payment": {
"type": "MOOV",
"id": "+22970123457"
}
},
"notification_url": "https://thisisawebsite.net/payments"
}{
"external_id": "BJ_WT_P2P_003",
"payment_method_id": "INSTANT_PAYMENT",
"flow_type": "P2P",
"purpose": "REMITTANCES",
"country": "BJ",
"amount": 5000.00,
"currency": "XOF",
"beneficiary": {
"first_name": "Fabrice",
"last_name": "Adjovi",
"instant_payment": {
"type": "Celtiis",
"id": "+22970123458"
}
},
"remitter": {
"first_name": "Awa",
"last_name": "Traore",
"address": {
"country": "SN"
}
},
"notification_url": "https://thisisawebsite.net/payments"
}Updated about 1 hour ago
Did this page help you?
