Skip to main content

Errors and validations

Error reference

Errors come in three layers:

  1. HTTP status: 400 for validation / business errors, 5xx for infrastructure issues.
  2. Response envelope: top-level error_code + error_message.
  3. errors[] array: granular per-field failures. For Checkout validation errors, every entry uses error_code 100000; the message identifies the field and rule that failed.

Error envelope

{
"error_code": 0,
"error_message": "Request data is invalid.",
"errors": [
{ "error_code": 100000, "error_message": "order_amount: This value should not be blank." },
{ "error_code": 100000, "error_message": "order_currency: This value is not valid." }
]
}

Validation errors (1xxxxx)

Payment / Order (100000)

All Payment / Order errors return the code 100000. The difference between each case is the error message.

CodeError MessageCategoryCauseFix
100000payer_card_exp_month: This value should not be blank.Missing fieldCard expiry month not provided.Send payer_card_exp_month (1–12).
100000payer_card_exp_year: This value should not be blank.Missing fieldCard expiry year not provided.Send payer_card_exp_year (4-digit year).
100000payer_card_cvv: This value should not be blank.Missing fieldCVV code missing.Include payer_card_cvv in the payload.
100000order_id: This value should not be blank.Missing fieldOrder identifier not sent.Pass a unique order_id with each request.
100000order_amount: This value should not be blank.Missing fieldPayment amount missing.Include order_amount in the request.
100000order_amount: This value should be greater than 0.Invalid valueAmount is zero or negative.Ensure order_amount > 0.
100000order_currency: This value should not be blank.Missing fieldCurrency code not sent.Send a valid 3-letter ISO currency code.
100000order_description: This value should not be blank.Missing fieldOrder description is empty.Provide a non-blank order_description.
100000payee_card_number: This value should not be blank.Missing fieldPayee card number missing (payout).Include payee_card_number for payout requests.
100000term_url_3ds: This value should not be blank.Missing field3DS return URL not provided.Set term_url_3ds to the cardholder redirect URL after 3DS.
100000amount: Amount is not valid.Invalid valueAmount format is incorrect.Send amount as a numeric value with up to 2 decimal places.
100000card_exp_year: The date is expired and not valid.Expired cardCard expiry year is in the past.Use a valid, non-expired card.
100000The expiration date of card is expired and not valid.Expired cardCard expiry date is in the past.Verify card expiry before sending the request.
100000Request from this ip is not allowed.IP restrictionRequesting IP is not whitelisted for the merchant.Whitelist the IP in admin settings or send from an allowed IP.
100000order_id: Duplicate payment.Duplicate requestA payment with the same order_id already exists.Use a unique order_id for every new payment attempt.
100000merchant_key: Wrong merchant operation.Auth / configMerchant key is not permitted for this operation type.Check that you are using the correct merchant key.
100000schedule_id: Schedule is pausedSchedule stateThe referenced schedule is currently paused.Resume the schedule before sending recurring transactions.
100000Schedule is not foundSchedule stateschedule_id does not exist.Verify the schedule_id; create the schedule if deleted.
100000schedule_id: Schedule cannot be used for non-recurring transactionSchedule stateschedule_id passed for a one-time payment.Remove schedule_id for non-recurring requests.
100000Void is not allowedOperation restrictionVoid is disabled for this merchant or payment.Enable void in MID settings or contact support.
100000Refund is not allowedOperation restrictionRefund is disabled for this merchant or payment.Enable refund in MID settings or contact support.

Payment processing errors (2xxxxx)

Currency (203xxx)

Error CodeError MessageCategoryPossible ReasonFix
203001Invalid commission settings: total amount less than zero.Currency RatesCommission rules produce a negative total — misconfigured fee settings.Review fee settings in admin; ensure fees do not exceed the transaction amount.
203002Base Currency not found in ECB XML.Currency RatesECB rate feed lacks the configured base currency.Use a supported ECB base currency (e.g., EUR) or switch rate provider.
203003Base Currency not found in Bank-Ua XML.Currency RatesUkrainian bank rate feed missing the base currency.Verify the base currency is available in the Bank-Ua feed.
203004Currency rate not found.Currency RatesExchange rate for the currency pair is unavailable.Check the currency pair is supported; update rate feed configuration.
203005Currency not found.Currency RatesCurrency code does not exist in the system.Use a valid ISO 4217 currency code.
203006Base Currency not found in CurrencyScoop service.Currency RatesCurrencyScoop feed lacks the base currency.Verify CurrencyScoop config or change the base currency.

