A number of basic validation checks are performed on a transaction once it enters our system, very early in the transaction processing workflow.
Internal validation checks include, for example, determining whether all required fields are present, whether maximum field lengths are exceeded, whether the credit card or bank account number is valid (e.g. passes LUHN check), whether the referenced transaction (if any) can be found, whether the referenced channel/merchant is correctly configured for this kind of transaction, etc.
If our system detects any such validation errors, the normal payment processing workflow is interrupted. No further validation or risk checks are executed. Instead, an error response message with the corresponding return code is returned immediately. Internal validation checks do not technically take part in our risk check framework. For example, they do not result in a numerical rating (e.g. +100, 0, -100), there is currently no rating method (“xx.yy”) associated with them, they normally cannot be configured via BIP settings, and they do not cost any operations points.
Currently, the information which individual internal validation checks were executed for a given transaction is not stored in the database. Accordingly, in the “Risk Intelligence / Validation” tab on the transactions details popup, we do not show individual validations (as we do for risk checks), but have a text that describes them in general.
Internal validation checks are to be discerned from validation checks done externally by the acquirer when we forward the transaction to the acquirer to process. Such checks are called external validation checks.
All error codes resulting from internal validation steps belong to the status “70 REJECTED_VALIDATION” group. Please note that the reverse is not true - not all status “70” result codes are triggered by an internal validation check. For example, the “70.50 Blacklist Validation” result codes are returned by internal risk checks that are part of our risk check framework, even though this group has the word “validation” in its name. The actual status/reason codes corresponding to internal validation checks are:
- 70.10 Configuration Validation
- 70.20 Format Error
- 70.30 Reference Error
- 70.35 Amount Error
- 70.40 Account Validation
- 70.60 Address Error
- 70.61 Contact Error
- 70.64 Registration Error
- 70.70 Job Error
- 70.80 Risk Management Error