Skip to main content
Hyperswitch uses error codes, types, and messages to communicate errors during API calls. There are two main types of error codes: Error Codes and Unified Error Codes.
  1. Error Codes refer to the error code sent by the connector.
  2. Unified Error Codes refer to the generic error code sent by the Hyperswitch server, based on the connector’s error code. Hyperswitch groups the different error codes from connectors into more generic Unified Error Codes for structured relay of PSP errors, helping merchants derive patterns and determine the next steps for ongoing transactions.
There are four types of Error Codes and five types of Unified Error Codes. 1. Error Codes: The section below contains all the error codes and their corresponding error messages.
Error CodeTypeDescription
IRInvalid Request ErrorError caused due to invalid fields and values in API request
CEConnector ErrorErrors originating from connector’s end
HEHyperswitch ErrorErrors originating from Hyperswitch’s end
WEWebhook ErrorErrors related to Webhooks
Error CodesHTTP Status codesError TypeError messageError Handling
IR_00501server_not_availableThis API is under development and will be made available soonNo action required. If you require this feature, please reach out to Hyperswitch support
IR_01401invalid_request_errorAPI key not provided or invalid API key used. Provide the API key in the Authorization header using api-key (e.g api-key: API_KEY) or create a new API key from the dashboardProvide the API key in the Authorization header using api-key (e.g api-key: API_KEY) or create a new API key from the dashboard
IR_02404invalid_request_errorUnrecognized request URLPlease recheck and enter the correct request URL. Refer to our API documentation
IR_03405invalid_request_errorThe HTTP method is not applicable for this APIPlease recheck the HTTP method used in the request. Refer to our API documentation
IR_04400invalid_request_errorMissing required param: “field_name”Please pass the missing required parameter. Refer to our API documentation
IR_05422invalid_request_error“field_name” contains invalid data. Expected format is “expected_format”Please pass the data in the expected format. Refer to our API documentation
IR_06400invalid_request_error“message”Refer to our API documentation for required fields and format
IR_07400invalid_request_errorInvalid value provided: “field_name”Provide a valid value for the required fields in the expected format. Refer to our API documentation
IR_08400invalid_request_errorClient secret was not providedProvide the client secret received in payments/create API response
IR_09400invalid_request_errorThe client_secret provided does not match the client_secret associated with the PaymentProvide the same client secret received in payments/create API response for the corresponding payment
IR_10400invalid_request_errorCustomer has an existing mandate/subscriptionCancel the active mandates/subscriptions for the customer before proceeding to delete the customer data
IR_11400invalid_request_errorCustomer has already been redactedCustomer has already been redacted. No action required
IR_12400invalid_request_errorReached the maximum refund attemptsMaximum refund attempts reached for this payment. Please contact Hyperswitch support for attempting more refunds for the same payment
IR_13400invalid_request_errorRefund amount exceeds the payment amountPlease verify and pass a refund amount equal to or less than the payment amount
IR_14400invalid_request_errorThis Payment could not be “current_flow” because it has a “field_name” of “current_value”. The expected state is “states”Please verify the status of the payment and make sure that you are performing an action that is allowed for the current status of the payment
IR_15400invalid_request_errorInvalid Ephemeral Key for the customerPlease pass the right Ephemeral key for the customer
IR_16400invalid_request_error“message”Typically used when information involving multiple fields or previously provided information doesn’t satisfy a condition. Refer to our API documentation for required fields and format
IR_17401invalid_request_errorAccess forbidden, an invalid JWT token was usedProvide a valid JWT token to access the APIs
IR_18401invalid_request_error”message”The user is not authorised to update the customer, Contact Org. Admin for the appropriate access.
IR_19400invalid_request_error”message”Please check and retry with correct details. Refer to our API documentation
IR_20400invalid_request_error”flow” not supported by the “connector”Requested flow is not supported for this Connector.
IR_21400invalid_request_errorMissing required paramsPlease add the required params in the request. Refer to our API documentation
IR_22403invalid_request_errorAccess forbidden. Not authorized to access this “resource”Contact Org. Admin for the appropriate access.
IR_23400invalid_request_error”message”Use a supported file provider. Refer to our API documentation
IR_24422processing_errorInvalid “wallet_name” wallet tokenShare the correct wallet token.
IR_25400invalid_request_errorCannot delete the default payment methodCheck if the Payment method is activated. Refer to Control centre to check this.
IR_26400invalid_request_errorInvalid CookieRecheck the site setting for the cookies.
IR_27404invalid_request_errorExtended card info does not existRecheck the card info shared in the request.
IR_28400invalid_request_error”message”Use a valid currency. Refer to our API documentation
IR_29422invalid_request_error”message”The data format is invalid for this request. Refer to our API documentation
IR_30400invalid_request_errorMerchant connector account is configured with invalid configCorrect the config for merchant connector account
IR_31400invalid_request_errorCard with the provided iin does not existCheck the IIN (Issuer Identification Number) and ensure it is correct.
IR_32400invalid_request_errorThe provided card IIN length is invalid, please provide an iin with 6 or 8 digitsProvide a valid IIN with either 6 or 8 digits.
IR_33400invalid_request_errorFile not found / valid in the requestEnsure the required file is included in the request and is valid. Refer to our API documentation
IR_34400invalid_request_errorDispute id not found in the requestEnsure that a valid dispute ID is included in the request.
IR_35400invalid_request_errorFile purpose not found in the request or is invalidSpecify a valid file purpose in the request.
IR_36400invalid_request_errorFile content type not found / validEnsure the file content type is specified and is valid.
IR_37404invalid_request_error”message”Check the request for the resource being accessed and ensure it exists.
IR_38400invalid_request_error”message”Check for any duplicate entries in the request and correct them.
IR_39400invalid_request_errorrequired payment method is not configured or configured incorrectly for all configured connectorsVerify that the required payment method is correctly configured for all connectors in use.
CE_00Status codes shared by the connectorsconnector_error“message”The error code and message passed from the connectors. Refer to the respective connector’s documentation for more information on the error
CE_01400processing_errorPayment failed during authorization with the connector. Retry paymentRetry the payment again as payment failed at the connector during authorization
CE_02400processing_errorPayment failed during authentication with the connector. Retry paymentRetry the payment again as payment failed at the connector during authentication
CE_03400processing_errorCapture attempt failed while processing with the connectorCapture failed for the payment at the connector. Please retry the payment
CE_04400processing_errorThe card data is invalidInvalid card data passed. Please pass valid card data
CE_05400processing_errorThe card has expiredCard expired. Please pass valid card data
CE_06400processing_errorRefund failed while processing with the connector. Retry refundRefund failed to process at the connector. Please retry refund
CE_07400processing_errorVerification failed while processing with the connector. Retry operationRetry the operation again as verification failed at the connector
CE_08400processing_errorDispute operation failed while processing with connector. Retry operationRetry the operation again as dispute failed at the connector
CE_09400invalid_request_errorPayout validation failedRetry the operation again with correct Payout details.
HE_00422,500server_not_availableResource not available right now, Please try again later.Please Wait for a few moments and try again. If the error still persists, please reach out to Hyperswitch support
HE_01400,422duplicate_requestRequested operation(Customer, Payments, Merchants, Refunds etc.) for these identifier already exists.Please verify the Details(Customer, Payments, Merchants, Refunds, as applicable on the basis of request) and enter valid details.
HE_02404object_not_foundRequested object(Customer, Payments, Merchants, Refunds etc.) does not exist in our recordsPlease verify the Details(Customer, Payments, Merchants, Refunds, as applicable on the basis of request) and enter valid details.
HE_03500validation_errorValidation Failed for the requested operation with the given details.Please verify the details again and enter valid details
HE_04404object_not_foundRequested object(Customer, Payments, Merchants, Refunds etc.) does not exist in our recordsPlease verify the Details(Customer, Payments, Merchants, Refunds, as applicable on the basis of request) and enter valid details.
HE_05500processing_errorMissing or invalid tenant details.Please verify the tenant Details and try again.
WE_01400invalid_request_errorFailed to authenticate the webhookPlease verify the authentication credentials and try again.
WE_02400invalid_request_errorBad request received in webhookCheck the request parameters and format, then try again.
WE_03500router_errorThere was some issue processing the webhookPlease try again later. If the issue persists, contact Hyperswitch support.
WE_04404object_not_foundWebhook resource not foundEnsure the webhook URL is correct and the resource exists.
WE_05400invalid_request_errorUnable to process the webhook bodyEnsure the webhook body is correctly formatted and try again.
WE_06400invalid_request_errorMerchant Secret set by merchant for webhook source verification is invalidVerify the Merchant Secret, then try again.
2. Unified Error codes: The section below contains all the unified error codes and their corresponding error messages.
Unified Error CodeUnified Error CategorisationUnified Error message
UE_1000Customer ErrorIssue with payment method details.
UE_2000Connector DeclinesIssue with Configurations.
UE_3000Connector ErrorTechnical issue with PSP.
UE_4000Integration ErrorIssue in the integration.
UE_9000OthersSomething went wrong.

