Skip to main content

Overview

As part of using the pawaPay platform, you will have access to our sandbox environment. Your sandbox account will have access to all the MMOs available on our platform. This allows you to safely test your integration without using actual mobile money wallets and real funds. In the sandbox, we provide special phone numbers (MSISDNs) that allow you to simulate both successful and unsuccessful transactions, helping you verify how your integration handles various payment outcomes.

Sandbox test phone numbers (MSISDNs)

These phone numbers can only be used in sandbox, not in production. The payment process is faster than in production as the customer does not actually enter the PIN prompt to authorise the payment.
  • MTN (MTN_MOMO_BEN)
  • Moov (MOOV_BEN)
OperationMSISDNfailureCode
Deposit22951345029PAYER_NOT_FOUND
22951345039PAYMENT_NOT_APPROVED
22951345069OTHER_ERROR
22951345129NO CALLBACK (stuck in SUBMITTED state)
22951345789N/A (COMPLETED)
Payout22951345089RECIPIENT_NOT_FOUND
22951345119OTHER_ERROR
22951345129NO CALLBACK (stuck in SUBMITTED state)
22951345789N/A (COMPLETED)
  • Moov (MOOV_BFA)
  • Orange (ORANGE_BFA)
OperationMSISDNfailureCode
Deposit22602345048INSUFFICIENT_BALANCE
22602345068OTHER_ERROR
22602345138NO CALLBACK (stuck in SUBMITTED state)
22602345678N/A (COMPLETED)
Payout22602345118OTHER_ERROR
22602345138NO CALLBACK (stuck in SUBMITTED state)
22602345678N/A (COMPLETED)
  • MTN (MTN_MOMO_CMR)
  • Orange (ORANGE_CMR)
OperationMSISDNfailureCode
Deposit237653456019PAYER_LIMIT_REACHED
237653456029PAYER_NOT_FOUND
237653456039PAYMENT_NOT_APPROVED
237653456069OTHER_ERROR
237653456129NO CALLBACK (stuck in SUBMITTED state)
237653456789N/A (COMPLETED)
Payout237653456089RECIPIENT_NOT_FOUND
237653456119OTHER_ERROR
237653456129NO CALLBACK (stuck in SUBMITTED state)
237653456789N/A (COMPLETED)
  • MTN (MTN_MOMO_CIV)
  • Orange (ORANGE_CIV)
OperationMSISDNfailureCode
Deposit2250503456029PAYER_NOT_FOUND
2250503456039PAYMENT_NOT_APPROVED
2250503456069OTHER_ERROR
2250503456129NO CALLBACK (stuck in SUBMITTED state)
2250503456789N/A (COMPLETED)
Payout2250503456089RECIPIENT_NOT_FOUND
2250503456119OTHER_ERROR
2250503456129NO CALLBACK (stuck in SUBMITTED state)
2250503456789N/A (COMPLETED)
  • Vodacom (VODACOM_MPESA_COD)
  • Airtel (AIRTEL_COD)
  • Orange (ORANGE_COD)
OperationMSISDNfailureCode
Deposit243813456019PAYER_LIMIT_REACHED
243813456029PAYER_NOT_FOUND
243813456039PAYMENT_NOT_APPROVED
243813456049INSUFFICIENT_BALANCE
243813456069OTHER_ERROR
243813456129NO CALLBACK (stuck in SUBMITTED state)
243813456789N/A (COMPLETED)
Payout243813456089RECIPIENT_NOT_FOUND
243813456119OTHER_ERROR
243813456129NO CALLBACK (stuck in SUBMITTED state)
243813456789N/A (COMPLETED)
  • Airtel (AIRTEL_GAB)
OperationMSISDNfailureCode
Deposit24174345048INSUFFICIENT_BALANCE
24174345068OTHER_ERROR
24174345128NO CALLBACK (stuck in SUBMITTED state)
24174345678N/A (COMPLETED)
Payout24174345088RECIPIENT_NOT_FOUND
24174345118OTHER_ERROR
24174345128NO CALLBACK (stuck in SUBMITTED state)
24174345678N/A (COMPLETED)
  • MTN (MTN_MOMO_GHA)
  • AT (AIRTELTIGO_GHA)
  • Vodafone (VODAFONE_GHA)
OperationMSISDNfailureCode
Deposit233593456019PAYER_LIMIT_REACHED
233593456029PAYER_NOT_FOUND
233593456039PAYMENT_NOT_APPROVED
233593456069OTHER_ERROR
233593456129NO CALLBACK (stuck in SUBMITTED state)
233593456789N/A (COMPLETED)
Payout233593456089RECIPIENT_NOT_FOUND
233593456119OTHER_ERROR
233593456129NO CALLBACK (stuck in SUBMITTED state)
233593456789N/A (COMPLETED)
  • MPesa (MPESA_KEN)
