Business API Error Codes

API reference

Every Business API response includes a responseCode. 0 means success. Look every other code up here before you act: some mean a transfer is pending, a duplicate or unknown, not failed.

🚧

Never send a new reference for an unknown outcome

A new reference pays again. For -1, 105, 135 and any timeout, check the original reference first, and only start a new transaction once you know the first one failed.

When you can’t tell what happened

Timeouts are unknown outcomes

If a request times out (an HTTP 504, a reset connection or a read timeout) and returns no body, don’t ask your customer to start over. Call transactionStatus with the original reference. If you must recover by resubmitting, use the exact same reference: Paga returns 105 if the first one succeeded, so you can’t pay twice.

Wait 5 seconds before your first status check

Paga’s queue needs a moment to sync. Checking at the same instant as you submit can return a false 135. Wait at least 5 seconds, and remember the status check covers the last 48 hours.

All response codes

Success

CodeMeaningWhat to do
0SuccessThe transaction was processed.
1Bulk money transfer: partial success, or empty requestTreat as success, but go through the items in the response to see which transfers failed.

Pending

CodeMeaningWhat to do
3PendingThe transaction is still processing. Check the transaction status, or for money transfers wait for the notification at your statusCallbackUrl.

Unknown outcome: check the status first

CodeMeaningWhat to do
-1Unknown errorDon’t ask your customer to retry. The request failed, but the transfer may have succeeded. Check the transaction status with the original reference number. For money transfers, you can also wait for the notification.
105Duplicate referenceDon’t retry. Paga has already logged this transaction. Check its status with the reference number, or for money transfers, wait for the notification.
135Unknown reference numberThe transaction may have been dropped by validation, or hasn’t synced yet. Resubmit it straight away with the exact same reference number. If Paga returns a validation error, such as Invalid Amount, ask your customer to fix it. If it returns 105 Duplicate reference, the transaction exists, so check its status.

Failed

Service and integration

CodeMeaningWhat to do
-2Unsupported operationIntegration error. Check the API documentation for the supported methods.
2Bulk money transfer: all failedSystem or operation error. Safe to ask your customer to retry with a new reference number.
109Buy airtime errorService-specific error. Safe to retry with a new reference number.
132Invalid process channelIntegration error. The channel isn’t permitted for this operation.

Validation

CodeMeaningWhat to do
-9Invalid process typeValidation error. Check the payload requirements.
-8Missing process typeValidation error. Check the payload requirements.
-4Missing reference numberValidation error. Make sure referenceNumber is sent.
-3Invalid bulk operation sizeValidation error. Check the bulk limits and retry.
116Invalid amountValidation error. Check for negative numbers, invalid formats or missing decimals.
117Missing required parameterValidation error. Review the documentation for the specific endpoint.
123Invalid phone numberValidation error. Check the length and the country code.
124Invalid first nameValidation error. Make sure there are no special characters or numbers.
125Invalid last nameValidation error. Make sure there are no special characters or numbers.
126Invalid usernameValidation error. Check the username rules.
127Invalid emailValidation error. Check the email format.
130Invalid nameValidation error. The name format was rejected.
134Invalid date of birthValidation error. Check the date format, such as YYYY-MM-DD, and the age rules.
140Reference number exceeds the maximum length of 50 charactersValidation error. Shorten or regenerate the reference number.

Limits and balance

CodeMeaningWhat to do
136Exceeds transaction limitLimit error. The requested amount is too high.
137Below minimum transaction limitLimit error. The requested amount is too low.
138Exceeds account limitLimit error. The account has reached a velocity or volume cap.
139Insufficient balanceBalance error. Fund the source account before retrying.

Destination account

CodeMeaningWhat to do
4Deposit to bank: invalid account numberDestination error. Ask your customer to check the account number.
101Invalid bankDestination error. The bank code or UUID isn’t recognised.
103Disabled or inactive accountDestination error. The receiving account can’t accept funds.
107Invalid recipient accountDestination error. Ask your customer to check the recipient’s details.
114Invalid accountDestination error. The account is invalid or closed.
115Invalid bank accountDestination error. The account is invalid or closed.
133Can’t find destination bankDestination error. The bank might be offline or delisted.

Identity and access

CodeMeaningWhat to do
104Invalid principal in useAuthentication error. Check your API credentials or user context.
106Invalid source of fundsIdentity error. The specified funding source isn’t allowed.
108Invalid organisation userIdentity error. Check user permissions.
110Invalid organisationIdentity error. Check your merchant or organisation configuration.
111Invalid customerIdentity error. The customer profile can’t be verified.
112Invalid biller name, or the biller service doesn’t existIdentity error. The biller might be decommissioned or misspelled.
113Invalid userIdentity error. The user profile can’t be verified.
118Invalid user identifierIdentity error. Check the format of the ID you’re sending.
119Invalid processIdentity or system error. The requested workflow is invalid.
129Locked user accountSecurity error. The account needs unlocking by Paga support.
131Invalid merchantIdentity error. The merchant account can’t be verified.

Customer profile and KYC

CodeMeaningWhat to do
120Photo already setUser profile error. An existing photo can’t be overwritten with this flow.
121Invalid image typeUser profile error. Make sure the image is a supported format, such as JPG or PNG.
122Invalid identification detailsKYC error. The ID details don’t match, or are invalid.
128Email already existsUser profile error. Ask your customer to log in or use a different email.

Got a code that isn’t listed? Treat it as an unknown outcome: check the transaction status with the original reference, and contact support with the reference if it stays unclear.

Related

Error handling

The rules that apply to every API, including HTTP errors and retries. Read the guide.

Checking a transaction

Each payout guide ends with “Check the transaction status”, for example Money transfer and Bill payment.

Notifications

Money transfers send a notification to your statusCallbackUrl when they’re processed. Airtime, data and bill payments don’t, so check their status instead.

Need help? We’re here 24/7

Talk to our support team any time, or ask questions in the developer community.