Deposits
Initiate deposit
POST
/api/v1/pawapay/depositsRequests a mobile money charge from a payer through PawaPay — used internally for subscription billing. Buyer checkout uses MbiyoPay instead, not this endpoint.
Requires Authorization
ADMIN only
Payment
Body parameters
amountnumberrequired | Greater than 0. |
currencystringrequired | e.g. USD. |
countrystringrequired | ISO country code. |
providerstringrequired | Mobile money provider code, e.g. MTN_MOMO_COD. |
payerPhoneNumberstringrequired | Digits only, with country code, no leading +. |
customerMessagestringrequired | 4–22 alphanumeric characters — shown to the payer. |
clientReferenceIdstring | Your own reference for this deposit. |
metadataobject | Up to 10 key/value entries, forwarded to PawaPay. |
Notes
- If depositId isn't provided, one is derived deterministically from the request's amount, currency, provider, and phone number within a 5-minute window — an accidental duplicate submission resolves to the same deposit instead of charging twice.
Request
curl --request POST \
--url https://api.swiftgoma.com/api/v1/pawapay/deposits \
--header 'Authorization: Bearer <access_token>' \
--header 'Content-Type: application/json' \
--data '{
"amount": "<amount>",
"currency": "<currency>",
"country": "<country>",
"provider": "<provider>",
"payerPhoneNumber": "<payerPhoneNumber>",
"customerMessage": "<customerMessage>",
"clientReferenceId": "<clientReferenceId>",
"metadata": {}
}'201Example response
{
"success": true,
"data": {
"depositId": "SWG-DEP-9f8e7d6c5b4a3210",
"status": "ACCEPTED",
"created": "2026-02-15T09:00:00.000Z"
}
}