To communicate with the Adyen API you should submit HTTP POST requests to corresponding endpoints. These endpoints differ for test and live accounts, and also depend on the data format (SOAP, JSON, or FORM) you use to submit data to the Adyen payments platform.
The live endpoints are set up automatically. To view your live endpoints:
- Log in to your live Customer Area.
- Go to Developers > API URLs.
On the API URLs and Response page, you can see the configured data centres and prefixes for your company account.
If you need to connect to a certain data center of the Adyen payments platform (for example, US or AU data centers), you can also set up location-based live endpoints. To use location-based live endpoints, contact our Support Team.
Live endpoints structure
The table below shows the structure of test and live endpoints.
Checkout API endpoints
Test | https://checkout-test.adyen.com/[version]/[method] |
Live | https://[prefix]-checkout-live.adyenpayments.com/checkout/[version]/[method] |
Classic Payments API endpoints
Test | https://pal-test.adyen.com/pal/servlet/Payment/[version]/[method] |
Live | https://[prefix]-pal-live.adyenpayments.com/pal/servlet/Payment/[version]/[method] |
In the live endpoint examples:
[version]
– The version number, always starting with "v" (for example, v52). To learn more about API versioning for classic and new APIs, see Versioning.[method]
– The endpoint name.[prefix]
– A string composed of a hex-encoded random part and your company name. Get the prefix from your live Customer Area under Developers > API URLs > Prefix.
Each company account is provided with a unique hostname to communicate with Adyen's APIs. By connecting to this merchant-specific hostname, Adyen has more control over the routing of transactions. This allows Adyen to improve service robustness and availability for our merchants.
By default all transactions for a merchant-specific endpoint are routed to the same infrastructure as the standard endpoint, however in case of an infrastructure problem on the standard endpoint, especially if the cause is outside of Adyen's scope of control, alternative routing can be enabled to backup infrastructure and new infrastructure can be provisioned on demand.
Client-side resources for Web Drop-in/Components
We recommend that you load the client-side resources for Web Drop-in/Components through the Adyen Web npm package.
Alternatively, you can embed the Adyen Web script and stylesheet into your HTML file. When embedding the script and stylesheet, make sure you use a region-specific URL that matches the region of your live endpoints. In the following examples, version
refers to the Adyen Web version number (for example, 6.0.0).
Your live endpoint region must match your client-side environment region.
Get the region-specific URL from your live Customer Area under Developers > API URLs > URLs & Regions.
Client-side environment region
When you go live, you set the environment
from which you load Drop-in/Components. The environment
values are different for Web, iOS, and Android:
India local acquiring
If you are processing transactions via local acquiring in India, read the Payments India compliance guide for the correct URLs.
Subresource Integrity hashes
We recommend that you implement Subresource Integrity (SRI) to ensure that the files you are loading from Adyen have not been manipulated or tampered with by malicious actors.
To use the SRI hash, you need to add an integrity
attribute when specifying <script>
or <link>
elements. Browsers will also check for the crossorigin
attribute to ensure that the origin allows Cross-Origin Resource Sharing (CORS). If a browser detects that the file's hash does not match the specified hash, the browser will not load the resource. To know which browsers support SRI, refer to this browser compatibility list.
Adyen provides the SRI hash that you include as the integrity attribute. You can find the SRI hashes for all versions of our JavaScript and CSS files in our release notes, under Updating to this version.
For example, here is how you specify version 4.2.0 adyen.js
and adyen.css
resources:
<script src="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.0/adyen.js"
integrity="sha384-SGA+BK9i1sG5N4BTCgRH6EGbopUK8WG/azn/TeIHYeBEXmEaB+NT+410Z9b1ii7Z"
crossorigin="anonymous"></script>
<link rel="stylesheet"
href="https://checkoutshopper-live.adyen.com/checkoutshopper/sdk/4.2.0/adyen.css"
integrity="sha384-oT6lIQpTr+nOu+yFBPn8mSMkNQID9wuEoTw8lmg2bcrFoDu/Ae8DhJVj+T5cUmsM"
crossorigin="anonymous">
Live URL prefix
When using our libraries or plugins for live transactions, you need to pass the prefix for the live URL.
Get the prefix from your live Customer Area under Developers > API URLs > Prefix.
For example, if this was your prefix for your live URL:
- 1797a841fbb37ca7-AdyenDemo
Then your live URL for the /payments
endpoint on Checkout API v69 would be:
- https://1797a841fbb37ca7-AdyenDemo-checkout-live.adyenpayments.com/checkout/v69/payments
Maximum Transmission Unit (MTU)
We strongly recommend setting the Maximum Transmission Unit (MTU) to 1500 bytes on the network interfaces connecting to Adyen endpoints. The MTU defines the maximum permissible size of the packets passing through the interface. As most of the public internet assumes a maximum packet size of 1500 bytes, configuring the MTU to larger values can lead to connectivity and stability issues.
Connection keepalive
You can keep your connections to Adyen endpoints open for longer so you can continue to send or receive data as part of the same TCP session.
You can do this in your client-side software by enabling TCP keepalive and HTTP keepalive for HTTP connections.
Make sure to enable both TCP keepalive and HTTP keepalive for HTTP connections to avoid connection errors.
Timeouts
Adyen endpoints have a 60-second time-out for inactive HTTP connections with keepalive enabled. If no new data is transmitted within 60 seconds of the TCP session, we initiate closing the TCP connection.
To prevent connection issues, we recommend you set the client-side HTTP keepalive timeout to be shorter than 60 seconds, for example between 30 and 50 seconds.