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 CodeHTTP statusOperationDescription
NO_AUTHENTICATION401AllWe did not find the API token in the request headers.
AUTHENTICATION_ERROR403AllThe API token specified for authentication is not valid or missing. Please refer to Authentication.
AUTHORISATION_ERROR403AllThe API token specified for authentication is now authorized for the API call.
HTTP_SIGNATURE_ERROR403AllYou have enabled signatures for financial calls, but we are unable to verify the signature from the request.
INVALID_INPUT400AllWe were unable to parse the payload of the request.
MISSING_PARAMETER400AllA mandatory property is missing from the body of the request. The ‘failureMessage’ contains more information. Consult the API reference.
UNSUPPORTED_PARAMETER400AllA parameter was found in the body of the request that is not supported by the endpoint. The ‘failureMessage’ contains more information. Consult the API reference.
INVALID_PARAMETER400AllThe value of a parameter in the body of the request was invalid. The ‘failureMessage’ contains more information. Consult the API reference.
AMOUNT_OUT_OF_BOUNDS200AllThe amount is outside of the transaction limits for this provider and operation. Check active configuration for effective limits.
INVALID_AMOUNT200AllThe number of decimal places specified in the amount is not supported by the provider. Check Providers for their support for decimals.
INVALID_PHONE_NUMBER200AllThe phone number specified is not in the MSISDN format.
INVALID_CURRENCY200AllThe currency is not supported by the provider.
INVALID_PROVIDER200AllThe provider is not valid for the request.
DUPLICATE_METADATA_FIELD400AllYou have multiple instances of the same metadta included in the request.
DEPOSITS_NOT_ALLOWED403DepositsDeposits have not been enabled for the specified ‘provider’ on your pawaPay account.
PAYOUTS_NOT_ALLOWED403PayoutsPayouts have not been enabled for the specified ‘provider’ on your pawaPay account.
REFUNDS_NOT_ALLOWED403RefundsRefunds have not been enabled for the specified ‘provider’ on your pawaPay account.
PROVIDER_TEMPORARILY_UNAVAILABLEAllThe provider specified 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.
UNKNOWN_ERROR500AllAn unknown error has occurred while processing this payment. Please check the status of this payment over API before considering failed.

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 CodeHTTP statusOperationDescription
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.
PAYMENT_IN_PROGRESSDepositsThe customer is initiating a transaction while an unfinished transaction is still pending. Note: Some providers 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.
PAYER_NOT_FOUNDDepositsThe phone number (MSISDN) does not belong to the provider.
RECIPIENT_NOT_FOUNDPayoutsThe phone number (MSISDN) does not belong to the provider.
MANUALLY_CANCELLEDPayouts/RefundsThe payout request was enqueued and subsequently failed manually from the pawaPay Dashboard or through the Cancel Enqueued Payout endpoint.
PAWAPAY_WALLET_OUT_OF_FUNDSPayouts/RefundsThe balance of your pawaPay wallet does not have the funds to initiate this payout.
DEPOSIT_ALREADY_REFUNDEDRefundsThe deposit you are refunding has already been refunded in full.
AMOUNT_TOO_LARGERefundsThe amount you are attempting to refund is larger than what is left to be refunded for this deposit including previous partial refunds.
//REFUND_IN_PROGRESSRefundsThere is already a refund being processed for this deposit. Only one refund can be processed for a single deposit at a time.
WALLET_LIMIT_REACHEDAllThe customer has reached a limit on their wallet. Example: Customer is only allowed to transfer a maximum of 1 000 000 per week.
UNSPECIFIED_FAILUREAllThe provider did not give any information about the reason for this failure.
UNKNOWN_ERRORAllAn unknown error has occurred while processing this payment. Please check the status of this payment over API before considering failed.