Errors
These messages are not meant to be displayed to the end user, as most of them are of very technical nature.
Instead, the Merchant's system or shop should decide what to do in each of these cases (for instance, suggesting a new payment method when the risk check fails).
Payment API
Payment API endpoints (/rest/payment, /rest/refund, and similar) may return the following numeric error_code values:
| Code | Message | Meaning | Action |
|---|---|---|---|
| 101 | Merchant not found. | The Merchant does not exist or was not recognized. | Check the API key. |
| 102 | Transaction not found. | Transaction does not exist. Rare; may occur when redirecting back from the acquirer. | Try again later or contact us. |
| 103 | The checksum does not match. | The calculation algorithm or the API password is invalid. | Check the checksum calculation algorithm and the API password. Pay particular attention not to confuse API password and webhook key. |
| 104 | Unsupported payment type. | Payment method does not exist or merchant does not have this payment method configured. | Find your payment method from list in Appendix or contact us for setting up required payment method. |
| 105 | Shop not found. | The shop_id is invalid. | Use a different shop_id or check that the shop exists and is active. |
| 106 | The payment processor is not responding. | Acquirer is not responding. | Try again later. |
| 107 | There has been an error with the payment processor. | Acquirer service is not responding or returning errors. | Try again later or contact us. |
| 108 | Payment error | Acquirer returned a payment-related error. Includes more information in the message if available. | Look into error message and contact us if required. |
| 109 | Merchant does not have payment processor for this payment type. | No acquirer has been defined for the merchant. | Contact us. |
| 110 | Customer did not agree to the risk check process required by this payment method. | Customer must explicitly agree to the risk check process. | Check risk_check_approval. Remind the customer that risk check must be approved. |
| 111 | Risk check processor not found. | System error. | We probably already noticed this error and working on it. Contact us if necessary. |
| 112 | Customer did not pass the risk check. | Customer had insufficient risk check score, wasn't identified by the risk check service or the address does not exist. | Inform the customer and suggest alternative payment methods. |
| 113 | There has been an error with the risk check. | Error in the risk check processor's service. | Try again later. |
| 114 | Too many risk check attempts from this address. | Customer from the same IP has attempted to submit an order (and failed the risk check) multiple times, possibly with different personal/address data. | Suggest an alternative payment method. |
| 115 | Payment provider not found. | System error. | We probably already noticed this error and working on it. Contact us if necessary. |
| 116 | Risk check adapter not found. | System error. | We probably already noticed this error and working on it. Contact us if necessary. |
| 117 | Payment adapter not found. | System error. | We probably already noticed this error and working on it. Contact us if necessary. |
| 118 | Recurring payment could not find the original transaction. | You are trying to run a recurring transaction, but the original transaction was not found. | Provide or check original_transaction_id's validity. |
| 119 | This payment processor does not support recurring payments. | You are trying to make a recurring payment with an acquirer that doesn't support recurring payments. | Make a new non-recurring payment. |
| 120 | Recurring payment could not find the original payment token. | The tokens needed to make a repeat transaction with the acquirer could not be found. | Make a new non-recurring transaction. |
| 121 | This payment processor does not support refunds. | Refunds cannot be made for this acquirer. | Contact us if the transaction MUST be refunded. |
| 122 | The refunded amount cannot exceed the original amount. | Combined amount of past refunds for this transaction is larger than the original amount. | Check the amount to be refunded. |
| 123 | This currency is not supported. | The selected currency is not supported by this acquirer. | Make sure provided currency code is valid and try another currency otherwise. |
| 124 | Invalid country code. | The country has not been specified in the correct format. | Make sure the country code is in the ISO 3166-1 alpha-2 code format. |
| 125 | Invalid or missing return URLs. | No valid return URLs have been specified in the payment request. | Check the parameters success_url, error_url, and postback_url. |
| 126 | Invalid bank account information. | The bank data of a direct debit transaction does not pass the validation. | Check IBAN and BIC. |
| 127 | This payment processor does not support authorization. | The payment processor does not support authorize/capture/reverse operations. | Use payment call or contact us. |
| 128 | Transaction has not been authorized for capture or reverse operation. | The status of transaction is other than "authorized", that is, it has already been captured or reversed or was not authorized to begin with. | Create a new payment. |
| 129 | Deprecated. | ||
| 130 | Error converting legacy bank information to IBAN/BIC. | (No longer used, because legacy parameters are no longer accepted.) | Use IBAN or BIC instead. |
| 131 | This payment processor does not support Mandate generation. | SEPA Mandate generation cannot be used with this payment processor. | Use payment call. |
| 132 | Reserved. | Reserved. | |
| 134 | Amount cannot be zero or negative. | Payments with zero or negative amounts are rejected by all acquirers. | Only send payments with an amount greater than zero. |
| 135 | Payouts not supported. | Payment processor does not support payouts. | Make sure the payment processor you are using supports payouts. |
| 136 | Transaction status change not possible. | The status change is not permitted or logical, for example trying to change a cancelled transaction to completed. | Try another status or contact us. |
| 137 | Debt collector not found. | The debt collector assigned for the merchant does not exist or is not working. | Contact us. |
| 138 | Debt collections for this merchant are not supported. | This merchant does not have debt collections enabled. | Contact us. |
| 139 | The debt collector returned an error. | ||
| 140 | Amount submitted to debt collection does not match transaction amount. | The verify_amount option, if used, must match the transaction amount. | Verify that the transaction amount is correct before retrying. |
| 141 | Factoring allowance exceeded. | Merchant has exceeded the limit of factored transaction amounts within a set time limit. | Contact us to raise the limit or try again in a new calendar month/year. |
| 142 | Age conditions for debt claim are not met. | Transaction is too new or too old to be sent to debt collection or factoring. | Try again later or contact us to change age limits. |
| 144 | Unauthorized. | The passed credentials are invalid. | Check your api_key and api_password. |
| 145 | Channel cannot be found. | Provided url_name does not match to any active channels. | Check url_name. |
| 146 | Import error: related error message. | Import error will describe any validations that the request could not pass. |
Merchant Management and Network Tokenization
Merchant Management API and Network Tokenization return errors as a JSON object. Use error.code to identify the error type in your integration.
Failed requests return result: "NOK" and an error object:
{
"result": "NOK",
"error": {
"code": "missing_parameter",
"message": "Missing required parameters: name, type, email"
}
}
| Field | Description |
|---|---|
result | Always "NOK" on error |
error.code | Stable string identifier for the error type (for example missing_parameter) |
error.message | Human-readable detail. The text varies by endpoint and context — treat it as diagnostic, not as a fixed catalogue |
error.code | Example error.message | When it happens |
|---|---|---|
missing_parameter | Missing required parameters: name, type, email | A required field was omitted |
parse_error | Could not parse JSON input data. | Request body could not be parsed |
unauthorized_access | User is unauthorized to perform this operation. | Credentials are valid but the caller's role cannot perform the action |
resource_not_found | Merchant you were looking for could not be found. | The resource ID is unknown or outside the caller's scope |
invalid_parameter | Invalid type. Allowed values: merchant, partner. | A field value failed validation |
tokenization_not_configured | Network tokenization is not configured for this merchant. | Network Tokenization is not enabled for the account |
internal_error | There was a system error in the gateway. | Unexpected server error |
tokenization_provider_error | The tokenization provider returned an error. | The upstream tokenization provider failed |
When Basic Authentication fails (missing or wrong API key / password), the response is 401 with plain text HTTP Basic: Access denied. and no JSON body — there is no error.code in that case. This is separate from unauthorized_access, which is returned as JSON after successful authentication when the caller lacks permission for the requested action.