Skip to main content

API error reference

Complete list of error codes returned by the payment gateway. Use Cmd/Ctrl-F to jump to a code or message. New entries are added as part of each release; see the changelog for the version they appeared in.

Where each code can show up
  • Synchronous responses to API requests carry error_code and error_message fields, with HTTP 400.
  • Callbacks carry the same fields on failed payments.
  • Not-found responses since 6.7.0 follow a per-entity rule rather than a per-operation one. Operations whose underlying entity is a transaction or order (GET_TRANS_STATUS, GET_TRANS_STATUS_BY_ORDER, S2S CARD CAPTURE) return 101000 with a specific message. Operations against payment, schedule, or recurring entities (VOID, CREDITVOID, DELETE_SCHEDULE, UPDATE_SCHEDULE, RECURRING_SALE) continue to return 100000, also with specific messages. The per-action mapping lives in the changelog of the changelog and the table below.

Validation errors

These are returned synchronously when the request payload fails schema or business-rule validation. HTTP 400.

100000 and 101000: General validation

Error codeError messageSub-typePossible reasonHow to fix
100000card_number: This value should not be blank.Missing fieldcard_number not in the request payload.Add card_number to the request.
100000payer_card_exp_month: This value should not be blank.Missing fieldExpiry month not provided.Send payer_card_exp_month (1-12).
100000payer_card_exp_year: This value should not be blank.Missing fieldExpiry year not provided.Send payer_card_exp_year (4-digit year).
100000payer_card_cvv: This value should not be blank.Missing fieldCVV 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 fieldAmount 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 4217 code.
100000order_description: This value should not be blank.Missing fieldDescription 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 incorrect.Send amount as a numeric value with up to 2 decimal places.
100000card_exp_year: The date is expired and not valid.Expired cardExpiry year in the past.Use a valid, non-expired card.
100000The expiration date of card is expired and not valid.Expired cardExpiry date in the past.Verify card expiry before sending the request.
100000Request from this ip is not allowed.IP restrictionRequesting IP not whitelisted.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 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 paused.Resume the schedule before sending recurring transactions.
100000Schedule not foundNot found (schedule entity)S2S CARD DELETE_SCHEDULE or UPDATE_SCHEDULE against an unknown schedule_id. The wording is Schedule not found (no is) as returned by the API.Verify the schedule_id matches an existing schedule that has not already been 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.
100000Payment not found.Not found (payment entity)S2S CARD VOID or CREDITVOID against an unknown trans_id. Returned with HTTP 400.Verify the trans_id matches an existing payment in a state that allows void / credit-void.
100000Incorrect transactionNot found (recurring init pair)S2S CARD RECURRING_SALE whose recurring_first_trans_id + recurring_token pair does not match a valid recurring initial transaction. Surfaces only after schema validation passes.Confirm the initial recurring transaction settled successfully and the recurring_token has not expired or been revoked.
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.
101000Payment does not exist.Status lookupGET_TRANS_STATUS by payment_id with an unknown ID.Verify the payment_id is correct and the payment was created successfully.
101000Order does not exist.Status lookupGET_TRANS_STATUS by order_id with an unknown ID.Verify the order_id.
101000Transaction does not exist.Status lookupS2S CARD GET_TRANS_STATUS by trans_id with an unknown ID.Verify the trans_id.
101000Transaction does not exist.Not found (CAPTURE)S2S CARD CAPTURE against an unknown trans_id. Same wording as the status-lookup row above; client-side discrimination must use the request action field, not the message.Verify the trans_id of the original authentication; ensure it has not already been captured or voided.
Breaking change in 6.7.0

101000 was added in changelog. Before 6.7.0, status-lookup not-found cases returned 100000 with the generic This value is not correct. message. If your integration matches on error_code to detect not-found state, update it to 101000.


Payment processing errors

Returned by the routing, builder, and flow stages after validation passes.

203xxx: Currency rates

Error codeError messagePossible reasonHow to fix
203001Invalid commission settings: total amount less than zero.Commission 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.ECB rate feed lacks the configured base currency.Use a supported ECB base currency (e.g., EUR) or switch the rate provider.
203003Base Currency not found in Bank-Ua XML.Ukrainian bank rate feed missing the base currency.Verify the base currency is available in the Bank-Ua feed.
203004Currency rate not found.Exchange rate for the currency pair is unavailable.Check the currency pair is supported; update rate feed configuration.
203005Currency not found.Currency code does not exist in the system.Use a valid ISO 4217 currency code.
203006Base Currency not found in CurrencyScoop service.CurrencyScoop feed lacks the base currency.Verify CurrencyScoop config or change the base currency.

240001 and 204xxx: Traffic balancer / routing

