Loyalty and card acquisition

Read the card first to look up loyalty, identify or onboard customers, or apply host limits, then pay with a single tap.

Integrate your ECR · Add optional features

A CardAcquisition request reads the card before the payment. Use it to look up loyalty members, sign up new ones, check limits from the host, or identify the customer, and then pay without the customer tapping again.

Build loyalty in your ECR

With Aera ID lookup, the card acquisition also tells you whether the card belongs to a loyalty member. Build the loyalty flow with these guides, in this order:

RequirementDescription
Set-upThe merchant has ID lookup, and Aera has turned it on for the terminals. See Set up ID lookup
Before you startYour ECR is connected and logged in. See Connect your ECR
MessagesCardAcquisition · Payment · EnableService · Input
Loyalty programThe merchant's loyalty program finishes sign-ups and keeps cards up to date. That's not ECR work. See Loyalty and ID lookup for who does what

Card acquisition use cases

What you put in the CardAcquisition request, and what you do next, depends on the use case:

Use caseIn the CardAcquisition requestNext step
Look up loyalty, then payTotalAmount, and PaymentType = NormalPayment that refers to the card acquisition. The customer taps only once. See Recognise members at checkout
Pay with cashbackTotalAmount, AeCashBackAmount, and PaymentType = NormalPayment with cashback. See Cash services
RefundTotalAmount, and PaymentType = RefundPayment with PaymentType = Refund
Identify the customerNo amount, no PaymentTypeNothing to pay: abort with EnableService
Onboard the customer to loyaltyDepends on whether a payment followsAsk for the mobile number with Input, then pay or abort. See Enrol members at the terminal
Check a gift card balanceNo amount, no PaymentTypeBalanceInquiry. A card acquisition first is optional. See Gift cards

Rules for every card acquisition

❗️

Always finish or abort

If no Payment or BalanceInquiry follows the card acquisition, send EnableService with AbortTransaction. Otherwise the card processing isn't ended and the card isn't released from the reader.

🚧

Don't pay after an abort

If the card acquisition was aborted before the card was read (STOP pressed, timeout or Abort from the ECR), the response has ErrorCondition = Aborted. Don't send the payment automatically: the cashier or customer wanted to stop.

Pay after a card acquisition

Send Payment with a reference to the card acquisition: copy POITransactionID from the CardAcquisition response into CardAcquisitionReference. The amount must not be higher than in the CardAcquisition request. The customer doesn't tap again.

Limits from the host

The CardAcquisition response can carry limits from the host in AeHostToSaleData:

  • MaxAmount: the highest gross amount allowed for this purchase.
  • ProductGroupsAllowed: the product groups the customer may buy.

Adjust the basket before you send the Payment. Ignore any structure in AeHostToSaleData that your ECR doesn't know. See Currently supported keys.

Next

Start with Recognise members at checkout, or go back to Add optional features.


Did this page help you?