OperationMSISDNfailureCode
Deposit254703456019PAYER_LIMIT_REACHED
254703456039PAYMENT_NOT_APPROVED
254703456049INSUFFICIENT_BALANCE
254703456059TRANSACTION_ALREADY_IN_PROCESS
254703456069OTHER_ERROR
254703456129NO CALLBACK (stuck in SUBMITTED state)
254703456789N/A (COMPLETED)
Payout254703456089RECIPIENT_NOT_FOUND
254703456099RECIPIENT_NOT_ALLOWED_TO_RECEIVE
254703456109RECIPIENT_LIMIT_REACHED
254703456119OTHER_ERROR
254703456129NO CALLBACK (stuck in SUBMITTED state)
254703456789N/A (COMPLETED)
  • Airtel (AIRTEL_MWI)
  • TNM (TNM_MWI)
OperationMSISDNfailureCode
Deposit265993456049INSUFFICIENT_BALANCE
265993456069OTHER_ERROR
265993456129NO CALLBACK (stuck in SUBMITTED state)
265993456789N/A (COMPLETED)
Payout265993456089RECIPIENT_NOT_FOUND
265993456119OTHER_ERROR
265993456129NO CALLBACK (stuck in SUBMITTED state)
265993456789N/A (COMPLETED)
  • Airtel (AIRTEL_NGA)
  • MTN (MTN_MOMO_NGA)
OperationMSISDNfailureCode
Deposit2349034567069OTHER_ERROR
2349034567129NO CALLBACK (stuck in SUBMITTED state)
2349034567899N/A (COMPLETED)
Payout2349034567089RECIPIENT_NOT_FOUND
2349034567119OTHER_ERROR
2349034567129NO CALLBACK (stuck in SUBMITTED state)
2349034567899N/A (COMPLETED)
  • Airtel (AIRTEL_COG)
  • MTN (MTN_MOMO_COG)
OperationMSISDNfailureCode
Deposit242053456039PAYMENT_NOT_APPROVED
242053456049INSUFFICIENT_BALANCE
242053456069OTHER_ERROR
242053456129NO CALLBACK (stuck in SUBMITTED state)
242053456789N/A (COMPLETED)
Payout242053456089RECIPIENT_NOT_FOUND
242053456119OTHER_ERROR
242053456129NO CALLBACK (stuck in SUBMITTED state)
242053456789N/A (COMPLETED)
  • Airtel (AIRTEL_RWA)
  • MTN (MTN_MOMO_RWA)
OperationMSISDNfailureCode
Deposit250733456039PAYMENT_NOT_APPROVED
250733456049INSUFFICIENT_BALANCE
250733456069OTHER_ERROR
250733456129NO CALLBACK (stuck in SUBMITTED state)
250733456789N/A (COMPLETED)
Payout250733456089RECIPIENT_NOT_FOUND
250733456119OTHER_ERROR
250733456129NO CALLBACK (stuck in SUBMITTED state)
250733456789N/A (COMPLETED)
  • Free (FREE_SEN)
  • Orange (ORANGE_SEN)
OperationMSISDNfailureCode
Deposit221763456049INSUFFICIENT_BALANCE
221763456069OTHER_ERROR
221763456129NO CALLBACK (stuck in SUBMITTED state)
221763456789N/A (COMPLETED)
Payout221763456119OTHER_ERROR
221763456129NO CALLBACK (stuck in SUBMITTED state)
221763456789N/A (COMPLETED)
  • Orange (ORANGE_SLE)
OperationMSISDNfailureCode
Deposit23276123456N/A (COMPLETED)
Payout23276123456N/A (COMPLETED)
  • Airtel (AIRTEL_TZA)
  • Vodacom (VODACOM_TZA)
  • Tigo (TIGO_TZA)
  • Halotel (HALOTEL_TZA)
OperationMSISDNfailureCode
Deposit255683456019PAYER_LIMIT_REACHED
255683456039PAYMENT_NOT_APPROVED
255683456049INSUFFICIENT_BALANCE
255683456069OTHER_ERROR
255683456129NO CALLBACK (stuck in SUBMITTED state)
255683456789N/A (COMPLETED)
Payout255683456089RECIPIENT_NOT_FOUND
255683456119OTHER_ERROR
255683456129NO CALLBACK (stuck in SUBMITTED state)
255683456789N/A (COMPLETED)
  • Airtel (AIRTEL_OAPI_UGA)
  • MTN (MTN_MOMO_UGA)