Error codeError messagePossible reasonHow to fix
240001Not available action. Check MID configuration.Requested action is not enabled for the assigned MID.Enable the action in MID configuration.
204001Merchant mapping not found for current channel.No 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.No active mappings / MIDs match transaction parameters.Ensure at least one active merchant mapping or MID is configured.
204003Payment type not supported.Payment type (e.g., recurring) not enabled for the MID.Enable the required payment type in MID settings.
204004Payment method not supported.Payment method not supported by the MID.Add the required method to the MID configuration.
204005Payment action not supported.Action (capture, refund, etc.) is not enabled.Enable the action in MID settings.
204006Payment system/brand not supported.Card 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.Daily limit missing or reached.Set or increase the daily MID limit; or wait until the next day.
204008Merchant mapping limit is not set or exceeded.Merchant mapping limit missing or exceeded.Update the merchant mapping limit configuration.
204009Payment type not found.Payment type ID does not exist.Use a valid, configured payment type.
204010Payment method not found.Payment method ID does not exist.Use a valid payment method; check configuration.
204011Payment system/brand not found.Card scheme identifier not recognised.Verify the payment system / brand value in the request.
204012Payment currency not found.Currency not configured for this merchant / MID.Add the currency to MID config or use a supported currency.
204013Payment action not found.Requested action code does not exist.Use a valid action code.
204014Month MID limit is exceeded.Monthly processing limit reached.Request a limit increase from the acquirer or wait for the new month.
204015Week Merchant mapping limit is exceeded.Weekly mapping limit reached.Increase the weekly limit or wait for the new week.
204016Payment currency not supported.Currency not enabled for this MID.Enable the currency in MID settings or use a supported currency.
204017Payment amount after exchange equals 0.Currency conversion results in zero (very small amount).Increase the transaction amount or review conversion settings.

205xxx: Payment builders

Error codeError messagePossible reasonHow to fix
205001Merchant mappings not found.No merchant mapping exists for the given parameters.Create the required merchant mapping in admin.
205002Recurring is not supported by specified initial payment.Initial payment does not have recurring enabled.Make the initial payment with recurring=true and ensure it is in a valid state.
205003Merchant not found.merchant_key does not correspond to an existing merchant.Verify the merchant_key in your request credentials.
205004Payment not found.Referenced payment ID does not exist.Check the payment_id; confirm it was created successfully.
205005Card token is invalid or not found.Token does not exist or is malformed.Re-tokenize the card or verify the token value.
205006Card token is expired.Token has passed its expiry.Generate a new card token.
205007Card token is not accessible.Merchant is not authorised to use this token.Use a token belonging to this merchant, or re-tokenize.
205008This order is scheduled already.A schedule already exists for this order_id.Use a different order_id or manage the existing schedule.

208xxx and 209xxx and 210xxx: Payment flow

Error codeError messagePossible reasonHow to fix
208002Not acceptable to request the 3DS for payment not in 3DS status.3DS 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.Capture 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.Capture 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.Refund on an unsettled payment.Wait for the payment to reach settled status before refunding.
208006Not acceptable to request the refund for amount bigger than payment amount.Refund amount exceeds original payment.Refund only up to the original payment amount.
208007Not acceptable to request the reversal for payment not in pending status.Reversal on a non-pending payment.Reverse only pending / authorised payments.
208008Not acceptable to request the reversal for amount bigger than payment amount.Reversal amount exceeds payment amount.Reversal must not exceed the original amount.
208009Not acceptable to request the reversal for partial amount.Partial 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.Chargeback amount exceeds original payment.Chargeback amount must be less than or equal to the original payment amount.
208011Not acceptable to request the chargeback for date less than payment's create date.Chargeback date is before payment creation date.Verify the chargeback date is after the payment date.
208012Not acceptable to request the refund for partial amount.Partial 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.Check requested on a non-prepare payment.Only check payments in prepare status.
208014Not acceptable to request the void for payment not in settled status.Void 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.Void blocked by existing partial refunds.A payment that has been partially refunded cannot be voided.
209001Affected payment not found.Referenced original payment does not exist.Verify the payment ID used in the operation.
209002Affected transaction not found.Referenced transaction ID does not exist.Check the transaction ID and confirm it was created.
210001Payment already in process.Concurrent 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.Connector does not support API-based refunds.Issue refunds through the connector admin portal.

220xxx: Test transactions

Error codeError messagePossible reasonHow to fix
220002Use merchant test key.Live merchant key used in the sandbox environment.Use the merchant test key for sandbox transactions.

230xxx: Payment commission

Error codeError messagePossible reasonHow to fix
230001Invalid commission settings: total amount less than zero.Commission config produces a negative total.Fix commission settings so fees do not exceed the transaction amount.

Gateway errors (HTTP 400)

CodeMessageWhenFix
400Duplicate request.An identical request was processed recently.Generate a new order.number for a new payment intent.
400Previous payment not completed.A prior payment for this order.number is still in flight.Wait for the previous payment to reach a terminal state, or void it.
info

Gateway errors apply only for S2S Protocols.


See also

  • Changelog for the release where each new code was introduced.
  • Errors and validation for the Checkout-specific narrative version (same codes, in-context).