Adyen Terminal

Adyen Terminal

The Adyen Terminal API lets you make payments, issue refunds, collect shopper information, and perform other shopper-device interactions using a payment terminal supplied by Adyen. The Terminal API is also used for transactions in Adyen Mobile solutions.

API structure

The architecture of Terminal API is determined by the nexo Sale to POI Protocol Specifications.

A Terminal API request is a JSON message consisting of a SaleToPOIRequest object with:

A Terminal API response is a JSON message consisting of a SaletoPOIResponsewith:

Sending and receiving

In an integration with Ayden payment terminals, you can send and receive Terminal API messages in the following ways:

Using local communications

To learn how to set up and protect local communications, refer to Building a local integration.

Endpoints for cloud communications

If your POS system is cloud-based, you POST your Terminal API requests to a Cloud device API endpoint, using path and query parameters to identify the device that you want to send the request to.

Test endpoints

Live endpoints

The live endpoints differ per region. In addition to using a regional endpoint, you must select the geographically closest data center in your live Customer Area.

Australia

East Asia

Europe

United States

Old endpoints

If you currently use endpoints with a base URL that includes terminal-api, we strongly recommend migrating to Cloud device API endpoints, for the following reasons:

There will be no future development on the old endpoints, but we continue to support them.

Old test endpoints:

Old live endpoints Australia:

Old live endpoints East Asia:

Old live endpoints Europe:

Old live endpoints United States:

Authentication for cloud communications

Each request to a Cloud device API endpoint must be signed with an API key that has the Cloud Device API role. Generate your API Key in the Customer Area and set this key to the X-API-Key header value of the Cloud device API request.

When going live, generate a new API key in the live Customer Area.

Available Terminal API requests

Operations

Abort Request
Admin Request
BalanceInquiry Request
CardAcquisition Request
CardReaderAPDU Request
Diagnosis Request
Display Request
EnableService Request
GetTotals Request
Input Request
Login Request
Logout Request
Payment Request
Print Request
Reconciliation Request
Reversal Request
StoredValue Request
TransactionStatus Request