OperationMSISDNfailureCode
Deposit256753456019PAYER_LIMIT_REACHED
256753456039PAYMENT_NOT_APPROVED
256753456049INSUFFICIENT_BALANCE
256753456069OTHER_ERROR
256753456129NO CALLBACK (stuck in SUBMITTED state)
256753456789N/A (COMPLETED)
Payout256753456089RECIPIENT_NOT_FOUND
256753456099RECIPIENT_NOT_ALLOWED_TO_RECEIVE
256753456119OTHER_ERROR
256753456129NO CALLBACK (stuck in SUBMITTED state)
256753456789N/A (COMPLETED)
  • Airtel (AIRTEL_OAPI_ZMB)
  • MTN (MTN_MOMO_ZMB)
  • Zamtel (ZAMTEL_ZMB)
OperationMSISDNfailureCode
Deposit260973456019PAYER_LIMIT_REACHED
260973456039PAYMENT_NOT_APPROVED
260973456049INSUFFICIENT_BALANCE
260973456069OTHER_ERROR
260973456129NO CALLBACK (stuck in SUBMITTED state)
260973456789N/A (COMPLETED)
Payout260973456089RECIPIENT_NOT_FOUND
260973456119OTHER_ERROR
260973456129NO CALLBACK (stuck in SUBMITTED state)
260973456789N/A (COMPLETED)

Technical failure codes

Technical failures should not happen during live operation and are intended to provide clear information during the development of the integration.
Failure CodeOperationDescription
INVALID_RECIPIENT_FORMATPayoutsThe financial address for the recipient is in an unrecognizable format. Please refer to recipient in Mobile Money Payout Request
INVALID_PAYER_FORMATDepositsThe financial address for the payer is in an unrecognizable format. Please refer to payer in Mobile Money Deposit Request.
INVALID_CURRENCYBothThe currency is not supported by the MMO specified as the correspondent.
INVALID_AMOUNTBothThe amount is in an unrecognizable format. Please refer to amount in Mobile Money Deposit Request.
INVALID_COUNTRYBothThe country is not supported by the MMO specified as the correspondent.
AMOUNT_TOO_SMALLBothThe specified amount is smaller than the minimum allowed by the MMO specified as the correspondent.
AMOUNT_TOO_LARGEBothThe specified amount is larger than the maximum allowed by the MMO specified as the correspondent.
PARAMETER_INVALIDBothAn invalid parameter was found as part of the request.
DEPOSITS_NOT_ALLOWEDDepositsThe MMO specified as the correspondent does not support deposit transactions.
PAYOUTS_NOT_ALLOWEDPayoutsThe MMO specified as the correspondent does not support payout transactions.
AUTHENTICATION_ERRORBothThe token specified for authentication is not valid or missing. Please refer to Authentication.
INVALID_INPUTBothWe were was unable to parse the payload of the request.

Transaction failure codes

Transaction failures are expected to happen during live operation and are intended to provide clear information as to why a particular payment was not successful.
Failure CodeOperationDescription
PAYER_LIMIT_REACHEDDepositsThe customer has reached a limit on their wallet. Example: Customer is only allowed to transfer a maximum of 1 000 000 a week.
PAYER_NOT_FOUNDDepositsThe phone number (MSISDN) specified as the payer does not belong to the MMO specified as the correspondent.
PAYMENT_NOT_APPROVEDDepositsThe customer did not authorize the payment. Example: Customer did not enter their PIN in time.
INSUFFICIENT_BALANCEDepositsThe customer does not have enough funds to perform the deposit.
TRANSACTION_ALREADY_IN_PROCESSDepositsThe customer is initiating a transaction while an unfinished transaction is still pending. Note: Some MMOs only allow a single transaction to be processed at any given time. When the customer does not enter the PIN to authorize a payment in time, it might take up to 10 minutes for them to be able to initiate a new transaction.
BALANCE_INSUFFICIENTPayoutsThe balance of your pawaPay wallet does not have the funds to initiate this payout.
RECIPIENT_NOT_FOUNDPayoutsThe phone number (MSISDN) specified as the recipient, does not belong to the Mobile Money Operator (MMO) specified as the correspondent.
RECIPIENT_NOT_ALLOWED_TO_RECEIVEPayoutsThe recipient has reached a limit on their wallet that stops them from being able to accept this payout. Example: The customers wallet is able to hold up to 1 000 000 and the payout would take their balance over this limit.
MANUALLY_CANCELLEDPayoutsThe payout request was enqueued and subsequently failed manually from the pawaPay Dashboard or through the Cancel Enqueued Payout endpoint.
OTHER_ERRORBothThe payment failed due to an unknown error.
CORRESPONDENT_TEMPORARILY_UNAVAILABLEBothThe MMO specified as the correspondent is currently experiencing an outage and processing of payments has been temporarily halted. Please refer to our Status Page for live information about MMO availability.