Error Codes
Legend:
Technical – should appear during development
Technical – outage or unhandled case
Administrative error
Payload descriptor validation
Payload descriptor business validation
Exceptional cases
Technical – should appear during development
Technical – outage or unhandled case
Administrative error
Payload descriptor validation
Payload descriptor business validation
Exceptional cases
| Code | Description | Operation |
|---|---|---|
MISSING_OR_INVALID_CORRELATION_ID | The X-Correlation-ID header value sent by the API caller is missing or has an invalid format. | init / query / cancel |
MISSING_OR_INVALID_REQUEST_ID | The X-Request-ID header value sent by the API caller is missing or has an invalid format. | init / query / cancel |
JWT_NOT_EXISTS | The API caller did not send the JWT Token. | init / query / cancel |
JWT_GENERAL_ERROR | The API caller incorrectly assembled the JWT Token or incorrectly submitted the API call and the x-jws-signature header does not contain a JWT token. The JWT assembly must be verified according to the API documentation. The development team can provide support if you are stuck. | init / query / cancel |
JWT_IAT_EXPIRED | The API caller sent a Token in which the API call falls outside the IAT interval. The call must be retried with a correct IAT. | init / query / cancel |
JWT_JTI_DUPLICATE | The API caller sent the same JWT token x-jws-signature. The call must be retried with a correct x-jws-signature JWT token. | init / query / cancel |
JWT_CERT_NOT_ACTIVE | The API caller submitted the API call with a certificate that has not yet been approved. Activate the certificate on the RaiffeisenPay Portal. | init / query / cancel |
JWT_TECHUSER_NOT_ACTIVE | The API caller submitted the API call with a technical user that has not yet been approved. Activate the technical user on the RaiffeisenPay Portal. | init / query / cancel |
JWT_CERT_EXPIRED | The API caller submitted the API call with a certificate that has already expired. Renew the certificate on the RaiffeisenPay Portal. | init / query / cancel |
TECHUSER_HAS_NO_RIGHT | The technical user specified by the API caller does not have the right to perform the given operation. Check whether rights have been granted on the RaiffeisenPay Portal. | init / query / cancel |
COMPANY_IS_NOT_ELIGIBLE | init / query / cancel | |
INVALID_ACCOUNT_NUMBER | The IBAN → Kapiti conversion of the accountNumber provided by the caller failed. | init |
EAM_UNAVAILABLE | The EAM generator is currently unavailable; this is thrown in case of HTTP error codes received from other aggregators. | init |
EAM_GENERATION_ERROR | May be thrown when: – the request sent to the aggregator differs from the response received – the payment URL from the aggregator cannot be parsed – a 400 BAD_REQUEST was received from the aggregator – no payment URL was received in the response | init |
ARGUMENT_NOT_VALID | List of invalid or missing fields. Example:"field": "paymentInfo.deviceType""errorDescription": "Device type is missing. Please specify the device type."Thrown automatically in case of validation errors. | init / query / cancel |
DEVICE_TYPE_ERROR | The paymentScenario calculated from the sent purposeCode is not compatible with the sent deviceType. | init |
ALLOWED_MODES_INVALID | The combination of the sent qrAllowed, nfcAllowed, deeplAllowed fields is invalid. | init |
ALLOWED_MODE_ERROR | The paymentScenario calculated from the sent purposeCode is not compatible with the sent allowed fields. | init |
EDITABLE_FIELDS_ERROR | The paymentScenario calculated from the sent purposeCode is not compatible with the sent editable fields. | init |
MER_NOT_MODIFIABLE_STATUS | The payment is in a status that cannot be cancelled. | cancel |
MER_REFERENCE_NOT_FOUND | Both the trafo and the aggregator throw this on 404 NOT_FOUND. The EAM or transaction ID provided by the API caller cannot be found in the trafo or the aggregator. A 404 is also sent outbound. | query / cancel |
CREATE_EAM_PAYMENT_REFERENCE_ALREADY_EXISTS | If during EAM generation the referenced payment reference already exists. | init |
EXPIRY_OFFSET_EXCEEDS_LIMIT_FOR_PURPOSE_CODE | An expiryOffsetDateTime was provided for the purposeCode in the request body that exceeds the maximum allowed value. | init |
UNEXPECTED_ERROR | Occurs in cases other than the errors listed in the table. | init / query / cancel |
INTERNAL_SERVER_ERROR | init / query / cancel | |
WAF_BLOCK | The Web Application Firewall blocked the call upon detecting suspicious, incomplete or invalid data. See details below. | init / query / cancel |
USAGE_PLAN_THROTTLING_LIMIT_EXCEEDED | API Gateway rate limit exceeded. HTTP 429 "Too Many Requests" - too many requests received in a short period. Retry strategy and details here. | init / query / cancel |
WAF_BLOCK error details
A WAF (Web Application Firewall) error during an API call generally occurs when our system detects suspicious, incomplete, or invalid data during content or format validation. This protection aims to safeguard the system from potential attacks and incorrect data inputs. In order for our technical team to investigate the issue as quickly and accurately as possible, please send the logs containing the call details to support. Please include in the logs:
- The exact time of the call
- The endpoint used (API endpoint)
- The HTTP method used during the call (e.g. GET, POST)
- Details of the data sent (headers, request body)
- Any error messages or error codes The above information will help our colleagues identify and resolve the problem as quickly as possible.