You can use Adyen payment terminals to read your own custom cards, such as employee benefit cards, and send the data to your POS system. You can then process transactions with that card through the issuer of your custom cards.
Requirements
Before you begin, take into account the following requirements, limitations, and preparations.
| Requirement | Description |
|---|---|
| Integration type | A Terminal API integration with payment terminals. |
| Limitations | Only custom cards with a magnetic stripe are supported. |
| Setup steps | Before you begin, ask our Support Team to enable reading custom cards on your Adyen payment terminals. |
How it works
- You make a card acquisition request.
- On the terminal, the shopper swipes the card.
The only entry method for custom cards is Swipe.
- You receive the card data in the card acquisition response.
- You pass the data from the card acquisition response to the card issuer.
- You send an enable service request to stop the card acquisition flow on the terminal.
Make a card acquisition request
To read the custom card:
-
Make a Terminal API card acquisition request, specifying:
-
The standard
SaleToPOIRequest.MessageHeaderobject, withMessageClassset to Service andMessageCategoryset to CardAcquisition.Parameter Required Description ProtocolVersion
3.0 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
Your unique ID for the POS system component to send this request from. POIID
The unique ID of the terminal to send this request to. Format: [device model]-[serial number].
-
The CardAcquisitionRequest object with:
Parameter Required Description SaleData.SaleTransactionID
An object with: TransactionID: your reference to identify a payment. We recommend using a unique value per payment.TimeStamp: date and time of the request in UTC format.
SaleData.TokenRequestedTypeCustomer. Returns the card alias in the TokenValuefield of the response. Note that the card alias is always returned in theAdditionalResponse.CardAcquisitionTransaction
A required object that can be empty or contain: TotalAmount(optional): The transaction amount. It is allowed to omit this parameter or to specify an initial placeholder amount.
-
-
When the card acquisition succeeds, you receive a CardAcquisitionResponse with message=CARD_ACQ_COMPLETED inside
Response.AdditionalResponse. From thePaymentInstrumentData.CardData.SensitiveCardDataobject, save:PAN: The value that uniquely identifies the shopper's card, for example 88154351166602100.TrackData.TrackNumb: The number on the track on the Magstripe that holds the encoded data. The vaalue can be 1, 2, or 3.TrackData.TrackValue: The raw value of the Magstripe track information, with the Sentinel values.
Complete the card acquisition
The card acquisition loading screen will continue to show until it times out. To free up the terminal to process other transactions, you need to make an enable service request. This stops the loading screen and the terminal discards the card data.
-
Make a Terminal API enable service request, specifying:
-
The standard
SaleToPOIRequest.MessageHeaderobject, withMessageClassset to Service andMessageCategoryset to EnableService.Parameter Required Description ProtocolVersion
3.0 MessageClass
Service MessageCategory
EnableService 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
Your unique ID for the POS system component to send this request from. POIID
The unique ID of the terminal to send this request to. Format: [device model]-[serial number].
-
The EnableServiceRequest object with:
Parameter Required Description TransactionAction
AbortTransaction. DisplayOutputOptional object to show your own message and an 'Approved' icon (green check mark) or a 'Declined' icon (red cross).
The next example is the basic request, without
DisplayOutputobject, to end the card acquisition flow with a cancellation. The terminal will show Canceled, a red cross
, and Transaction canceled. You can also choose a custom message on the payment terminal display. -