Adyen offers two server-side flows for building your integration: the Sessions flow and the Advanced flow. This page explains the difference so you can choose the right one. There is also a middle option, the Sessions flow with additional methods.
Sessions flow
The Sessions flow is the default integration that Adyen recommends, and it meets the requirements for most online payments integrations. Your server makes a single Checkout API request to the /sessions endpoint. Adyen sends the payment data from its server to your client-side application, where Drop-in or a Component handles redirects and additional actions such as 3D Secure.
Lightest integration effort.
One request from your server.
Redirects and additional actions are handled client-side.
POST /v71/sessions
X-API-Key: YOUR_API_KEY
{
"merchantAccount": "YOUR_MERCHANT_ACCOUNT",
"amount": { "currency": "USD", "value": 1000 },
"reference": "ORDER-12345",
"returnUrl": "https://your-site.com/checkout/return",
"store": "YOUR_STORE_ID"
}
Advanced flow
The Advanced flow gives you more control and supports more use cases. Your server makes three Checkout API requests: /paymentMethods, /payments, and /payments/details. Adyen sends the payment data from its server to your server, so you can confirm redirects and additional actions server-side.
Use the Advanced flow when you need to:
Update the payment amount before making a payment, for example when the shopper changes their cart.
Implement Apple Pay and Google Pay express checkout.
Change the order of payment methods for an individual transaction.
Insert a separate page for the shopper to agree to terms and conditions before paying.
Sessions flow with additional methods
This is the middle option. You keep the single /sessions request, but use additional client-side methods that send requests from your server to /payments and /payments/details, so you get the responses on your server. This adds server-side handling of redirects and additional actions, and lets you update the payment amount before making a payment, without moving to the full Advanced flow.
Comparison
Feature | Sessions flow | Sessions flow with additional methods | Advanced flow |
Integration effort | Light | Medium | Medium |
Server-side requests | 1 | 2 or 3 | 3 |
Handling redirects | Client-side | Client-side and server-side | Client-side and server-side |
Handling additional actions | Client-side | Client-side and server-side | Client-side and server-side |
Which should you use
Start with the Sessions flow. It covers most integrations with the least effort.
Choose the Sessions flow with additional methods if you need to update the amount before payment or confirm redirects and actions on your server, but want to keep a single session request.
Choose the Advanced flow when you need express checkout for Apple Pay or Google Pay, want to reorder payment methods per transaction, or need an extra step such as terms and conditions before payment.
