Appearance
POST Execute Transfer
https://api.magmaonepay.com/v1/payout/transfer
Execute Transfer
This guide will help you execute a transfer to any available corridor.
These are for channels: mobile_money, airtime
Corridors
Here are the countries and their supported payment methods:
Country Code | Country Name | Supports Mobile Wallet? | Supports Credit Card? | Airtime | Currency |
---|---|---|---|---|---|
BJ | Benin | Yes | No | No | XOF |
CI | Côte d'Ivoire | Yes | No | No | XOF |
TG | Togo | Yes | No | No | XOF |
SN | Senegal | Yes | No | No | XOF |
ML | Mali | Yes | No | No | XOF |
BF | Burkina Faso | Yes | No | No | XOF |
CM | Caméroun | Yes | No | No | XAF |
GN | Guinée (Conakry) | Yes | No | No | GNF |
GH | Ghana | Yes | No | No | GHS |
SL | Sierra Léone | Yes | No | No | SLE |
KE | Kenya | Yes | No | No | KES |
RDC | Republique Démocratique du Congo | Yes | No | No | CDF |
UG | Ouganda | Yes | No | No | UGX |
Available Payment Methods
Here are the available payment methods per country and their minimum and maximum transaction limits:
Country Code | Country Name | Payment methods | Min amount | Max amount |
---|---|---|---|---|
BJ | Benin | MOOV_BJ, MTN_BJ | 200 | 1500000 |
CI | Côte d'Ivoire | MOOV_CI, MTN_CI, ORANGE_CI, WAVE_CI | 200 | 1500000 |
TG | Togo | MOOV_TG, TMONEY_TG | 200 | 1500000 |
SN | Senegal | WAVE_SN, ORANGE_SN, FREE_SN | 200 | 1500000 |
ML | Mali | ORANGE_ML, MOOV_ML | 200 | 1500000 |
BF | Burkina Faso | MOOV_BF, ORANGE_BF | 200 | 1500000 |
CM | Cameroun | MTN_GN, ORANGE_GN | 200 | 1500000 |
GN | Guinée (Conakry) | ORANGE_GN, MTN_GN | 200 | 1500000 |
GH | Ghana | MTN_GH, VODAFONE_GH, AIRTEL_GH | 200 | 1500000 |
SL | Sierra Leone | ORANGE_SL | 200 | 1500000 |
KE | Kenya | EQUITEL_KE, MPESA_KE, AIRTEL_KE | 200 | 1500000 |
UG | Ouganda | AIRTEL_UG, MTN_UG | 200 | 1500000 |
RDC | Republique Démocratique du Congo | ORANGE_CD, MPESA_CD, AIRTEL_CD | 200 | 1500000 |
Transfer Statuses
Transfers may have one of the following statuses:
Status | Description |
---|---|
new | The transfer is newly created |
success | The transfer is successful |
pending | The transfer is pending |
failed | The transfer has failed |
refunded | The transfer has been refunded |
cancelled | The transfer has been cancelled |
HEADERS
Authorization | Bearer TOKEN |
---|
NB: TOKEN is your private secret key dependant on your mode (live or test) for server-side
Body
Request Body
The body of the request should be a JSON object with the following fields:
Field | Description | Type | Required |
---|---|---|---|
merchant_transaction_id | Unique transaction identifier on your system | String | Yes |
amount | Amount to be transferred | Number | Yes |
currency | Currency code (e.g., XOF) | ISO3 Currency | Yes |
description | Description of the operation | String | No |
channel | Transfer channel (mobile_money,wave) | enum | Yes |
country_code | Country code (e.g., CI) | ISO2 Country | Yes |
receiver_account | Receiver's account number | String | Yes |
transfer_method | Transfer Method if you want to specify (ORANGE_CI) | String | No |
receiver_first_name | First name of the receiver | String | Yes |
receiver_last_name | Last name of the receiver | String | Yes |
webhook_url | URL to receive webhook notifications | String | No |
custom_field | Any additional custom field for the client | String | No |
Exemple of a body, raw (json)
json
{
"merchant_transaction_id": "876d6cab-d96e-4fec-8639-216cb52b76e3",
"amount": 500,
"currency": "XOF",
"description": "Payment description",
"channel": "mobile_money",
"country_code": "CI",
"receiver_account": "+2250707000200",
"receiver_first_name": "Amidou",
"receiver_last_name": "Amada",
"webhook_url": "https://webhook.site/dcfa6085-3e7f-469e-9ff6-3c9bc0ed1c1d",
"custom_field": "any_string"
}
Example Request
curl
curl --location 'https://api.magmaonepay.com/v1/payout/transfer' \
--header 'Authorization: Bearer TOKEN' \
--data '{
"merchant_transaction_id": "876d6cab-d96e-4fec-8639-216cb52b76e3",
"amount": 500,
"currency": "XOF",
"description": "Payment description",
"channel": "mobile_money",
"country_code": "CI",
"receiver_account": "+2250707000200",
"receiver_first_name": "Amidou",
"receiver_last_name": "Amada",
"webhook_url": "https://webhook.site/dcfa6085-3e7f-469e-9ff6-3c9bc0ed1c1d",
"custom_field": "any_string"
}'
Example Response
Body
json
{
"code": 201,
"message": "CREATED",
"data": {
"created_at": "2024-06-04T00:46:19.000000Z",
"done_at": null,
"transfer_token": "da578aa9-cf07-481c-83d9-6c71ca980644",
"merchant_transaction_id": "JGVDHUSJGBJs",
"country_name": "Côte d'Ivoire",
"country_code": "CI",
"amount": 150,
"currency": "XOF",
"description": "Transfer test",
"channel": "mobile_money",
"receiver_account": "+2250707000200",
"receiver_first_name": "Cheick",
"receiver_last_name": "Cheick",
"webhook_url": "https://webhook.site",
"custom_field": "123456",
"status": "new"
}
}