Direct Payment Errors
Error codes returned by Direct with Embedded Tokenization.
Codes in the 1xxx range are specific to this integration method.
Check the CODE field on every response. 0000 means the transaction was approved. Any other value indicates a validation error, a setup issue, a network problem, or a card decline. The TEXT field contains a human-readable message.
For card declines from the card network, see Credit Card Declines. For authentication errors (1001, 9128), see Authentication.
Request Validation
| Code | Message | Description |
|---|---|---|
1000 | FORMAT ERROR | The transaction message is malformed, required fields are missing, or a value is out of bounds. |
1003 | DECLINED (CV) | Card verification check failed. |
1011 | MISSING AMT / ILLEGAL AMT | AMT is missing or has an invalid value. |
1028 | INVALID OPERID | OPERID is malformed. |
1031 | MISSING REF / INVALID REF LEN / BAD CHAR IN REF | REF is missing, too long, or contains invalid characters. |
1032 | Card data error | The card data (number, expiry, CVV) failed validation. The TEXT field contains the specific validation message. |
1034 | INVALID OVERRIDE TID | Terminal override was rejected. |
1036 | INVALID INV LEN | Invoice number is the wrong length. |
1040 | ONLY PLATFEE OR PLATCHRG / TRAN TYPE CANNOT SPLIT | Both PLATFEE and PLATCHRG were sent, or a Split was attempted on a transaction type that doesn't support it (SPLIT is only allowed on Sale, Completion, Refund, and Force Post). |
1041 | MISSING ZIP | The terminal requires a ZIP/postal code for address verification, but the transaction did not include one. Supply a valid ZIP on Sale, Auth, and Pre-Auth requests. |
1042 | INVALID ZIP | A ZIP was supplied but is not a valid US ZIP/ZIP+4 or Canadian postal code. |
Authorization and Capture
| Code | Message | Description |
|---|---|---|
1016 | COMP NO MATCH | Completion (TYPE=C) was attempted but doesn't match a prior Pre-Authorization. |
1017 | NOT VOIDABLE TYPE / VOID NO MATCH | Void (TYPE=V) or Refund Void (TYPE=M) was attempted against a transaction that doesn't exist or can't be voided. |
1029 | MISSING AUTH / ILLEGAL AUTH / INVALID AUTH | Force Post (TYPE=F) requires an AUTH number from a prior Auth Only. |
1035 | DUPLICATE REF | A transaction with this REF already exists on this terminal. This is the gateway's built-in duplicate protection. |
Important:
1035means your request was received before, and the original transaction's outcome is the authoritative answer. Don't re-submit with a newREFto work around it — query the original transaction via Transaction Query to get the result.
CustomerPay and Platform Billing
| Code | Message | Description |
|---|---|---|
1037 | USERFEE NOT ALLOWED / USERFEE TOO SMALL | The merchant is not enrolled in CustomerPay, or the USERFEE is below the required minimum for the transaction amount. |
1038 | PLATFEE NOT ALLOWED | The terminal does not have ENABLE PLAT FEE set, or this transaction type does not support Platform Fees. |
1039 | PLATCHRG NOT ALLOWED | The terminal does not have ENABLE PLAT CHRG set, or this transaction type does not support Platform Charges. |
Settlement
| Code | Message | Description |
|---|---|---|
1033 | NOTHING TO SETTLE | Settlement (TYPE=D) was called but the batch contains no transactions. |
Embedded Tokenization
| Code | Message | Description |
|---|---|---|
8601 | INVALID APIKEY | The API key passed to Interpay.tokenize() is invalid or expired. Request a fresh one from GetAPIKey. |
8602 | Card data validation error | Card data submitted to the tokenization endpoint failed validation. The TEXT field contains the specific message. |
Network and Host
| Code | Message | Description |
|---|---|---|
1098 | INVALID RESPONSE FROM HOST | The processing host returned an unexpected response. Retry on the alternate gateway server. |
9102 | TRAN TIMEOUT / GATEWAY CONFIG ERROR | The transaction timed out before the host responded, or the terminal is misconfigured. Retry; if it recurs, contact [email protected]. |
Gateway Errors
| Code | Message | Description |
|---|---|---|
9100 | DATA UPDATE ERROR | Internal gateway error while recording the transaction. Retry the call. |
9900 | SYSTEM ERROR | Unexpected gateway exception. Retry on the alternate gateway server. |
How to Handle
1035Duplicate Reference — critical for idempotent retry logic. Never re-submit with a newREF. Query the original transaction instead.- Validation errors (
1000,1011,1028,1031,1032,1034,1036,1040,1041) — bugs in your integration. Fix the request format. 1032Card data error — user-facing. Show the customer a "please check your card details" message.- Authorization flow errors (
1016,1017,1029) — logic issues. You're submitting a capture, void, or refund against a transaction that doesn't match the expected state. Verify your state-tracking. - Fee-not-allowed errors (
1037,1038,1039) — either the terminal isn't configured for this fee type (contact [email protected]) or the transaction type doesn't support fees (see [Transaction Types]). - Embedded Tokenization (
8601,8602) — request a fresh API key viaGetAPIKeyand prompt the customer to re-enter card details. - Network errors (
1098,9102,9100,9900) — retryable. Use exponential backoff and fall over to the alternate gateway server after a timeout.
Related
- Credit Card Declines — declines returned from the card network (code
0205). - Hosted Payment Errors — error codes for Customized Checkout and Embedded Components.
Updated 4 days ago
Did this page help you?
