Error Codes



Overview  
In cases when a system error occurs, the gateway returns an exception.

As a transaction, for which an exception is received, does not go through the gateway's validation, it's not submitted to a processor either. For this reason, such transactions can be stored neither within the database nor in the list of transactions.

Every exception consists of the following elements:

1. failureCode is a unique identifier for exceptions, composed of two elements:

- a letter indicating a category of a code;
- a unique number (digit) indicating an error code.

Below, you can find a list of letters that determine an error categories:


















Error categories Description
E (Connectivity Error) occurs, when there is no connection with a server due to network connectivity issues.

For example, the connection might time out due to a failure in the internet connection.
L (Login/Security Error) occurs when a login attempt is unsuccessful or a user misses one or more privileges to be able to use API;
F (Formatting Error) occurs when data provided by a submitter does not adhere to the formatting requirements.

For example, a submitted value for phone field contains letters or a submitted value for amount field is negative;
V (Data Verification Error) occurs when data provided by a submitter is well-formatted, but one or more values are not valid from the business context.

For example, referenced merchant account does not exist or a specified transaction industry type has not been found within a list of the allowed values;
O (Configuration Error) occurs when data provided by a submitter is well-formatted and valid, but specific settings required for a transaction to be processed are not configured correctly.

For example, there are no pricing templates configured within specified portfolio while a merchant that is being created cannot be onboarded without these settings;
U (Unsupported Action Error) occurs when data has been validated successfully and all required settings are configured, but specified operation/feature is not supported either by the gateway or a processor.

For example, operation is not supported by an underlying processor or cashback is not supported for sale-info or credit-info operations;
S (System Error) an internal system error occurred. Gateway support should be reached out;
Q (Security Error) occurs when there is a possibility of a security breach or missed encoding;
W (Warning) no error occurs. However, transaction processing did not go smoothly, and a warning has been received. To review the warning related to the transaction, see the system error log or a system audit notification is received by the gateway.


2. failureMessage consists of the details of an exception that specify the reason why the transaction cannot be processed.

Below, you can find the structure of the failure message:






Message Description
User message a message describing what caused the error, for example, zipCode is not well-formatted.
Developer message a message containing a list of dynamic parameters included in the user message. Using these parameters, you can override user messages with your own custom error messages. See Processing Management Guide for more information.
Hint a number, which refers to the additional information about an error, for example, Hint:1. If a hint is returned as a part of the failure message, you should refer to the description of the corresponding error in the section below.


If needed, the structure of error messages can be modified at the service user level via the Response Msg Display Policy setting by removing or adding any of the options described above.


These exceptions are currently used within the gateway. In the previous versions of the application, as well as in the older logic, deprecated exceptions can still be present. For more information see Deprecated Codes.

Code User Message Developer Message/Description
O21 ConfigurationName is not configured for the referenced ReferenceName.
object: ConfigurationName, reference: ReferenceName
O22 The selected action is not allowed by ReferenceName settings.
reference: ReferenceName
O24 SettingName is not configured for the referenced ReferenceName.
object: SettingName, reference: ReferenceName
O25 ResourceName is missing or corrupt.
object: ResourceName
O26 ServiceName problem: ConfigurationName is missing or corrupt.
object: ServiceName, ConfigurationName

Code User Message Developer Message/Description
E20 Terminal is busy: transaction processing in progress.
E21 Host unavailable.
E25 Invalid response from ServiceName.
object: ServiceName

Code User Message Developer Message/Description
F21 FieldName is missing.
field: FieldName
F22 FieldName is not well-formatted.
field: FieldName, value: FieldValue
F26 FieldName length must be RelationName LengthNumber characters.
field: FieldName, relation: RelationName, limit: LengthNumber, value: FieldValue
F27 FieldName must be RelationName RangeNumber.
field: FieldName, relation: RelationName, limit: RangeNumber, value: FieldValue
F28 FieldName must contain at most SubrecordNumber subrecords. Invalid value: FieldValue.
field: FieldName, limit: SubrecordNumber, value: FieldValue
F29 The total of FieldName fields of ReferenceName records must be within a range from RangeFrom to RangeTo.
field: FieldName, reference: ReferenceName, from: RangeFrom, to: RangeTo, value: FieldValue
F30 File Attribute is invalid.
File Attribute
F31 Transaction FieldName exceeds LimitName limit.
field: FieldName, limit: LimitName

Code User Message Developer Message/Description
L01 Username or password is invalid.
L02 Only one authentication session per human user is allowed.
L03 Referenced account is locked due to LockReason. Contact support.
object: LockReason
L04 Processing of raw account data is not allowed through the specified endpoint for current user.
L05 Current user is missing PrivilegeName privilege.
object: PrivilegeName
L06 Current user is missing PermissionName permission.
object: PermissionName
L07 User session expired due to inactivity or session timeout limit.
L08 [AuthenticationName] is invalid.
L09 Processing of RequestType is not allowed through the specified API end-point.
operation: RequestType
L10 Authentication session expired or got invalidated
L11 Referenced ReferenceName is locked. Maximum number of LockReason is reached.
reference: ReferenceName, object: LockReason
L12 Authentication Code is invalid.
L13 Authentication Code has expired.

