Capture non PCI card details.

post

/card_swipe

The CardSwipe command is provided by EFTlink to allow the POS to request a read of the card PAN for store handled cards e.g. operator sign-on cards, discount cards, gift cards and loyalty cards etc. This feature is especially relevant as the POS hardware moved towards not including it's own MSR. Most, but not all payment systems provide an equivalent function. The majority of payment systems that do, have a white-list for the non-PCI cards such that PCI card PANs are either partially masked when returned to EFTlink, or not returned at all. There are a number of payment systems that do not mask the PAN of PCI cards hence EFTlink itself limits the exposure of PCI data to the POS by a partially masking and card data in messages to the POS and EFTlink logs. EFTlink maintains a whitelist of its own to allow store / POS handled cards to be passed through unmasked. The whitelist is held in the card range XML file, and can be modified by Development. Usually a CardSwipe command will time out after a configurable period e.g. 2 minutes, however some implementations have required to leave the terminal armed for a card read for longer / indefinite period of time. If this is not possible from a payment terminal's perspective, then a new read will need to be issued after each timeout but this inevitably has consequences to the payment terminal's display - which will briefly switch out of 'insert / swipe card' mode every few minutes.

Request

There are no request parameters for this operation.

Back to Top

Response

200 Response

Success

400 Response

Invalid parameters have been passed in

401 Response

Not authorized.

500 Response

Invalid request.
Back to Top

Examples

Example of the Request Body

The following example shows the contents of the Request Body in JSON format:

{
          "links": [{
               "href": "wss://localhost:{port}/card_swipe",
               "method": "post",
               "rel": "self"
          }], 
            {
            "POSdata": {
                "TransactionNumber": "217",
                "LanguageCode": "eng",
                "StoreID": "101"
            },
            "TotalAmount": {
                  "Currency": "GBP",
                  "text": "10.00"
             },
             "PaymentProviderName": "",
             "ApplicationSender": "XSTORE",
             "WorkstationID": "1",
             }
 }

Example of the Response Body

The following example shows the contents of the response body in JSON format:

{
	    Terminal":
      {
              "TerminalID":"0"
      },
      "Tender":
      {
             "TotalAmount":{},
             "Authorization":
             {
                   "CardType":"80",
                   "EntryMode":"2",
                   "CardPAN":"492949******0002",
                   "ExpiryDate":"1299"
             },
             "CardValue":
             {
                  "ICC":{},
                  "CardPAN":"492949******0002",
                  "EndDate":"1299",
                  "CardCircuit":"SVC",
                  "Category":"0",
                  "TransactionReference":"1299",
                  "CardType":"80",
                  "EntryMode":"1"
             },
             "PaymentProviderName":"oracle.eftlink.opiretail.OPIRetailCore",
             "RequestType":"9",
             "ApplicationSender":"XSTORE",
             "WorkstationID":"1",
             "RequestID":"5",
             "OverallResult":"Success",
             "Success":"true"
}
Back to Top