Error Details Structure

Hyperswitch returns a structured error_details object for failed payments. This object combines error information from the connector (PSP), the issuer (bank), and Hyperswitch’s own interpretation. Unified Details This section is Hyperswitch’s understanding of the failure. It is created by looking at the issuer and connector error signals and mapping them to a standard meaning.
  • Category - The high-level unified error code (for example UE_1000 for payment method issues).
  • Message - High level unified error message that is consistent across different connectors.
  • Standardised Code - Code that identifies the specific cause for a failure within a broader error category such as INVALID_EXPIRY_DATE.
  • Description - A detailed description of the error intended for debugging, analytics, and support teams.
  • User Guidance Message - A user-friendly message that can be safely displayed to the customer. This message provides guidance on what the user should do to resolve the issue.
  • Recommended Action - A field that tells merchants what action to take after a payment failure.
ActionDescription
do_not_retryNever retry with same card
retry_laterRetry after some time
retry_after_1_hourRetry after 1 hour
retry_after_24_hoursRetry after 24 hours
retry_after_2_daysRetry after 2 days
retry_after_4_daysRetry after 4 days
retry_after_6_daysRetry after 6 days
retry_after_8_daysRetry after 8 days
retry_after_10_daysRetry after 10 days
retry_after_instrument_updateRetry after updating payment details
retry_with_different_payment_method_dataUse different payment method
stop_recurringStop recurring payments

