Technical Specifications

Request Format

All requests to the InterPay™ gateway are sent over HTTPS on port 1443. Both GET and POST methods are supported.

Tag/Value Format

Requests are constructed by concatenating fields and values, separated by ampersands:

TERMID=MYTERM01&PASS=mypass&TYPE=W&ACTION=StartSession&AMT=125.00&[email protected]

Field values must be URL-encoded to allow special characters. If an ampersand (&) is needed within a field value, send it as a double ampersand (&&) to avoid confusion with field separators.

For structured data, fields can represent groups using nested brackets:

&PYMTS=[DATE=20260401&AMT=125.00][DATE=20260501&AMT=135.00]

JSON Format

Requests can be submitted as JSON in the body of a POST request with Content-Type: application/json:

{
  "TERMID": "MYTERM01",
  "PASS": "mypass",
  "TYPE": "W",
  "ACTION": "StartSession",
  "AMT": "125.00",
  "CUSTEMAIL": "[email protected]"
}

Structured data uses arrays of objects:

{
  "PYMTS": [
    { "DATE": "20260401", "AMT": "125.00" },
    { "DATE": "20260501", "AMT": "135.00" }
  ]
}

GET vs POST

MethodHow to send dataWhen to use
GETFields in the query stringQuick browser-based testing
POSTFields in the query string or the request body (tag/value or JSON)Production integrations

Both methods produce the same result. GET is useful for early testing — you can paste a request URL into a browser and see the response directly.

Response Format

The gateway matches the response format to your request:

You sendYou get backContent-Type
Tag/valueTag/valuetext/plain
JSON bodyJSONapplication/json
Tag/value with JSON=YJSONapplication/json

To force a JSON response regardless of request format, include JSON=Y as a parameter:

TERMID=MYTERM01&PASS=mypass&TYPE=W&ACTION=StartSession&AMT=125.00&JSON=Y

Standard Response Envelope

Every gateway response includes these fields:

FieldDescription
CODEResult code. 0000 means success. Any other value indicates an error or decline.
TEXTHuman-readable result message (e.g. SUCCESS, APPROVED, DECLINED TEST, MISSING CUST EMAIL).
DATEDate the response was generated (YYYY-MM-DD).
TIMETime the response was generated (HH:MM:SS).
DURRequest processing duration in seconds (e.g. 0.412).

Additional fields vary by request type and are documented in each method's Parameter Descriptions page.

Tag/value response example:

TEXT=SUCCESS&CODE=0000&SECUREID=1ef3a4c0-1234-6abc-b6f0-0607737344b4&URL=https://svra.interpaypos.com:1443/api/HOSTPYMT/pay/?SecureID=1ef3a4c0-1234-6abc-b6f0-0607737344b4&DATE=20260412&TIME=14:23:01&DUR=0.412

JSON response example:

{
  "CODE": "0000",
  "TEXT": "SUCCESS",
  "SECUREID": "1ef3a4c0-1234-6abc-b6f0-0607737344b4",
  "URL": "https://svra.interpaypos.com:1443/api/HOSTPYMT/pay/?SecureID=1ef3a4c0-1234-6abc-b6f0-0607737344b4",
  "DATE": "2026-04-12",
  "TIME": "14:23:01",
  "DUR": "0.412"
}

Approved-Transaction Fields

The following fields are added automatically when a financial transaction is approved:

FieldWhen returnedDescription
AUTHApproved transactionsAuthorization number from the card network
GATEREFApproved financial transactions (Type E)Gateway reference for settlement and reconciliation. Store this alongside your own transaction record.
TOKENWhen card data was processedPermanent token for reusing this card on future transactions
HASHWhen card data was processedHash of the card data for deduplication or fraud checks

These fields will not appear on declines, validation errors, or non-financial calls.

HTTP Status Codes

The gateway always returns HTTP 200 OK, including for declines and errors. Always check the CODE field in the response body to determine the result — do not rely on the HTTP status code.

Error Handling

Errors are returned in the same format as the request with a non-0000 CODE and a descriptive TEXT message.

Example error response:

{
  "CODE": "9014",
  "TEXT": "MISSING CUST EMAIL",
  "DATE": "20260412",
  "TIME": "14:25:33",
  "DUR": "0.003"
}

Check CODE on every response. A value of 0000 means the request succeeded. Any 9xxx code indicates a validation or gateway error. Any 0xxx code (other than 0000) indicates a decline from the card network.

If a gateway server does not respond or returns a 99xx error code, retry the request on the other gateway server. See [Production] for server URLs.

XML Format

XML responses are also supported by including XML=Y in the request. The response will be returned with Content-Type text/xml. JSON is recommended for new integrations.