Get Card Data

Dedicated message to read card identification data including loyalty ID;

There is no dedicated parameters to call this function;

Perform SaleToPOIRequest

Below you will find a description of the SaleToPOIRequest message, which is used to initiate a payment transaction from an Electronic Cash Register system.

Request MessageHeader

Elements

Required

Description

ProtocolVersion

Yes

3.1

MessageClass

Yes

Service

MessageCategory

Yes

CardAcquisition

MessageType

Yes

Request

ServiceID

Yes

Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (POIID) being used.

SaleID

Yes

identifier of the ECR initiating the request (e.g., ECR001")

POIID

Yes

identifier of the Terminal receiving the request (e.g., 456)

Request body

Elements

Attributes

Required

Description

CardAcquisitionRequest

SaleData

SaleTransactionID

TransactionID

Yes

your reference to identify a payment. We recommend using a unique value per payment

TimeStamp

Yes

date and time of the request in UTC ISO format, e.g., 2025-03-03T10:39:59Z

CardAcquisitionTransaction

Example of SaleToPOIRequest

<?xml version="3.1" encoding="UTF-8"?>
<SaleToPOIRequest xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<MessageHeader MessageClass="Service" MessageCategory="CardAcquisition" MessageType="Request" ServiceID="3915" SaleID="ECR001" POIID="456"></MessageHeader>
	<CardAcquisitionRequest>
		<SaleData>
			<SaleTransactionID TransactionID="acq-3915" TimeStamp="2025-03-29T12:43:19Z"></SaleTransactionID>
		</SaleData>
		<CardAcquisitionTransaction></CardAcquisitionTransaction>
	</CardAcquisitionRequest>
</SaleToPOIRequest>

Receive SaleToPOIResponse

Example of SaleToPOIResponse

<SaleToPOIResponse>
   <CardAcquisitionResponse>
      <MarketpayPaymentExtensions ApplicationID="A0000000041010" BankID="513640" PANSequenceNumber="01">
         <CardAcquisitionReference TimeStamp="2025-03-29T13:43:18.6+01:00" TransactionID="4"/>
      </MarketpayPaymentExtensions>
      <PaymentInstrumentData PaymentInstrumentType="Card">
         <CardData EntryMode="Contactless" MaskedPAN="XXXXXXXXXXXX7462"/>
      </PaymentInstrumentData>
      <POIData>
         <POITransactionID TimeStamp="2025-03-29T13:43:18.6+01:00" TransactionID="4"/>
      </POIData>
      <Response Result="Success">
         <AdditionalResponse>PFJlc3BvbnNlPgogICA8RGVzY3JpcHRpb24+R2VuZXJhdGlvbiBpcyBmb3JiaWRkZW4gYnkgY29uZmlndXJhdGlvbjwvRGVzY3JpcHRpb24+CiAgIDxMb3lhbHR5RXJyb3JGbGFnPmZhbHNlPC9Mb3lhbHR5RXJyb3JGbGFnPgo8L1Jlc3BvbnNlPg==</AdditionalResponse>
      </Response>
      <SaleData>
         <SaleTransactionID TimeStamp="2025-03-29T12:43:19Z" TransactionID="acq-3915"/>
      </SaleData>
   </CardAcquisitionResponse>
   <MessageHeader MessageCategory="CardAcquisition" MessageClass="Service" MessageType="Response" POIID="456" ProtocolVersion="3.1" SaleID="ECR001" ServiceID="3915"/>
</SaleToPOIResponse>

Example of intermediate Status message (Waiting for card)

<SaleToPOIRequest>
   <DisplayRequest>
      <DisplayOutput Device="CashierDisplay" InfoQualify="Status" ResponseRequiredFlag="false">
         <OutputContent OutputFormat="MessageRef">
            <OutputText>WaitingForCard</OutputText>
            <PredefinedContent ReferenceID="1"/>
         </OutputContent>
      </DisplayOutput>
   </DisplayRequest>
   <MessageHeader MessageCategory="Display" MessageClass="Service" MessageType="Request" POIID="456" ProtocolVersion="3.1" SaleID="ECR001" ServiceID="3915"/>
</SaleToPOIRequest>

Get Card Data response

Object

Description

CardData

extractedPan

Contains partial PAN number in format: e.g. : “5311110000000234”

panSequenceNumber

PSN identifies and differentiates cards with the same PAN.

bankId

Bank Identification Number. Based on ISO/IEC 7812, issuer identifier number (IIN). Identifies the financial institution that issued the card.

loyaltyId

Loyalty account identification if detected during card reading. Otherwise, the value is null.

loyaltyErrorFlag

Tells if obtaining loyalty id passed with success or an error occurred. The value is set to:

  • false when loyalty passed with success, no error. If field loyaltyId is NULL, it means that there is no loyalty id.

  • true when loyalty id scanning failed.

applicationId

AID of the card used, defined by ISO/IEC 7816-5. It may be null.

EntryMode

Describes how the card has been read.