Skip to main content

Card Acquisition

Overview and Usage

The Card Acquisition stage is a means of triggering the Pre Authorisation flow in a Semi-attended or Unattended environment, when utilised axept PRO will always be prompting the Present Card screen for an initial transAmount greater than zero. Once a card is presented and if the Card Acquisition returns a HTTPS response code of 200 then the POS can then decide whether to proceed using the cardToken and uti from the successful response or whether to not proceed.

IMPORTANT NOTE

This entire stage is optional and is not required to carry out a Pre Authorisation using the Simplified Flow, this stage is only required if you are wanting to utilise the Card Acquisition Pre Auth Flow, i.e. you are wanting to use Pre Authorisation in a Semi-attended or Unattended environment, or if wanting to accept MiFare Cards (see below).

best practice

If you wish to accept MiFare cards, this flow becomes MANDATORY as MiFare cards can only be captured during Card Acquisition.

This section will show you how to enter Card Acquisition mode, and poll for the status of Card Acquisition. Proceeding ahead is made via the Transaction Request URI in the Initiate Pre Authorisation section. It is assumed you'll be heading to Initiate Pre Authorisation knowing whether you wish to initiate a transaction or cancel the Card Acquisition process.

CardAcquisition Only


Card Acquisition Request

The Card Acquisition process starts with a POST/cardAquisition request to axept PRO, this will trigger the Present Card screen to display until either the screen times out (usually after 120 seconds by default) or until a card is presented. During this time the POS system should be polling a GET/cardAcquisition request until it detects the timed out request or until a cardToken is returned, indicating that a card was presented successfully.

best practice

If you are wanting axept PRO to be constantly requesting a Card Acquisition between card presentations then it is advised to utilise the GET/cardAcquition request moreso, if the GET request detects the screen has timed out then you could automate your POS to automatically trigger another POST/cardAcquisition request straight away.

further reading

We cover the Card Acquisition polling in the next section of this page.

POST Card Acquisition Request
Query Parameters
tidEnumYour device serial number
Header Parameters
AuthorizationStringBearer 6945595921271780
Body Parameters
amountTransInteger"amountTrans":500
POST /POSitiveWebLink/1.2.0/rest/cardAcquisition?tid=1853195101