Enhanced Errors

This table provides a standardized mapping that translates granular payment error into consistent standardised codes, customer-facing messages and description. The classification mappings, user guidance message and descriptions are subject to change at any time.
Standardised CodeUnified Code(Category)Unified Message(Message)User Guidance MessageDescription
PAYMENT_METHOD_ISSUEUE_1000Issue with payment method detailsIssue with Payment Method detailsIssue with Payment Method details
INVALID_CARD_NUMBERUE_1000Issue with payment method detailsThe card number doesn’t look right. Please check it and try againThe card number is invalid
INVALID_EXPIRY_DATEUE_1000Issue with payment method detailsThe card’s expiry date seems incorrect or has passed. Update it or use another card.Expiry date is in the past or improperly formatted.
INVALID_CVVUE_1000Issue with payment method detailsThe security code (CVV) is incorrect. Please re-enter it.CVV is missing, malformed, or does not match issuer records
PM_ADDRESS_MISMATCHUE_1000Issue with payment method detailsThe billing address doesn’t match what the bank has on file. Update it or use another card.Address mismatch (AVS failed)
INSUFFICIENT_FUNDSUE_1000Issue with payment method detailsThere aren’t enough funds on this card. Use another card or add funds and try againThe entered card has insufficient funds
CREDIT_LIMIT_EXCEEDEDUE_1000Issue with payment method detailsThis card has reached its credit limit. Use another card or contact your bank.Transaction exceeds cardholder’s credit limit
VELOCITY_LIMIT_EXCEEDEDUE_1000Issue with payment method detailsThis card has hit a usage limit set by your bank. Try another card or contact your bank.Transaction exceeds allowed frequency or velocity
CARD_LOST_OR_STOLENUE_1000Issue with payment method detailsThe bank has blocked this card. Please use a different card.This card has been reported as lost or stolen
CARD_NOT_SUPPORTED_RESTRICTEDUE_1000Issue with payment method detailsThis card can’t be used for this payment. Try another card or payment method.Card is restricted for this merchant, channel, or use case
ACCOUNT_CLOSED_OR_INVALIDUE_1000Issue with payment method detailsThis account is not active. Use a different payment method.Account closed or invalid or missing
AUTHORIZATION_MISSING_OR_REVOKEDUE_1000Issue with payment method detailsThis payment can’t be completed because the prior authorization was canceled. Try another card or contact your bank.Customer authorization is missing or was revoked
INCORRECT_AUTHENTICATION_CODEUE_1000Issue with payment method detailsThe code you entered is incorrect. Request a new code and try again.Incorrect authentication or verification code provided
PAYMENT_SESSION_TIMEOUTUE_1000Issue with payment method detailsYour session expired. Start the payment again.Payment session expired before completion
AUTHENTICATION_FAILEDUE_1000Issue with payment method detailsWe couldn’t verify this payment with your bank. Try again or use a different payment method.Authentication failed or was declined
PAYMENT_CANCELLED_BY_USERUE_1000Issue with payment method detailsThe payment was canceled. If this wasn’t intended, please start a new payment.Payment flow was canceled by user or system
TRANSACTION_NOT_PERMITTEDUE_1000Issue with payment method detailsThis payment method can’t be used for this type of purchase. Try another payment method.This type of purchase is not permitted or supported
PM_TOKENISATION_ISSUEUE_1000Issue with payment method detailsWe couldn’t save or use this card securely. Try again or use a different payment method.Failed to tokenize or validate card credentials
CONFIGURATION_ISSUEUE_2000Issue with configurationSomething went wrong. Try another Payment MethodIssue with Configurations
MERCHANT_INACTIVEUE_2000Issue with configurationSomething went wrong. Try another Payment MethodMerchant configuration inactive or invalid
CFG_PM_NOT_ENABLED_OR_MISCONFIGUREDUE_2000Issue with configurationSomething went wrong. Try another Payment MethodPayment method not enabled for this merchant
CURRENCY_OR_CORRIDOR_NOT_ENABLEDUE_2000Issue with configurationSomething went wrong. Try another Payment MethodCurrency or corridor not enabled
WALLET_OR_TOKEN_CONFIG_ISSUEUE_2000Issue with configurationSomething went wrong. Try another Payment MethodWallet or token configuration missing or incorrect
STORED_CREDENTIAL_OR_MIT_NOT_ENABLEDUE_2000Issue with configurationSomething went wrong. Try another Payment MethodStored credential or MIT not enabled
THREEDS_CONFIGURATION_ISSUEUE_2000Issue with configurationSomething went wrong. Try another Payment Method3DS not enabled or improperly integrated.
SUBSCRIPTION_PLAN_INACTIVEUE_2000Issue with configurationSomething went wrong. Try another Payment MethodAttempted charge on inactive or expired subscription
DOWNSTREAM_TECHNICAL_ISSUEUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankDownstream technical issue
ISSUER_UNAVAILABLEUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankThe card issuer’s bank is temporarily unavailable
TRANSACTION_TIMEDOUTUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankIssuer timeout
DO_NOT_HONORUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankDo not honor
SUSPECTED_FRAUDUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankIssuer flagged as suspected fraud.
PSP_FRAUD_ENGINE_DECLINEUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankDeclined by PSP fraud engine
COMPLIANCE_OR_SANCTIONS_RESTRICTIONUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankSanctions or compliance blockage
PSP_ACQUIRER_ERRORUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankTemporary acquirer internal error
THREEDS_AUTHENTICATION_SERVICE_ISSUEUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bank3DS Authentication Service Failure
AUTHENTICATION_REQUIREDUE_3000Technical Issue with PSPSomething went wrong. Try again or contact your bankAuthentication is required
INTEGRATION_ISSUEUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankIssue with Integration
MISSING_OR_INVALID_PARAMUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankMissing or invalid parameter
INVALID_CREDENTIALSUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankInvalid credentials
OPERATION_NOT_ALLOWEDUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankOperation not allowed
DUPLICATE_REQUESTUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankDuplicate or Idempotent request
INVALID_STATEUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankInvalid state of operation
THREEDS_DATA_OR_PROTOCOL_INVALIDUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bank3DS payload invalid or inconsistent
RATE_LIMITUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankAPI rate limit exceeded
INTEG_CRYPTOGRAPHIC_ISSUEUE_4000Issue with integrationSomething went wrong. Try another payment method or contact your bankToken or cryptographic integration issue
GEN_UNKNOWN_ERRORUE_9000Something went wrongSomething went wrongSomething went wrong