Adyen is a global payment platform founded in 2006 in Amsterdam, Netherlands. The company provides payment processing solutions for merchants worldwide, serving major clients like Spotify, Uber, and eBay. The platform supports card payments with advanced features like delayed capture, partial refunds, network tokenization, and digital wallet integration across multiple currencies and countries.
Setup
Please follow the common Adyen instructions to get set up with Adyen.
After you set up your Adyen account, configure the following settings in the developer area so you can use all features.
Go to Developers -> Additional data in the Adyen dashboard and then make sure the following fields are selected:
- Recurring Details
- Raw acquirer result
- Payment account reference
Connector configuration
After setting up your Adyen connector in the dashboard, configure how transactions are routed to it. Choose one of the following options:
- Using Flow - Configure Adyen as the target connector in Flow to automatically route card transactions to this connector
- Using the API - Explicitly set the
payment_service_id parameter to the Adyen connector ID when creating transactions. This overrides any Flow routing rules.
The connector ID can be found in the dashboard under Connections -> Configured connections.
Features
Adyen supports the following features:
- Delayed capture - Authorize a payment and capture it at a later time
- Partial capture - Capture a portion of the authorized amount
- Partial refunds - Refund a portion of the captured amount
- Void - Cancel an authorized transaction before capture
- Zero auth - Verify a card without charging it
- Digital wallets - Support for Apple Pay, Google Pay, and other digital wallet integrations
- Network tokens - Using network-level tokenization for enhanced security and approval rates
- 3-D Secure - Support for both hosted and pass-through 3DS authentication
Supported countries
Adyen supports transactions from buyers in the following countries:
| Country code | Country code | Country code | Country code | Country code | Country code | Country code | Country code |
|---|
AE | AL | AM | AO | AR | AT | AU | AW |
AZ | BA | BB | BD | BE | BG | BH | BM |
BN | BO | BR | BS | BW | BY | BZ | CA |
CH | CN | CO | CR | CU | CY | CZ | DE |
DJ | DK | DO | DZ | EE | EG | ES | ET |
FI | FJ | FK | FR | GB | GE | GH | GI |
GM | GN | GR | GT | GY | HK | HN | HR |
HT | HU | IE | IL | IN | IQ | IS | IT |
JM | JO | JP | KE | KG | KH | KM | KR |
KW | KY | KZ | LA | LB | LK | LT | LU |
LV | LY | MA | MD | MK | MM | MN | MO |
MR | MT | MU | MV | MW | MX | MY | MZ |
NA | NG | NI | NL | NO | NP | NZ | OM |
PA | PE | PG | PH | PK | PL | PT | PY |
QA | RO | RS | RU | RW | SA | SB | SC |
SE | SG | SH | SI | SK | SL | SO | SR |
ST | SV | SZ | TH | TN | TO | TR | TT |
TW | TZ | UA | UG | US | UY | UZ | VE |
VN | VU | WS | YE | ZA | ZM | | |
Supported currencies
Adyen supports processing payments in the following currencies:
| Currency code | Currency code | Currency code | Currency code | Currency code | Currency code | Currency code | Currency code | Currency code | Currency code |
|---|
AED | ALL | AMD | AOA | ARS | AUD | AWG | AZN | BAM | BBD |
BDT | BGN | BHD | BMD | BND | BOB | BRL | BSD | BWP | BYN |
BZD | CAD | CHF | CNY | COP | CRC | CUP | CZK | DJF | DKK |
DOP | DZD | EGP | ETB | EUR | FJD | FKP | GBP | GEL | GHS |
GIP | GMD | GNF | GTQ | GYD | HKD | HNL | HTG | HUF | ILS |
INR | IQD | JMD | JOD | JPY | KES | KGS | KHR | KMF | KRW |
KWD | KYD | KZT | LAK | LBP | LKR | LYD | MAD | MDL | MKD |
MMK | MNT | MOP | MRU | MUR | MVR | MWK | MXN | MYR | MZN |
NAD | NGN | NIO | NOK | NPR | NZD | OMR | PAB | PEN | PGK |
PHP | PKR | PLN | PYG | QAR | RON | RSD | RUB | RWF | SAR |
SBD | SCR | SEK | SGD | SHP | SLE | SOS | SRD | STN | SVC |
SZL | THB | TND | TOP | TRY | TTD | TWD | TZS | UAH | UGX |
USD | UYU | UZS | VND | VUV | WST | XAF | XCD | XCG | XOF |
XPF | YER | ZAR | ZMW | | | | | | |
Limitations
The following features are not supported by this connector:
- Payment method tokenization - Storing payment methods outside of transactions using a separate tokenization flow
Integration
To accept card payments with Adyen, use one of Gr4vy’s client-side integration methods to securely collect card details. Due to PCI compliance requirements, card data should never be sent directly to your servers.
You can integrate using:
- Embed - A pre-built, customizable payment form that handles the complete payment flow
- Secure Fields - Embed card input fields for building custom payment forms while maintaining PCI compliance
- Mobile SDKs - Native SDKs for iOS, Android, React Native, and other platforms
These methods handle card data collection and tokenization. Once the card details are collected and tokenized, create a transaction through the Gr4vy API, which automatically routes the payment to your configured Adyen connection based on your Flow rules or explicit payment_service_id parameter.
Auto-rescue
Adyen’s auto-rescue feature is supported
by this connector. This feature automatically retries customer-not-present card transactions
when they are declined on the first request.
To enable this feature, pass in the following connection options for Adyen when making a subsequent payment request.
POST /transactions
{
"amount": 1299,
"country": "US",
"currency": "USD",
"intent": "capture",
"payment_method": {
"method": "id",
"id": "7f6fb9ca-eb1c-42c6-9b65-8f1c699b84bd"
},
"connection_options": {
"adyen-card": {
"autoRescue": true,
"maxDaysToRescue": 5
}
},
"payment_source": "card_on_file",
"is_subsequent_payment": true,
"merchant_initiated": true
}
Please note that this feature only works for customer-not-present transaction
where is_subsequent_payment is set to true.
The following fields need to be set.
autoRescue - A boolean value that enables the feature. This defaults to false.
maxDaysToRescue - The rescue window, in days. Can specify between 1 and 48 days. Adyen recommends using a rescue window of one calendar month (30 days).
autoRescueScenario - This is one of the test scenarios as defined by Adyen. This only works in sandbox. Please be aware that the webhooks from Adyen in these test scenarios may take a few minutes to arrive.
A transaction is marked as processing when a transaction has been accepted for automatic retries using this feature. When a
webhook for a successful payment or an eventual rejection is received, the status is updated accordingly.
For auto-rescue to work it’s important to ensure Adyen has been setup to send
webhooks in a
JSON format.
Canceling auto-rescue
While a payment is in the rescue process, the buyer may provide a new payment method or reach out to cancel their subscription. In these scenarios, the rescue process can be canceled.
To cancel the auto-rescue process, perform a cancel request on the transaction.
Once Adyen has processed the cancellation and confirmation via webhook has been received, the transaction is marked as canceled.
Balance splits
Adyen’s balance splits feature is supported
by this connector. This feature allows determining where to book the funds at transaction time. Please note
the users’ stores can be configured to automatically split all transactions. This means that it is not necessary to
send these split instructions in every payment or capture request.
To enable this feature, pass in the following connection options for Adyen when making a payment request.
POST /transactions
{
"amount": 4000,
"country": "US",
"currency": "USD",
"intent": "capture",
"payment_method": {
...
},
"connection_options": {
"adyen-card": {
"splits": {
"authorization": [
{
"account": "MARKETPLACE_ACCOUNT1",
"amount": {
"currency": "USD",
"value": 200
},
"description": "Marketplace fee",
"reference": "YOUR_UNIQUE_REFERENCE1",
"type": "BalanceAccount"
},
{
"account": "MARKETPLACE_ACCOUNT2",
"amount": {
"currency": "USD",
"value": 200
},
"description": "Remainder",
"reference": "YOUR_UNIQUE_REFERENCE2",
"type": "Remainder"
},
],
"capture": [...],
"refund": [...]
}
}
}
}
The split information can be defined to be set at time of authorization, capture, or even for refunds. Please note
the PUT /transactions/{id} API can be used to update connection options (and therefore splits) before making a capture
or refund.
Please refer to Adyen’s balance splits documentation for exact details on each
of the split objects.
Payouts / original credit transactions
Adyen Transfers API is supported by this connector to enable Payouts/Original Credit Transactions. This feature needs to be enabled in the Adyen “account” for it to work. A balance account id also needs to be provided in the configuration of the Adyen connection in the dashboard. Payouts are funded from this balance account.
Testing
For testing in sandbox environments, you can use standard test card numbers. Adyen supports industry-standard test cards for simulating different transaction scenarios:
Successful transactions:
- Visa:
4111 1111 1111 1111
- Mastercard:
5555 5555 5555 4444
- American Express:
3782 822463 10005
Use any future expiry date and any 3-digit CVV (4 digits for American Express).
For more test scenarios and additional card numbers, refer to the Adyen testing documentation or contact your Adyen representative.