HTTP/1.1
Content-Type: application/json
disablePrinting: true
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.26.8
Accept: */*
Host: 192.168.0.75:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 127

{
"amountTrans": 500
}
POST Card Acquisition Response

Please select one of the below HTTPS Response Codes:

HTTP Response CodeDescription
201"Transaction Created"
This indicates that axept® PRO has received the request and the Card Acquisition process has started on the payment device.
HTTP/1.1 201 Transaction Created
Content-Type: application/json
Date: Wed, 3 Sep 2025 14:44:25 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

{
"amountTrans":500,
"uti":"419C6D76-EB3A-447B-9E22-5940F4B2B974"
}


Polling Card Acquisition Request

Polling for the status of a Card Acquisition can commence once a successful POST/cardAcquisition response has been received, this is done via a GET/cardAcquisition response containing the uti from the POST response (or request if the POS is generating the uti) within the query. This is how to determine when a card has been presented to axept® PRO and an offline cardToken generated, or if the POST request has timed out.

When a GET/CardAcquisition request is executed, you should receive a response from axept® PRO with a valid HTTPS response code and message. Upon Card Acquisition completion a GET response should return a 200 HTTPS response code with card data (including the offline cardToken).

GET Card Acquisition Request
Query Parameters
tidEnumYour device serial number
utiEnumThe uti from the current Pre Authorisation transaction in progress/completed.
Header Parameters
AuthorizationStringBearer 6945595921271780
GET /POSitiveWebLink/1.1.0/rest/cardAcquisition?tid=1853195101&uti=B6A54EA1-967E-403D-A432-8015C7554751

HTTP/1.1
Content-Type: application/json
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 927bdc55-8790-4daf-ad89-0ef3794daf7e
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
GET Card Acquisition Response
Please select one of the below HTTPS response codes:
HTTP response codeDescription
206"Transaction in progress"
This indicates that axept® PRO has received the request and the Card Acquisition has started on the payment device. Session statues will be returned as an array of objects in the body.
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"
}
]
}

best practice

You can use the HTTP response code to determine whether or not axept® PRO is still waiting for a card to be presented. Whilst a 206 is being returned in each GET/cardAcquisition response you will know that a card has not yet been presented and read.

Once a GET/cardAcquisition request has returned a 200 HTTPS response code the Card Acquisition is considered complete and axept® PRO will stay in a Please Wait state until the integrated client determines what to do next:

  • Proceed with a Pre Authorisation POST/transaction request.
  • Perform a Cancel via a DELETE/transaction request.
further reading

We cover how to initiate a Pre Authorisation in the next chapter here

Please read on for how to cancel Card Acquisition requests correctly.


Cancel Card Acquisition Request

You can cancel a Card Acquisition at any time during the request process or even after an acquisition was successful, the approach for both is to use a DELETE request but the end points will be different depending on whether you are cancelling during or after the Card Acquisition process.

  • If you want to cancel and the response you are getting from a GET/cardAcquisition request is 206 then you need to run a DELETE/cardAcquisition request.
  • If you want to cancel and the response you are getting from a GET/cardAcquisition request is 200 then you need to run a DELETE/transaction request.
best practice

When a Card Acquisition has returned a 200 HTTPS response code it is best to treat it as a completed transaction from this point when it comes to how you handle DELETE requests. When cancelling a successful Card Acquisition you must use a DELETE/transaction request with the uti from the original POST/cardAcquisition request. DELETE/cardAcqusition requests are only meant for Card Acquisitions that are returning a 206 HTTPS response code.

Cancelling During Acquisition

DELETE Card Acquisition Request
Query Parameters
tidEnumYour device serial number
Header Parameters
AuthorizationStringBearer 6945595921271780
DELETE /POSitiveWebLink/1.1.0/rest/cardAcquisition?tid=1853195101

HTTP/1.1
Content-Type: application/json
Authorization: Bearer 6945595921271780
User-Agent: PostmanRuntime/7.45.0
Accept: */*
Postman-Token: 927bdc55-8790-4daf-ad89-0ef3794daf7e
Host: 192.168.0.201:8080
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
DELETE Card Acquisition Response
Please select one of the below HTTPS response codes:
HTTP response codeDescription
200axept® PRO successfully completed the cancellation request.
HTTP/1.1 200
Content-Type: application/json
Date: Fri, 5 Sep 2025 14:42:16 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

{
"cardPan":"****************",
"cardScheme":"DEFAULT",
"cardType":"NONE",
"errorCode":"",
"errorText":"",
"softwareVersion":"1.00.59-12218",
"uti":"60FE8442-216C-431F-8741-D756F5556930",
"DisplayData":[
{
"value":1,
"description":"Transaction started"
},
{
"value":13,
"description":"GetCard Screen Displayed"
},
{
"value":97,
"description":"Remote Cancelled"
},
{
"value":10,
"description":"Transaction Cancelled"
}
]
}

Cancelling After Acquisition

DELETE Transaction Request
Query Parameters
tidEnumYour device serial number
Header Parameters
AuthorizationStringBearer 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: 927bdc55-8790-4daf-ad89-0ef3794daf7e
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:
HTTP response codeDescription
200axept® PRO successfully completed the cancellation request.
HTTP/1.1 200
Content-Type: application/json
Date: Fri, 5 Sep 2025 14:42:16 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

{
"cardPan":"****************",
"cardScheme":"DEFAULT",
"cardType":"NONE",
"errorCode":"",
"errorText":"",
"softwareVersion":"1.00.59-12218",
"uti":"60FE8442-216C-431F-8741-D756F5556930",
"DisplayData":[
{
"value":1,
"description":"Transaction started"
},
{
"value":13,
"description":"GetCard Screen Displayed"
},
{
"value":97,
"description":"Remote Cancelled"
},
{
"value":10,
"description":"Transaction Cancelled"
}
]
}