Code User Message Developer Message/Description
Q01 XSS injection detected.
Q02 The request is not properly encoded.

Code User Message Developer Message/Description
S20 OriginName error. Contact support.
object: OriginName
S21 Connectivity issue with ServiceName. Contact support.
object: ServiceName
S23 We are experiencing temporary connectivity issues with ConnectivityErrorName | ServiceName. Contact support.
object: ServiceName, ConnectivityErrorName
S24 Data you are trying to use is corrupted. Contact support.
S24 Payment page configuration issue. Contact support.
S25 ProcessName process failed. Contact support.
object: ProcessName
S26 Operation RequestType declined by the processor.
S27 No Internet connection detected.
S28 Unable to submit FormatName to ProfileType. Daily limit of FormatNames is reached.
object: FormatName, object: ProfileType
S29 No data is available for the specified criteria.
S30 Concurrent data modification issue. Reload data and reapply changes.
S31 Unable to create "ObjectName": Code - "code". Message - "message".
reference: ObjectName, "code", "message".
S32 Referenced ReferenceName is not found within the system. Contact support.
reference: ReferenceName
S33 Data cannot be extracted from the archive. Verify integrity of the file.
S34 Invalid FormatName format detected or FormatName is corrupt. Contact support.

object: FormatName
S35 Data encoding issue detected. Contact support.
S36 MethodName is not supported.
object: MethodName
S38 Maximum number of ReferenceNames is reached at the LevelName level.
reference: ReferenceName, level: LevelName
S39 Unable to read or process the card.
S40 Data integrity violation. Contact support.
S42 Unable to complete action. Contact support.
S43 Necessary permission is missing.
S99 Internal error.

Code User Message Developer Message/Description
U22 FeatureName feature is not supported for the RequestType operation.
feature: FeatureName, operation: RequestType
U23 FeatureName feature is not supported by the processor configured.
feature: FeatureName
U24 FeatureName feature is not supported for AccountTypeName transaction.
feature: FeatureName, accountType: AccountTypeName
U25 RequestType operation is not supported for TransactionType transactions.
operation: RequestType, object: TransactionType
U26 FeatureName feature is not supported for the specified transaction.
feature: FeatureName
U27 RequestType operation is not supported by the processor/service provider configured.
operation: RequestType
U28 ActionName operation is not supported for the referenced ReferenceName.
operation: ActionName, reference: ReferenceName
U29 RequestType operation is not supported for AccountTypeName transaction.
operation: RequestType, accountType: AccountTypeName
U30 AccountTypeName processing is not supported.
accountType: AccountTypeName
U31 RequestType operation is not supported for ProcessingMode transactions.
operation: RequestType, object: ProcessingMode
U32 RequestType operation is not supported for TransactionIndustryType transactions.
operation: RequestType, object: TransactionIndustryType

Code User Message Developer Message/Description
V21 FieldName is invalid.
field: FieldName, value: FieldValue
V22 FieldName is not among allowed values.
field: FieldName, value: FieldValue
V23 Field FieldName is required because more than one ReferenceName is available to the user.
field: FieldName, reference: ReferenceName
V24 Referenced ReferenceName is not found within the LevelName or is not accessible.
reference: ReferenceName, level: LevelName, value: FieldValue
V26 Referenced ReferenceName is not active.
reference: ReferenceName, value: FieldValue
V28 AmountName must be RelationName AmountName.
field: AmountName, relation: RelationName, relatedField: AmountName, value: FieldValue
V29 The transaction you are trying to process is a duplicate of a recently processed transaction.
V31 Cannot complete ActionName action. Referenced ReferenceName is in use.
operation: ActionName, reference: ReferenceName, value: FieldValue
V32 Unable to complete action. ObjectName is already in StateName state.
reference: ObjectName, object: StateName
V33 FieldName is a FieldType field.
field: FieldName, object: FieldType
V35 Identifier of the referenced ReferenceName is not unique.
reference: ReferenceName, value: FieldValue
V37 Account ID specified at the splits field level must be different from account ID specified at the transaction level.
V38 Split rules can be submitted at either the items field level or the transaction level.
V39 Split rules can be submitted via either the splits field or the splitSchemaId field.
V42 Unable to complete action. ObjectName is not in StateName.
reference: ObjectName, object: StateName
V43 Unable to complete ActionName. Action is not allowed for the referenced ObjectName.
operation: ActionName, reference: ObjectName
V46 Multiple ReferenceName records are found for the specified ObjectName.
ReferenceName=merchant, ObjectName=user
ReferenceName=account, ObjectName=user
V47 No ReferenceName record is found for specified ObjectName.
ReferenceName=terminal, ObjectName=user
ReferenceName=merchant, ObjectName=user
ReferenceName=account, ObjectName=user
V48 FieldName has expired.
field: FieldName
V49 Unable to complete action. ObjectName type is not ObjectType.
ObjectName, ObjectType

Code User Message Developer Message/Description
W01 Terminal parameters load from provider required.
W02 Processing time exceeds average.
W03 Data integrity issues in provider response.