Balancer / routing (204xxx, 240001)

Error CodeError MessageCategoryPossible ReasonFix
240001Not available action. Check MID configuration.Traffic BalancerRequested action is not enabled for the assigned MID.Enable the action in MID configuration.
204001Merchant mapping not found for current channel.Traffic BalancerNo merchant-to-channel mapping exists for this transaction.Create a merchant mapping for the relevant channel in admin.
204002Enabled merchant mappings or MIDs not found.Traffic BalancerNo active mappings/MIDs match transaction parameters.Ensure at least one active merchant mapping/MID is configured.
204003Payment type not supported.Traffic BalancerPayment type (e.g., recurring) not enabled for the MID.Enable the required payment type in MID settings.
204004Payment method not supported.Traffic BalancerPayment method not supported by the MID.Add the required method to the MID configuration.
204005Payment action not supported.Traffic BalancerAction (capture, refund, etc.) is not enabled.Enable the action in MID settings.
204006Payment system/brand not supported.Traffic BalancerCard scheme (Visa, MC, etc.) not accepted by this MID.Configure the card brand in MID settings or route to a different MID.
204007Day MID limit is not set or exceeded.Traffic BalancerDaily limit is missing or has been reached.Set or increase the daily MID limit; or wait until the next day.
204008Merchant mapping limit is not set or exceeded.Traffic BalancerMerchant mapping limit missing or exceeded.Update the merchant mapping limit configuration.
204009Payment type not found.Traffic BalancerPayment type ID does not exist.Use a valid, configured payment type.
204010Payment method not found.Traffic BalancerPayment method ID does not exist.Use a valid payment method; check configuration.
204011Payment system/brand not found.Traffic BalancerCard scheme identifier not recognised.Verify the payment system/brand value in the request.
204012Payment currency not found.Traffic BalancerCurrency not configured for this merchant/MID.Add the currency to MID config or use a supported currency.
204013Payment action not found.Traffic BalancerRequested action code does not exist.Use a valid action code.
204014Month MID limit is exceeded.Traffic BalancerMonthly processing limit reached.Request a limit increase from the acquirer or wait for the new month.
204015Week Merchant mapping limit is exceeded.Traffic BalancerWeekly mapping limit reached.Increase the weekly limit or wait for the new week.
204016Payment currency not supported.Traffic BalancerCurrency not enabled for this MID.Enable the currency in MID settings or use a supported currency.
204017Payment amount after exchange equals 0.Traffic BalancerCurrency conversion results in zero (very small amount).Increase the transaction amount or review conversion settings.
205001Merchant mappings not found.Payment BuildersNo merchant mapping exists for the given parameters.Create the required merchant mapping in admin.
205002Recurring is not supported by specified initial payment.Payment BuildersInitial payment does not have recurring enabled.Make the initial payment with recurring=true and ensure it is in a valid state.
205003Merchant not found.Payment Buildersmerchant_key does not correspond to an existing merchant.Verify the merchant_key in your request credentials.
205004Payment not found.Payment BuildersReferenced payment ID does not exist.Check the payment ID; confirm it was created successfully.
205005Card token is invalid or not found.Payment BuildersToken does not exist or is malformed.Re-tokenize the card or verify the token value.
205006Card token is expired.Payment BuildersCard token has passed its expiry.Generate a new card token.
205007Card token is not accessible.Payment BuildersMerchant is not authorised to use this token.Use a token belonging to this merchant, or re-tokenize.
205008This order is scheduled already.Payment BuildersA schedule already exists for this order_id.Use a different order_id or manage the existing schedule.

Payment flow (208xxx): post-payment operations

