Payouts
Request payout approval
POST
/api/v1/pawapay/payouts/request-approvalFirst step of the OTP-gated payout flow — validates the payout details and emails a verification code to the requesting admin. Nothing is sent to PawaPay yet.
Requires Authorization
ADMIN only
Payout OTP
Body parameters
amountnumberrequired | Greater than 0. |
currencystringrequired | e.g. USD. |
countrystringrequired | ISO country code. |
providerstringrequired | Mobile money provider code. |
recipientPhoneNumberstringrequired | Digits only, with country code. |
customerMessagestringrequired | 4–22 alphanumeric characters. |
clientReferenceIdstring | Your own reference for this payout. |
Notes
- Also enforces a daily payout count and per-currency amount limit for the requesting admin.
- This is the same OTP-gated payout mechanism the expense-approval flow uses to pay vendors — it's not used for seller wallet payouts, which go through MbiyoPay instead.
Request
curl --request POST \
--url https://api.swiftgoma.com/api/v1/pawapay/payouts/request-approval \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"amount": "<amount>",
"currency": "<currency>",
"country": "<country>",
"provider": "<provider>",
"recipientPhoneNumber": "<recipientPhoneNumber>",
"customerMessage": "<customerMessage>",
"clientReferenceId": "<clientReferenceId>"
}'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",
"country": "CD",
"provider": "MTN_MOMO_COD",
"recipientPhoneNumber": "243812345678"
}
}
}