Payout
Request payout approval
POST
/api/v1/mbiyopay/payout/request-approvalFirst step of the OTP-gated payout flow — the same pattern used for PawaPay. Validates the request and emails a verification code; nothing is sent to MbiyoPay yet.
Requires Authorization
ADMIN only
Payout OTP
Body parameters
amountnumberrequired | Within the supported range for the currency. |
currencystringrequired | Must be supported by the given countryCode. |
networkstringrequired | Must be supported by the given countryCode. |
phoneNumberstringrequired | 9–15 digits. |
countryCodestringrequired | CD or RW. |
beneficiarystringrequired | Name of the payout recipient. |
orderIdstring | Your own reference. |
Notes
- Also enforces a daily payout count and per-currency amount limit for the requesting admin — shared with PawaPay's payout limits.
Request
curl --request POST \
--url https://api.swiftgoma.com/api/v1/mbiyopay/payout/request-approval \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"amount": "<amount>",
"currency": "<currency>",
"network": "<network>",
"phoneNumber": "<phoneNumber>",
"countryCode": "<countryCode>",
"beneficiary": "<beneficiary>",
"orderId": "<orderId>"
}'200Example response
{
"success": true,
"data": {
"pendingId": "9f8e7d6c-5b4a-3210-9f8e-7d6c5b4a3210",
"message": "Un code de vérification a été envoyé à admin@swiftgoma.com. Saisissez-le pour approuver ce paiement.",
"expiresInMinutes": 5,
"summary": {
"amount": 50,
"currency": "USD",
"beneficiary": "Aline Mapendo",
"phoneNumber": "243812345678",
"network": "airtel"
}
}
}