Reverse Pre Authorisation
Overview and Usage
In the event of a Pre Authorisation needing reversal, for example due to staff error on the Pre Authorisation or Top-Up amounts, it is possible to fully or partially Reverse the running total on the Pre Authorisation. This is accomplished by use of a transType of REVERSAL being used in a POST/transaction request, also like a Top Up or Completion it can also be completed without the original payment card being present, which is useful in unattended environments. So you would need to either:
- Obtain the original Pre Authorisation using the original payment card, this requires the cardholder to be present.
- Obtain the original Pre Authorisation using the
preAuthIdfrom the original Pre Authorisation, this does not require the cardholder to be present.
The below images show the Reversal flow for both approaches:
- With Payment Card
- With Pre Auth ID


A Pre Authorised Amount is not finalised and settled so must NEVER be treated as a normal transaction when it comes to
Refunds; a refund should only be issued on fully completed and settled transaction which a Pre Authoirsation is not. Always use the transType of REVERSAL when dealing with "undoing" any or all funds on a Pre Authorisation.
Reversal with authorisedBalance
If you are wanting to Reverse an entire Pre Authorisation amount/balance, i.e. release what is known as the authorisedBalance, back to the customer then you need to send a POST/transaction request with the transType set to REVERSAl.
If you want to run a Reversal without the original payment card then make sure to include the preAuthId from the initial Pre Authorisation response.
You do not need to include the reversalAmount parameter in a Reversal of the full authorisedBalance, if this is omitted from the POST/transaction request containing a transType of REVERSAL then axept® PRO will treat the request as a Reversal of the full authorisedBalance.
The below examples have an authorisedBalance of £150.00 but a Reversal of the full amount will be requested.
Reversal with Payment Card
POST Transaction Request
| Query Parameters | ||
|---|---|---|
| tid | Enum | Your device serial number |
| Header Parameters | ||
| Authorization | String | Bearer 6945595921271780 |
| Body Parameters | ||
| transType | Enum | "transType": "REVERSAL" |
POST /POSitiveWebLink/1.2.0/rest/transaction?tid=1853195101
HTTP/1.1
Content-Type: application/json
disablePrinting: true
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 420c3e41-43db-40eb-9001-d69479bdbae0
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 43
{
"transType": "REVERSAL"
}
POST Transaction Response
Please select one of the below HTTPS response codes:
- 201
- 400
- 403
- 408
- 500
| HTTP response code | Description |
|---|---|
| 201 | "Transaction Created" This indicates that axept® PRO has received the request and the Reversal transaction has started on the payment device. |
HTTP/1.1 201 Transaction Created
Content-Type: application/json
Date: Mon, 8 Sep 2025 14:33:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
{
"amountCashback":0,
"amountGratuity":0,
"amountTrans":0,
"transType":"REVERSAL",
"uti":"3D581D93-F258-4AD7-B085-D8C74C5F314D"
}
| HTTP response code | Description |
|---|---|
| 400 | Details would be returned in a text description. Usually returned based on invalid parameters in the request. |
HTTP/1.1 400 Bad input parameter or invalid JSON
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:34:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Bad input parameter or invalid JSON
| HTTP response code | Description |
|---|---|
| 403 | "Not Authorised" The request is not authorised to proceed, check that the Bearer is set to 6945595921271780 and that there are no typos in the bearer token. |
HTTP/1.1 403 Not Authorised
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Not Authorised
| HTTP response code | Description |
|---|---|
| 408 | "Request timeout" The request has failed to reach axept® PRO and has timed out. |
HTTP/1.1 408 Request timeout
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Request timeout
| HTTP response code | Description |
|---|---|
| 500 | "Internal Server Error" The request encountered an error and was unable to execute correctly. This is usually seen when a transaction request is made whilst a transaction is already in progress. |
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:44:26 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Internal Server Error
Reversal with preAuthId
POST Transaction Request
| Query Parameters | ||
|---|---|---|
| tid | Enum | Your device serial number |
| Header Parameters | ||
| Authorization | String | Bearer 6945595921271780 |
| Body Parameters | ||
| transType | Enum | "transType": "REVERSAL" |
| preAuthId | String | preAuthId from the original Pre Authorisation request. |
POST /POSitiveWebLink/1.2.0/rest/transaction?tid=1853195101
Content-Type: application/json
disablePrinting: true
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 8b786b09-9321-463f-9d39-d36c9c1b2bf5
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 74
{
"preAuthId": "09081453093292",
"transType": "REVERSAL"
}
POST Transaction Response
Please select one of the below HTTPS response codes:
- 201
- 400
- 403
- 408
- 500
| HTTP response code | Description |
|---|---|
| 201 | "Transaction Created" This indicates that axept® PRO has received the request and the Reversal transaction has started on the payment device. |
HTTP/1.1 201 Transaction Created
Content-Type: application/json
Date: Mon, 8 Sep 2025 14:33:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
{
"amountCashback":0,
"amountGratuity":0,
"amountTrans":0,
"transType":"REVERSAL",
"uti":"3D581D93-F258-4AD7-B085-D8C74C5F314D"
}
| HTTP response code | Description |
|---|---|
| 400 | Details would be returned in a text description. Usually returned based on invalid parameters in the request. |
HTTP/1.1 400 Bad input parameter or invalid JSON
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:34:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Bad input parameter or invalid JSON
| HTTP response code | Description |
|---|---|
| 403 | "Not Authorised" The request is not authorised to proceed, check that the Bearer is set to 6945595921271780 and that there are no typos in the bearer token. |
HTTP/1.1 403 Not Authorised
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Not Authorised
| HTTP response code | Description |
|---|---|
| 408 | "Request timeout" The request has failed to reach axept® PRO and has timed out. |
HTTP/1.1 408 Request timeout
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Request timeout
| HTTP response code | Description |
|---|---|
| 500 | "Internal Server Error" The request encountered an error and was unable to execute correctly. This is usually seen when a transaction request is made whilst a transaction is already in progress. |
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:44:26 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Internal Server Error
Reversal with Variable Balance
It is possible to do a partial Reversal of the authorisedBalance rather than a full reversal if the situation requires, in these cases you would simply provide a reversalAmount containing the subtraction amount required. The below scenario outlines a live example:
A customer that is staying at a hotel has a total amount of £1000.00 on the Pre Authorisation. They decide to book one of the hotel's other available services at a cost of £50.00 but the hotel accidentally added the value of the service twice, i.e. £100.00, and this gets added to the authorisedBalance.
The hotelier simply needs to run a transType of REVERSAL and a reversalAmount of 5000, this will remove the accidental overcharge from the Pre Authorisation and bring the authorisedBalance back down to £1050.00.
Any required changes to the authorisedBalance amount should be handled as soon as they are required, this is to ensure that any additional amounts are secured for the merchant but also any deductions are also released back to the customer as soon as possible.
If you want to run a Reversal without the original payment card then make sure to include the preAuthId from the initial Pre Authorisation response.
The below examples have an authorisedBalance of £150.00 but a Reversal amount of £25.00 will be requested.
Reversal with Payment Card
POST Transaction Request
| Query Parameters | ||
|---|---|---|
| tid | Enum | Your device serial number |
| Header Parameters | ||
| Authorization | String | Bearer 6945595921271780 |
| Body Parameters | ||
| transType | Enum | "transType": "REVERSAL" |
| reversalAmount | Integer | "reversalAmount":2500 |
POST /POSitiveWebLink/1.2.0/rest/transaction?tid=1853195101
HTTP/1.1
Content-Type: application/json
disablePrinting: true
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 70fca896-6690-45aa-bbfd-f9c14f34d79f
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 56
{
"amountTrans": 2500,
"transType": "REVERSAL"
}
POST Transaction Response
Please select one of the below HTTPS response codes:
- 201
- 400
- 403
- 408
- 500
| HTTP response code | Description |
|---|---|
| 201 | "Transaction Created" This indicates that axept® PRO has received the request and the Reversal transaction has started on the payment device. |
HTTP/1.1 201 Transaction Created
Content-Type: application/json
Date: Mon, 8 Sep 2025 13:57:21 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
{
"amountCashback":0,
"amountGratuity":0,
"amountTrans":2500,
"transType":"REVERSAL",
"uti":"E6F0B41E-A133-4C98-9F9E-78080D9091B8"
}
| HTTP response code | Description |
|---|---|
| 400 | Details would be returned in a text description. Usually returned based on invalid parameters in the request. |
HTTP/1.1 400 Bad input parameter or invalid JSON
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:34:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Bad input parameter or invalid JSON
| HTTP response code | Description |
|---|---|
| 403 | "Not Authorised" The request is not authorised to proceed, check that the Bearer is set to 6945595921271780 and that there are no typos in the bearer token. |
HTTP/1.1 403 Not Authorised
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Not Authorised
| HTTP response code | Description |
|---|---|
| 408 | "Request timeout" The request has failed to reach axept® PRO and has timed out. |
HTTP/1.1 408 Request timeout
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Request timeout
| HTTP response code | Description |
|---|---|
| 500 | "Internal Server Error" The request encountered an error and was unable to execute correctly. This is usually seen when a transaction request is made whilst a transaction is already in progress. |
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:44:26 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Internal Server Error
Reversal with preAuthId
POST Transaction Request
| Query Parameters | ||
|---|---|---|
| tid | Enum | Your device serial number |
| Header Parameters | ||
| Authorization | String | Bearer 6945595921271780 |
| Body Parameters | ||
| transType | Enum | "transType": "REVERSAL" |
| reversalAmount | Integer | "reversalAmount":2500 |
| preAuthId | String | preAuthId from the original Pre Authorisation request. |
POST /POSitiveWebLink/1.2.0/rest/transaction?tid=1853195101
HTTP/1.1
Content-Type: application/json
disablePrinting: true
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 70fca896-6690-45aa-bbfd-f9c14f34d79f
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 56
{
"reversalAmount": 2500,
"preAuthId": "09081453093292",
"transType": "REVERSAL"
}
POST Transaction Response
Please select one of the below HTTPS response codes:
- 201
- 400
- 403
- 408
- 500
| HTTP response code | Description |
|---|---|
| 201 | "Transaction Created" This indicates that axept® PRO has received the request and the Reversal transaction has started on the payment device. |
HTTP/1.1 201 Transaction Created
Content-Type: application/json
Date: Mon, 8 Sep 2025 13:57:21 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
{
"amountCashback":0,
"amountGratuity":0,
"amountTrans":2500,
"transType":"REVERSAL",
"uti":"E6F0B41E-A133-4C98-9F9E-78080D9091B8"
}
| HTTP response code | Description |
|---|---|
| 400 | Details would be returned in a text description. Usually returned based on invalid parameters in the request. |
HTTP/1.1 400 Bad input parameter or invalid JSON
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:34:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Bad input parameter or invalid JSON
| HTTP response code | Description |
|---|---|
| 403 | "Not Authorised" The request is not authorised to proceed, check that the Bearer is set to 6945595921271780 and that there are no typos in the bearer token. |
HTTP/1.1 403 Not Authorised
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Not Authorised
| HTTP response code | Description |
|---|---|
| 408 | "Request timeout" The request has failed to reach axept® PRO and has timed out. |
HTTP/1.1 408 Request timeout
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Request timeout
| HTTP response code | Description |
|---|---|
| 500 | "Internal Server Error" The request encountered an error and was unable to execute correctly. This is usually seen when a transaction request is made whilst a transaction is already in progress. |
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:44:26 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Internal Server Error
Cancel Reversal Request
You can cancel a Reversal request at any time up to and including the Present Card screen, once a card has been presented it is not possible to cancel the transaction other than on the PED itself if the option is still available.
When using the preAuthId approach you will not be able to submit a DELETE/transaction request as axept® PRO will immediately move to the Card Processing screen, leaving little to no time to cancel the request. Ensure that any POST/transaction request being sent using the preAuthId is correct to avoid issue, however in the event of a mistake you can utilise further Top-Up requests and Reversals using partial amounts to correct the authorisedBalance.
DELETE Transaction Request
| Query Parameters | ||
|---|---|---|
| tid | Enum | Your device serial number |
| Header Parameters | ||
| Authorization | String | Bearer 6945595921271780 |
DELETE /POSitiveWebLink/1.1.0/rest/transaction?tid=1853195101
HTTP/1.1
Content-Type: application/json
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 2760fa41-3e4c-410c-9ca6-64e9ba7f5b2a
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
DELETE Transaction Response
Please select one of the below HTTPS response codes:
- 200
- 400
- 403
| HTTP response code | Description |
|---|---|
| 200 | This indicates that axept® PRO has received the request and the Reversal transaction has has been cancelled on the payment device. |
HTTP/1.1 200 Response Not set
Content-Type: application/json
Date: Mon, 8 Sep 2025 15:00:05 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
{
"amountCashback":0,
"amountDiscount":0,
"amountGratuity":0,
"amountTrans":15000,
"cardCaptureMethod":"NOT_CAPTURED",
"cardPan":"****************",
"cardPanSequenceNumber":"-01",
"cardScheme":"DEFAULT",
"cardSchemeId":0,
"cardType":"NONE",
"cvmPinVerified":false,
"cvmSigRequired":false,
"cvmType":"NO_CVM_SET",
"dccResults":{
"dccStatus":"NotAttempted"
},
"errorText":"",
"isDeferred":false,
"merchantId":"82603400147",
"merchantLocation":[
"Address Line 1"
],
"merchantName":"axept® PRO",
"merchantReference":"",
"penniesAmount":0,
"receiptNumber":76,
"retrievalReferenceNumber":"000076490001",
"reversalDetails":{
"approved":false,
"reversalDateTime":"2025-09-08 15:59:58"
},
"softwareVersion":"1.00.58-12189",
"stan":"0",
"terminalId":"03400149",
"transApproved":false,
"transCancelled":true,
"transCurrencyCode":"GBP",
"transCurrencyNum":"826",
"transDateTime":"2025-09-08 15:59:58",
"transDateTimeEpoch":1757343598971,
"transPartiallyApproved":false,
"transType":"REVERSAL",
"uti":"A3D0ED6C-14B5-4761-8958-6D4E9DA48DB2",
"DisplayData":[
{
"value":1,
"description":"Transaction started"
},
{
"value":13,
"description":"GetCard Screen Displayed"
},
{
"value":10,
"description":"Transaction Cancelled"
},
{
"value":97,
"description":"Remote Cancelled"
},
{
"value":10,
"description":"Transaction Cancelled"
},
{
"value":12,
"description":"Transaction Finished"
}
]
}
| HTTP response code | Description |
|---|---|
| 400 | Details would be returned in a text description. Usually returned based on invalid parameters in the request. |
HTTP/1.1 400 Bad input parameter or invalid JSON
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:34:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Bad input parameter or invalid JSON
| HTTP response code | Description |
|---|---|
| 403 | "Not Authorised" The request is not authorised to proceed, check that the Bearer is set to 6945595921271780 and that there are no typos in the bearer token. |
HTTP/1.1 403 Not Authorised
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Not Authorised
Reversal Polling
Once a Reversal request has been successful and the transaction commences on axept® PRO, you can start polling the transaction status and progress using GET/transaction requests with the uti from POST/transaction response (or from the request if you specified the uti in the original request). When a GET/transaction request is executed, you should receive a response from axept® PRO with a valid HTTPS response code and message, upon transaction completion a GET/transaction response should return a 200 HTTPS response code with all the transaction data.
The below shows examples of such responses plus other possible HTTPS response codes you may receive.
GET Transaction Request
| Query Parameters | ||
|---|---|---|
| tid | Enum | Your device serial number |
| uti | Enum | The uti from the current Reversal transaction in progress/completed. |
| Header Parameters | ||
| Authorization | String | Bearer 6945595921271780 |
GET /POSitiveWebLink/1.1.0/rest/transaction?tid=1853195101&uti=1E6BBE19-4B03-4AB9-B1C1-A58F3B40F543
HTTP/1.1
Content-Type: application/json
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 7e302159-0499-4a38-b9bf-f20a21511956
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
GET Transaction Response
Please select one of the below HTTPS response codes:
- 200
- 206
- 400
- 403
- 408
- 500
| HTTP response code | Description |
|---|---|
| 200 | axept® PRO can find a completed transaction that matches the provided criteria. The body of the response will provide the transaction data. |
HTTP/1.1 200
Content-Type: application/json
Date: Mon, 8 Sep 2025 15:05:44 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
{
"amountCashback":0,
"amountDiscount":0,
"amountGratuity":0,
"amountTrans":0,
"cardCaptureMethod":"NOT_CAPTURED",
"cardExpiryDate":"2212",
"cardPan":"************0215",
"cardPanSequenceNumber":"-01",
"cardScheme":"Visa",
"cardSchemeId":11,
"cardToken":"ZEIbQHaygcrkyWvGT5fvh1rTfA1YwWRT0ubtp5ELdqUfMQ==",
"cardType":"NONE",
"cvmPinVerified":false,
"cvmSigRequired":false,
"cvmType":"NO_CVM_SET",
"dccResults":{
"dccStatus":"NotAttempted"
},
"errorText":"",
"isDeferred":false,
"merchantId":"82603400147",
"merchantLocation":[
"Address Line 1"
],
"merchantName":"axept® PRO",
"merchantReference":"",
"merchantTokenId":"ZEIbQHaygcrkyWvGT5fvh1rTfA1YwWRT0ubtp5ELdqUfMQ==",
"paymentId":"40695\/74\/08092025145944802",
"penniesAmount":0,
"preAuthId":"09081459468747",
"receiptNumber":80,
"responseCode":"00",
"retrievalReferenceNumber":"000080490001",
"reversalDetails":{
"approved":true,
"reversalDateTime":"2025-09-08 15:59:44"
},
"shortPaymentId":"40695\/74",
"softwareVersion":"1.00.58-12189",
"stan":"79",
"terminalId":"03400149",
"transApproved":true,
"transCancelled":false,
"transCurrencyCode":"GBP",
"transCurrencyNum":"826",
"transDateTime":"2025-09-08 16:04:39",
"transDateTimeEpoch":1757343879382,
"transPartiallyApproved":false,
"transType":"REVERSAL",
"uti":"1E6BBE19-4B03-4AB9-B1C1-A58F3B40F543",
"DisplayData":[
{
"value":1,
"description":"Transaction started"
},
{
"value":71,
"description":"Processing Transaction"
},
{
"value":17,
"description":"Host Approved"
},
{
"value":2,
"description":"Transaction Approved"
},
{
"value":12,
"description":"Transaction Finished"
}
]
}
| HTTP response code | Description |
|---|---|
| 206 | "Transaction in progress" This indicates that axept® PRO has received the request and the Reversal transaction has started on the payment device. |
HTTP/1.1 206 Transaction in progress
Content-Type: application/json
Date: Fri, 5 Sep 2025 13:55:17 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
{
"DisplayData":[
{
"value":1,
"description":"Transaction started"
},
{
"value":13,
"description":"GetCard Screen Displayed"
}
]
}
| HTTP response code | Description |
|---|---|
| 400 | Details would be returned in a text description. Usually returned based on invalid parameters in the request. |
HTTP/1.1 400 Bad input parameter or invalid JSON
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:34:13 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Bad input parameter or invalid JSON
| HTTP response code | Description |
|---|---|
| 403 | "Not Authorised" The request is not authorised to proceed, check that the Bearer is set to 6945595921271780 and that there are no typos in the bearer token. |
HTTP/1.1 403 Not Authorised
Content-Type: text/plain
Date: Fri, 5 Sep 2025 14:32:08 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Not Authorised
| HTTP response code | Description |
|---|---|
| 408 | "Request timeout" The request has failed to reach axept® PRO and has timed out. |
HTTP/1.1 408 Request timeout
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:41:54 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Request timeout
| HTTP response code | Description |
|---|---|
| 500 | "Internal Server Error" The request encountered an error and was unable to execute correctly. This is usually seen when a transaction request is made whilst a transaction is already in progress. |
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain
Date: Wed, 3 Sep 2025 14:44:26 GMT
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
Access-Control-Allow-Headers: *
Allow: POST, GET, OPTIONS, DELETE
Connection: keep-alive
Content-Encoding: gzip
Transfer-Encoding: chunked
Internal Server Error