Hosted Payment Errors
Error codes returned by Customized Checkout and Embedded Components
Codes are returned in the standard response envelope on StartSession, GetResult, and Ack calls.
Check the CODE field on every response. 0000 means the request succeeded. Any other value indicates a validation error, session issue, or gateway problem. The TEXT field contains a human-readable message that distinguishes between errors sharing the same code.
For card declines returned from the card network, see Credit Card Declines. For authentication errors (1001, 9128), see Authentication.
Session and Sequencing
Errors that indicate the session doesn't exist, has expired, or is being accessed out of order.
| Code | Message | Description |
|---|---|---|
9005 | CANCELLED | The customer clicked Cancel on the hosted page, abandoning the payment. |
9006 | MISSING SECUREID / INVALID SECUREID / INVALID SECUREID OR REFNUM | GetResult or Ack was called without a SECUREID, or with one the gateway doesn't recognize. |
9007 | NOT APPROVED | Ack was attempted on a transaction that was declined. |
9008 | NOT CAPTURED | The acknowledgement failed to capture the transaction — typically because the session expired before Ack was sent. |
9015 | NO RESULT - DO NOT POLL / CANCELLED SEQ | GetResult was called before the customer completed the hosted page (polling), or called out of sequence. A second polling occurrence cancels the session. |
Input Validation
Errors that indicate a required field is missing or malformed.
| Code | Message | Description |
|---|---|---|
9001 | SECUREID NOT ALLOWED / CANNOT OVERRIDE URLS | SECUREID was sent on StartSession (not allowed on create), or SUCCESSURL/FAILUREURL was sent on a terminal without DYNAMICURL enabled. |
9010 | INVALID ACTION | The ACTION value is not recognized. |
9011 | MISSING REQUESTID | REQUESTID was not provided. |
9012 | CANNOT MIX REQUESTID AND INVOICE / INVALID REQUESTID / DUPLICATE REQUESTID | Either both REQUESTID and the legacy INVOICE field were sent, the REQUESTID is malformed, or a REQUESTID has already been used for this terminal. |
9013 | INVALID REFNUM | REFNUM is malformed or too short. |
9014 | MISSING CUST EMAIL / INVALID CUST EMAIL / INVALID CUSTID | CUSTEMAIL is missing or malformed, or CUSTID contains invalid characters. |
9016 | MISSING CUST NAME | CUSTNAME is required (for schedule-linked sessions) but wasn't provided. |
9021 | MISSING REFNUM | Ack was called without a SECUREID or REFNUM. |
9022 | ACCESS DENIED PW | Password does not match on a session-level operation. |
1036 | INVALID INV | Invoice number is malformed. |
1037 | USERFEE TOO SMALL | CustomerPay USERFEE is below the required minimum for the transaction amount. |
1041 | INVALID SOURCE | The SOURCE field contains invalid characters. |
Amount and Fee Validation
| Code | Message | Description |
|---|---|---|
9024 | INVALID AMT FORMAT | AMT is missing a decimal point. |
9025 | INVALID AMT / AMT NOT ALLOWED / INVALID PLATFEE | AMT is negative, exceeds the terminal's maximum, or was sent alongside SCHEDID (where it's not allowed). |
9026 | INVALID PLATFEE FORMAT | PLATFEE is missing a decimal point. |
9027 | INVALID PLATFEE AMOUNT | PLATFEE is negative. |
9028 | PLATFEE NOT ALLOWED | The terminal does not have ENABLE PLAT FEE set. |
9029 | INVALID PLATCHRG FORMAT | PLATCHRG is missing a decimal point. |
9030 | INVALID PLATCHRG AMOUNT | PLATCHRG is negative or exceeds AMT. |
9031 | PLATCHRG NOT ALLOWED | The terminal does not have ENABLE PLAT CHRG set. |
9032 | INVALID USERFEE FORMAT | USERFEE is missing a decimal point. |
9033 | INVALID USERFEE AMOUNT | USERFEE is negative. |
9034 | USERFEE NOT ALLOWED | The terminal does not have USER FEE enabled or the merchant is not CustomerPay-enabled. |
9035 | PLATFEE OR PLATCHRG | Both PLATFEE and PLATCHRG were sent on the same request. Only one is allowed per transaction. |
9036 | CANNOT MIX PLATFORM WITH PLATFEE OR PLATCHRG | PLATFORM was sent alongside PLATFEE or PLATCHRG. Use one or the other. |
Setup
| Code | Message | Description |
|---|---|---|
9106 | INVALID REDIRECT URL | SUCCESSURL or FAILUREURL is not HTTPS, or fails URL format validation. |
1090 | INVALID HPP SETUP | The terminal's hosted payment configuration is incomplete. Contact [email protected]. |
1091 | HPP NOT ALLOWED | The terminal is not permitted to use hosted payments. |
Gateway Errors
| Code | Message | Description |
|---|---|---|
9100 | SESSION ERROR | Internal gateway error while saving session state. Retry the call. |
9900 | SYSTEM ERROR | Unexpected gateway exception. Retry on the alternate gateway server (svra ↔ svrb). |
How to Handle
- Session errors (
9005,9006) — user-facing. Show "session expired, please try again" and restart the flow with a freshStartSession. - Sequencing errors (
9015) — your integration is pollingGetResulttoo early. Only call it after the customer is redirected back to your Return URL. See Steps for Customized Checkout. - Validation errors (
9001,9010–9036,1036,1037,1041) — bugs in your integration. Fix the request format. - Fee-not-allowed errors (
9028,9031,9034) — your terminal isn't configured for this fee type. Email [email protected]. - Setup errors (
1090,1091,9106) — configuration issues that require SportsPay intervention (except9106, which is your return URL format). - Gateway errors (
9100,9900) — retryable. Retry on the alternate gateway server.
Related
- Credit Card Declines — declines from the card network (code
0205). - Direct Payment Errors — error codes for Direct with Embedded Tokenization.
- Payment Schedule Errors — schedule-specific codes (
8301–8314). - Transfer Errors — transfer and split codes (
8401–8425).
Updated 13 days ago
