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:
| Requirement | Description |
|---|---|
| Set-up | The merchant has ID lookup, and Aera has turned it on for the terminals. See Set up ID lookup |
| Before you start | Your ECR is connected and logged in. See Connect your ECR |
| Messages | CardAcquisition · Payment · EnableService · Input |
| Loyalty program | The 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 case | In the CardAcquisition request | Next step |
|---|---|---|
| Look up loyalty, then pay | TotalAmount, and PaymentType = Normal | Payment that refers to the card acquisition. The customer taps only once. See Recognise members at checkout |
| Pay with cashback | TotalAmount, AeCashBackAmount, and PaymentType = Normal | Payment with cashback. See Cash services |
| Refund | TotalAmount, and PaymentType = Refund | Payment with PaymentType = Refund |
| Identify the customer | No amount, no PaymentType | Nothing to pay: abort with EnableService |
| Onboard the customer to loyalty | Depends on whether a payment follows | Ask for the mobile number with Input, then pay or abort. See Enrol members at the terminal |
| Check a gift card balance | No amount, no PaymentType | BalanceInquiry. A card acquisition first is optional. See Gift cards |
Rules for every card acquisition
Always finish or abortIf 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 abortIf 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.
Updated 6 days ago