1000 | Common error | 400 | Yes | Retry with backoff; contact support with request_id if it persists. |
1001 | Endpoint not found | 400 | No | Verify the URL. MultiHub uses POST /public/api/multihub/v1. |
1002 | The method does not exist / is not available | 404 | No | Use a supported method value. |
1003 | Incorrect use of API | 400 | No | Fix the request structure and authentication flow. |
1004 | The payment system does not exist for this application | 400 | No | Confirm the route/application setup with support. |
1005 | Invalid request format | 400 | No | Read error.details.description and send the missing/valid field. |
1006 | Invalid Content-Type header | 400 | No | Send Content-Type: application/json. |
1007 | HTTP Method Not Allowed | 400 | No | Use POST. |
1008 | This method not allowed for payment system | 400 | No | Verify the service_id supports this method. |
1009 | Invalid provider | 400 | No | Confirm provider configuration with support. |
1010 | Currency does not exist / is not available | 400 | No | Use a currency enabled for your application and route. |
1011 | The balance is not set for this application | 400 | No | Ask support to configure the merchant balance. |
1012 | There are not enough funds on the application | 400 | No | Top up or reduce the withdrawal amount. |
2000 | Payment hub error | 400 | Yes | Retry with backoff; contact support if repeated. |
2001 | Unexpected error | 400 | Yes | Retry with backoff; contact support with request_id. |
2002 | The payment provider is not available | 400 | Yes | Retry later or use another service_id if available. |
3000 | Authentication error | 400 | No | Recompute X-Data-Hash from the exact raw body and secret. |
3001 | Missing / incorrect X-Data-Application-Id header | 400 | No | Send a positive integer application ID. |
3002 | Missing / incorrect X-Data-Hash header | 400 | No | Send a 128-character SHA-512 hex hash. |
3003 | The app does not exist | 400 | No | Check the application ID. |
3004 | The app is disabled | 400 | No | Contact support or account management. |
3005 | The app is blocked | 400 | No | Contact support or account management. |
3006 | IP address not included in the IP whitelist | 400 | No | Send requests from an allowlisted IP. |
3007 | Application Settings Error | 400 | No | Contact support to repair application settings. |
3008 | Credential policy denied | 403 | No | Use a credential allowed for this payment currency and service_id, or update the credential access policy in Developer Center. |
4000 | Payment provider account error | 400 | No | Contact support to check provider account state. |
4001 | The authorization data to the payment provider incorrectly | 400 | No | Contact support to repair provider credentials. |
4002 | Security issues when interacting with the provider | 400 | No | Contact support; do not retry aggressively. |
5000 | Customer account error | 400 | No | Verify customer account fields. |
5001 | Account with the payment provider not found | 400 | No | Verify customer/provider account details. |
5002 | The account in the payment service provider is blocked | 400 | No | Ask the customer to use another account or contact support. |
6000 | Payment error | 400 | Depends | Inspect message and details. |
6001 | Incorrect transaction amount | 400 | No | Send a positive amount in minor units. |
6002 | Incorrect currency code | 400 | No | Match amount.currency to the service_id route currency. |
6003 | Payment verification required | 400 | No | Complete the provider-required verification step. |
6004 | Insufficient funds | 400 | No | Check balance.get and top up before retrying withdrawals. |
6005 | The monthly limit of input/output is exceeded | 400 | No | Wait for the next merchant-timezone month or request a payout-limit change. |
6006 | The daily limit of input/output is exceeded | 400 | No | Wait for the next merchant-timezone day or request a payout-limit change. |
6009 | Payment already exists | 400 | No | Use payment.status with the existing c_id. |
6010 | Payment does not exist | 400 | No | Verify c_id or h_id. p_id is not a lookup key. |
6011 | Payment expired | 400 | No | Create a new payment. |
6012 | Payment canceled by user | 400 | No | Create a new payment if the customer wants to retry. |
6013 | The ban on the payment | 400 | No | Contact support or use another route/customer account. |
6034 | Payment canceled by payment provider | 400 | No | Ask the customer to retry or use another method. |
6035 | Exceeded Payments | 400 | No | Contact account management to review payout limits, including since-last-settlement rules. |
6043 | Payment canceled | 400 | No | Create a new payment if needed. |
6044 | Payment declined | 400 | No | Ask the customer to retry or use another method. |
6045 | The user’s waiting time during the payment has been exceeded | 400 | No | Create a new payment. |
7000 | Payment provider error | 400 | Yes | Retry later; contact support with provider details if repeated. |
7001 | Error of interaction between payment provider and payment system | 400 | Yes | Retry with backoff; contact support if repeated. |
7002 | Payment provider not available | 400 | Yes | Retry later or use another route. |
7003 | The problem of interaction with the payment provider | 400 | Yes | Retry later; contact support if repeated. |
8000 | Data error | 400 | No | Verify request data and provider/account configuration. |
8001 | An error occurred while processing the data | 400 | Depends | Retry once; contact support if repeated. |
8600 | Invalid bank credentials | 400 | No | Verify account number/IBAN/CBU/CVU/IFSC. |
8601 | Invalid bank code | 400 | No | Verify the route-specific bank code. |
8801 | Current payment or operation status does not allow this action | 400 | No | Query status before retrying the action. |
9000 | Validation error | 400 | No | Fix invalid fields shown in message or details. |