> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gr4vy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Adyen - Card

> Connect to Adyen to accept credit and debit card payments.

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](./adyen) 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](/guides/dashboard/flow/overview) 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 |
| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
| `AED`         | `ALL`         | `AMD`         | `AOA`         | `ARS`         | `AUD`         | `AWG`         | `AZN`         |
| `BAM`         | `BBD`         | `BDT`         | `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](/guides/payments/embed/quick-start)** - A pre-built, customizable payment form that handles the complete payment flow
* **[Secure Fields](/guides/payments/secure-fields/quick-start)** - Embed card input fields for building custom payment forms while maintaining PCI compliance
* **[Mobile SDKs](/guides/get-started#sdks-and-plugins)** - 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](https://docs.adyen.com/online-payments/auto-rescue/cards/) 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.

```json theme={"system"}
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
}
```

<Note>
  Please note that this feature only works for customer-not-present transaction
  where `is_subsequent_payment` is set to `true`.
</Note>

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](https://docs.adyen.com/online-payments/auto-rescue/cards/#test-auto-rescue) 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.

<Warning>
  For auto-rescue to work it's important to ensure Adyen has been setup to send
  [webhooks](https://docs.adyen.com/development-resources/webhooks/) in a
  **JSON** format.
</Warning>

### 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](/reference/transactions/cancel-transaction) 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](https://docs.adyen.com/platforms/online-payments/split-transactions/) 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.

```json theme={"system"}
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](https://docs.adyen.com/platforms/online-payments/split-transactions/) documentation for exact details on each
of the split objects.

### Payouts / original credit transactions

Adyen [Transfers API](https://docs.adyen.com/payouts/payout-service/pay-out-to-cards/) 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.

### Adyen Pinless Debit Routing

Pinless debit routing allows merchants to route U.S. debit card transactions through regional debit networks (such as NYCE, Star, or Pulse) rather than global schemes like Visa or Mastercard, without requiring the cardholder to enter a PIN. For merchants who want to use Adyen's pinless debit routing, check **Defer selecting scheme for co-badged cards** in the connector credential options. This allows Adyen to make the final routing decision for co-badged cards.

## 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](https://docs.adyen.com/development-resources/test-cards/test-card-numbers) or contact your Adyen representative.