Error CodeError MessageCategoryPossible ReasonFix
208002Not acceptable to request the 3DS for payment not in 3DS status.Payment Flow3DS requested for a payment not awaiting 3DS.Only trigger 3DS for payments in 3DS-pending status.
208003Not acceptable to request the capture for payment not in pending status.Payment FlowCapture attempted on a non-pending payment.Ensure the payment is authorised (pending) before capturing.
208004Not acceptable to request the capture for amount bigger than auth amount.Payment FlowCapture amount exceeds authorised amount.Capture only up to the authorised amount.
208005Not acceptable to request the refund for payment not in settled or pending status.Payment FlowRefund on an unsettled payment.Wait for payment to reach 'settled' status before refunding.
208006Not acceptable to request the refund for amount bigger than payment amount.Payment FlowRefund amount exceeds original payment.Refund only up to the original payment amount.
208007Not acceptable to request the reversal for payment not in pending status.Payment FlowReversal on a non-pending payment.Reverse only pending/authorised payments.
208008Not acceptable to request the reversal for amount bigger than payment amount.Payment FlowReversal amount exceeds payment amount.Reversal must not exceed the original amount.
208009Not acceptable to request the reversal for partial amount.Payment FlowPartial reversal not supported.Reverse the full amount or use a refund for partial amounts.
208010Not acceptable to request the chargeback for amount bigger than payment's amount.Payment FlowChargeback amount exceeds original payment.Chargeback amount must be equal or lesser than the original payment amount.
208011Not acceptable to request the chargeback for date less than payment's create date.Payment FlowChargeback date is before payment creation date.Verify the chargeback date is after the payment date.
208012Not acceptable to request the refund for partial amount.Payment FlowPartial refund not enabled for this merchant.Contact support to enable partial refunds, or refund the full amount.
208013Not acceptable to request the check for payment not in prepare status.Payment FlowCheck requested on a non-prepare payment.Only check payments in 'prepare' status.
208014Not acceptable to request the void for payment not in settled status.Payment FlowVoid on an unsettled payment.Only void settled payments; use reversal for pending ones.
208015Not acceptable to request the void for payment with already partial refunds.Payment FlowVoid blocked by existing partial refunds.Cannot void a payment that has been partially refunded.
209001Affected payment not found.Payment FlowReferenced original payment does not exist.Verify the payment ID used in the operation.
209002Affected transaction not found.Payment FlowReferenced transaction ID does not exist.Check the transaction ID and confirm it was created.
210001Payment already in process.Payment FlowConcurrent request for the same payment is running.Wait for the first request to complete before retrying.
210002Refund via API is not supported. Only from the connector admin portal.Payment FlowConnector does not support API-based refunds.Issue refunds through the connector admin portal.

Miscelaneous

Error CodeError MessageCategoryPossible ReasonFix
220002Use merchant test key.Test TransactionsLive merchant key used in sandbox environment.Use the merchant test key for sandbox transactions.
230001Invalid commission settings: total amount less than zero.Payment CommissionCommission config produces a negative total.Fix commission settings so fees do not exceed the transaction amount.

Hash validation

Checkout always validates the request hash. An invalid hash is rejected with:

{
"error_code": 0,
"error_message": "Request data is invalid.",
"errors": [
{ "error_code": 100000, "error_message": "hash: Hash is not valid." }
]
}

Common causes: wrong field order or count; missing uppercase(); using merchant key instead of password; using production password against sandbox URL; trailing whitespace in the password; using the wrong hash formula for the operation (each operation has its own field list; see Hash signature).

Example: validation failure

Request
curl -X POST "$CHECKOUT_URL/api/v1/session" \
-H "Content-Type: application/json" \
-d '{
"merchant_key": "27106696-...",
"operation": "credit",
"methods": [""],
"order": { "number": "", "amount": "1.2", "currency": "Dollar", "description": "" },
"cancel_url": "1.com",
"success_url": "",
"hash": "728d13b95cf2b6b3ee04b20dc2fc9889ffff1cf4"
}'
Response: 400 Bad Request
{
"error_code": 0,
"error_message": "Request data is invalid.",
"errors": [
{ "error_code": 100000, "error_message": "order_number: This value should not be blank." },
{ "error_code": 100000, "error_message": "order_amount: This value should not be blank." },
{ "error_code": 100000, "error_message": "order_currency: This value is not valid." }
]
}