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 | 3.1 | |
MessageClass | Service | |
MessageCategory | CardAcquisition | |
MessageType | Request | |
ServiceID | 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 | identifier of the ECR initiating the request (e.g., ECR001") | |
POIID | identifier of the Terminal receiving the request (e.g., 456) |
Request body
Elements | Attributes | Required | Description |
---|---|---|---|
CardAcquisitionRequest | |||
SaleData | |||
SaleTransactionID | |||
TransactionID | your reference to identify a payment. We recommend using a unique value per payment | ||
TimeStamp | 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:
| |
applicationId | AID of the card used, defined by ISO/IEC 7816-5. It may be null. | |
EntryMode | Describes how the card has been read. |