Resources
Failure codes
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 Code | HTTP status | Operation | Description |
---|---|---|---|
NO_AUTHENTICATION | 401 | All | We did not find the API token in the request headers. |
AUTHENTICATION_ERROR | 403 | All | The API token specified for authentication is not valid or missing. Please refer to Authentication. |
AUTHORISATION_ERROR | 403 | All | The API token specified for authentication is now authorized for the API call. |
HTTP_SIGNATURE_ERROR | 403 | All | You have enabled signatures for financial calls, but we are unable to verify the signature from the request. |
INVALID_INPUT | 400 | All | We were unable to parse the payload of the request. |
MISSING_PARAMETER | 400 | All | A mandatory property is missing from the body of the request. The ‘failureMessage’ contains more information. Consult the API reference. |
UNSUPPORTED_PARAMETER | 400 | All | A 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_PARAMETER | 400 | All | The value of a parameter in the body of the request was invalid. The ‘failureMessage’ contains more information. Consult the API reference. |
AMOUNT_OUT_OF_BOUNDS | 200 | All | The amount is outside of the transaction limits for this provider and operation. Check active configuration for effective limits. |
INVALID_AMOUNT | 200 | All | The number of decimal places specified in the amount is not supported by the provider. Check Providers for their support for decimals. |
INVALID_PHONE_NUMBER | 200 | All | The phone number specified is not in the MSISDN format. |
INVALID_CURRENCY | 200 | All | The currency is not supported by the provider. |
INVALID_PROVIDER | 200 | All | The provider is not valid for the request. |
DUPLICATE_METADATA_FIELD | 400 | All | You have multiple instances of the same metadta included in the request. |
DEPOSITS_NOT_ALLOWED | 403 | Deposits | Deposits have not been enabled for the specified ‘provider’ on your pawaPay account. |
PAYOUTS_NOT_ALLOWED | 403 | Payouts | Payouts have not been enabled for the specified ‘provider’ on your pawaPay account. |
REFUNDS_NOT_ALLOWED | 403 | Refunds | Refunds have not been enabled for the specified ‘provider’ on your pawaPay account. |
PROVIDER_TEMPORARILY_UNAVAILABLE | All | The 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_ERROR | 500 | All | An 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 Code | HTTP status | Operation | Description |
---|---|---|---|
PAYMENT_NOT_APPROVED | Deposits | The customer did not authorize the payment. Example: Customer did not enter their PIN in time. | |
INSUFFICIENT_BALANCE | Deposits | The customer does not have enough funds to perform the deposit. | |
PAYMENT_IN_PROGRESS | Deposits | The 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_FOUND | Deposits | The phone number (MSISDN) does not belong to the provider. | |
RECIPIENT_NOT_FOUND | Payouts | The phone number (MSISDN) does not belong to the provider. | |
MANUALLY_CANCELLED | Payouts/Refunds | The payout request was enqueued and subsequently failed manually from the pawaPay Dashboard or through the Cancel Enqueued Payout endpoint. | |
PAWAPAY_WALLET_OUT_OF_FUNDS | Payouts/Refunds | The balance of your pawaPay wallet does not have the funds to initiate this payout. | |
DEPOSIT_ALREADY_REFUNDED | Refunds | The deposit you are refunding has already been refunded in full. | |
AMOUNT_TOO_LARGE | Refunds | The amount you are attempting to refund is larger than what is left to be refunded for this deposit including previous partial refunds. | |
//REFUND_IN_PROGRESS | Refunds | There is already a refund being processed for this deposit. Only one refund can be processed for a single deposit at a time. | |
WALLET_LIMIT_REACHED | All | The customer has reached a limit on their wallet. Example: Customer is only allowed to transfer a maximum of 1 000 000 per week. | |
UNSPECIFIED_FAILURE | All | The provider did not give any information about the reason for this failure. | |
UNKNOWN_ERROR | All | An unknown error has occurred while processing this payment. Please check the status of this payment over API before considering failed. |