Are you looking for test card numbers?

Would you like to contact support?

Payment-method icon

EPS Drop-in integration

Add EPS to an existing Drop-in integration.

On this page, you can find additional configuration for adding EPS to your Drop-in integration.

Before you begin

This page assumes you've already:

API reference

You don't need to send additional fields for EPS. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:

Drop-in configuration

Optional configuration

You can add the following optional configuration:

Parameter name Description Default
issuer Set to an EPS issuer ID to preselect a specific bank. No bank is preselected.
highlightedIssuers Set to the EPS issuer IDs for banks you want to show on top of the dropdown menu. Added in v5.1.0 All issuers are shown in the dropdown.
placeholder String to show for the dropdown menu text. Custom translation configuration overrides this value. Select your bank

If you want to add optional configuration, include this in a configuration object. The following example shows how to configure Drop-in to remove the bank logos, and preselect Dolomitenbank:

const epsConfiguration = {
  issuer: "d5d5b133-1c0d-4c08-b2be-3c9b116dc326" // Optional. Set this to an **id** of an EPS issuer to preselect it.
};

If you created a epsConfiguration object, include this when creating a configuration object:

AdyenCheckout configuration
const configuration = {
  // ...  other required configuration
  paymentMethodsConfiguration: {
    eps: epsConfiguration
  }
};

List of issuer IDs

The available banks for EPS are different in the test and live environment:

Bank name Issuer ID
Bank Austria e6819e7a-f663-414b-92ec-cf7c82d2f4e5
BAWAG P.S.K. AG ba7199cc-f057-42f2-9856-2378abf21638
Dolomitenbank d5d5b133-1c0d-4c08-b2be-3c9b116dc326
Erste Bank und Sparkassen 3fdc41fc-3d3d-4ee3-a1fe-cd79cfd58ea3
Easybank AG eff103e6-843d-48b7-a6e6-fbd88f511b11
HYPO Tirol Bank AG 6765e225-a0dc-4481-9666-e26303d4f221
Posojilnica Bank eGen 65ef4682-4944-499f-828f-5d74ad288376
Raiffeisen Bankengruppe Österreich ee9fc487-ebe0-486c-8101-17dce5141a67
Schoellerbank AG 1190c4d1-b37a-487e-9355-e0a067f54a9f
Sparda Bank Wien 8b0bfeea-fbb0-4337-b3a1-0e25c0f060fc
Volksbanken e2e97aaa-de4c-4e18-9431-d99790773433
Volkskreditbank AG 4a0a975b-0594-4b40-9068-39f77b3a91f9
Bank name Issuer ID
Austrian Anadi Bank AG 68db503b-ea48-4681-814b-10fc74064f68
Bank Austria bbd44f4d-609b-454e-8d5a-e0d1ac21f15a
bank99 AG f848c582-1b94-4e13-b58e-b3a2c68a3fba
Bankhaus Carl Spängler & Co.AG d5639c17-0207-4d49-8708-922181135ad1
BKS Bank AG 7217d822-470c-4768-b346-a440e8cb7096
BAWAG P.S.K. AG 64669764-e6fc-401c-8f3d-26e9169ba6ff
BTV VIER LÄNDER BANK a990a73b-3d6b-4d91-9b8a-856428089b34
Dolomitenbank b42dd796-8bda-4893-acc2-ddfae9c9cdb7
Erste Bank und Sparkassen 1d48e2f7-604c-4d1d-894e-170635d1a645
Easybank AG 54016d9d-31b0-4db3-9eaf-cf9fbc58ee81
HYPO-BANK BURGENLAND Aktiengesellschaft b3b1554f-c9ae-4396-a62f-baffb8a2de1c
Hypo Alpe-Adria-Bank International AG 958d1cf8-0d2d-4b21-b1f2-8383bb9f243f
HYPO NOE LB für Niederösterreich u. Wien 9c92d29b-a898-488e-836f-e93b911f9a94
HYPO Oberösterreich,Salzburg 89c79da1-1b75-41e2-9254-118f36231bbd
HYPO Tirol Bank AG 31659756-fb43-4094-afd5-82980ff48750
Hypo Vorarlberg Bank AG 880cc8c4-d723-49ab-8299-dc35eafc9385
Marchfelder Bank 242209e6-a81f-48bc-9041-a31306cb153f
Oberbank AG 744d26da-90c9-49eb-9a0b-9a7f1fa3a8d2
Österreichische Ärzte- und Apothekerbank 69a67a81-7518-463f-8527-3f1128af1f93
Posojilnica Bank eGen 65ef4682-4944-499f-828f-5d74ad288376
Raiffeisen Bankengruppe Österreich 09350598-7ba4-4afb-b706-843e49a64759
Schelhammer Capital Bank AG c522e299-479c-4134-849f-a6ef0399a6e0
Schoellerbank AG 3ed7da63-0924-424c-a822-2a0dfaaadce1
Sparda Bank Wien cc4a034e-f8a1-4ce4-a96b-1cd251af03b5
Volksbanken 479ff5d2-6f44-4921-9330-6bf6763806e9
Volkskreditbank AG 43b3af24-7969-4701-a7ce-1f9fc6eef834

Recurring payments

We support recurring transactions for EPS through SEPA Direct Debit. To make recurring payments, you need to:

  1. Create a shopper token.
  2. Use the token to make future payments for the shopper.

Create a token

We strongly recommend that you request explicit permission from the shopper if you intend to make recurring SEPA payments. Being transparent about the payment schedule and the charged amount reduces the risk of chargebacks.

To create a token, include in your /payments request:

  • storePaymentMethod: true
  • shopperReference: Your unique identifier for the shopper (minimum length three characters).

When the payment has been settled, you receive a notification webhook containing:

  • eventCode: RECURRING_CONTRACT
  • originalReference: The pspReference of the initial payment.
  • pspReference: This is the token that you need to make recurring payments for this shopper.
Make sure that your server is able to receive RECURRING_CONTRACT as part of your standard notifications. If you have not requested this additional configuration yet, contact our Support Team.

Make a payment with a token

To make a payment with the token, include in your /payments request:

  • paymentMethod.storedPaymentMethodId: The pspReference from the RECURRING_CONTRACT notification.
You can also get this value by using the /listRecurringDetails endpoint.
  • shopperReference: The unique shopper identifier that you specified when creating the token (minimum length three characters).
  • shopperInteractionContAuth.
  • recurringProcessingModel: Subscription or UnscheduledCardOnFile.

For more information about the shopperInteraction and recurringProcessingModel fields, refer to Recurring transaction types.

curl https://checkout-test.adyen.com/v68/payments \
-H "x-API-key: YOUR_X-API-KEY" \
-H "content-type: application/json" \
-d '{
       "amount":{
          "value":1000,
          "currency":"EUR"
       },
       "paymentMethod":{
          "type":"sepadirectdebit",
          "recurringDetailReference":"7219687191761347"
       },
       "reference":"YOUR_ORDER_NUMBER",
       "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
       "shopperReference":"YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j",
       "shopperInteraction":"ContAuth",
       "recurringProcessingModel": "Subscription"
}'
# Set your X-API-KEY with the API key from the Customer Area.
adyen = Adyen::Client.new
adyen.api_key = "YOUR_X-API-KEY"
 
response = adyen.checkout.payments({
  :amount => {
    :currency => "EUR",
    :value => 1000
  },
  :reference => "YOUR_ORDER_NUMBER",
  :paymentMethod => {
    :type => "sepadirectdebit",
    :recurringDetailReference => "7219687191761347"
  },
  :returnUrl => "https://your-company.com/checkout?shopperOrder=12xy..",
  :shopperReference => "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j",
  :merchantAccount => "YOUR_MERCHANT_ACCOUNT",
  :shopperInteraction => "ContAuth",
  :recurringProcessingModel => "Subscription"
})
// Set YOUR_X-API-KEY with the API key from the Customer Area.
// Change to Environment.LIVE and add the Live URL prefix when you're ready to accept live payments.
Client client = new Client("YOUR_X-API-KEY", Environment.TEST);
Checkout checkout = new Checkout(client);

PaymentsRequest paymentsRequest = new PaymentsRequest();

String merchantAccount = "YOUR_MERCHANT_ACCOUNT";
paymentsRequest.setMerchantAccount(merchantAccount);

Amount amount = new Amount();
amount.setCurrency("EUR");
amount.setValue(15000L);
paymentsRequest.setAmount(amount);

DefaultPaymentMethodDetails paymentMethodDetails = new DefaultPaymentMethodDetails();
paymentMethodDetails.setRecurringDetailReference("7219687191761347");
paymentMethodDetails.setType("sepadirectdebit");
paymentsRequest.setPaymentMethod(paymentMethodDetails);

paymentsRequest.setReference("YOUR_ORDER_NUMBER");
paymentsRequest.setReturnUrl("https://your-company.com/checkout?shopperOrder=12xy..");
paymentsRequest.setShopperInteraction("ContAuth");
paymentsRequest.setRecurringProcessingModel("Subscription");

PaymentsResponse paymentsResponse = checkout.payments(paymentsRequest);
// Set your X-API-KEY with the API key from the Customer Area.
$client = new \Adyen\Client();
$client->setXApiKey("YOUR_X-API-KEY");
$service = new \Adyen\Service\Checkout($client);

$params = array(
  "amount" => array(
    "currency" => "EUR",
    "value" => 1000
  ),
  "reference" => "YOUR_ORDER_NUMBER",
  "paymentMethod" => array(
    "type" => "sepadirectdebit",
    "recurringDetailReference" => "7219687191761347"
  ),
  "returnUrl" => "https://your-company.com/checkout?shopperOrder=12xy..",
  "shopperReference" => "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j",
  "recurringProcessingModel" => "Subscription",
  "shopperInteraction" => "ContAuth",
  "merchantAccount" => "YOUR_MERCHANT_ACCOUNT"
);
$result = $service->payments($params);
#Set your X-API-KEY with the API key from the Customer Area.
adyen = Adyen.Adyen()
adyen.client.xapikey = 'YOUR_X-API-KEY'

result = adyen.checkout.payments({
   'amount': {
      'value': 1000,
      'currency': 'EUR'
   },
   'reference': 'YOUR_ORDER_NUMBER',
   'paymentMethod': {
      'type': 'sepadirectdebit',
      'recurringDetailReference': '7219687191761347'
   },
   'returnUrl': 'https://your-company.com/checkout?shopperOrder=12xy..',
   'shopperReference': 'YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j'
   'merchantAccount': 'YOUR_MERCHANT_ACCOUNT',
   'shopperInteraction':'ContAuth',
   'recurringProcessingModel': 'Subscription'
})
// Set your X-API-KEY with the API key from the Customer Area.
var client = new Client ("YOUR_X-API-KEY", Environment.Test);
var checkout = new Checkout(client);

var amount = new Model.Checkout.Amount("EUR", 1000);
var details = new Model.Checkout.DefaultPaymentMethodDetails{
  Type = "sepadirectdebit",
  RecurringDetailReference = "7219687191761347"
};
var paymentsRequest = new Model.Checkout.PaymentRequest
{
  Reference = "YOUR_ORDER_NUMBER",
  Amount = amount,
  ReturnUrl = @"https://your-company.com/checkout?shopperOrder=12xy..",
  MerchantAccount = "YOUR_MERCHANT_ACCOUNT",
  ShopperReference = "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j",
  RecurringProcessingModel = "Subscription",
  ShopperInteraction = "ContAuth",
  PaymentMethod = details
};

var paymentResponse = checkout.Payments(paymentsRequest);
// Set your X-API-KEY with the API key from the Customer Area.
const {Client, Config, CheckoutAPI} = require('@adyen/api-library');
const config = new Config();
// Set your X-API-KEY with the API key from the Customer Area.
config.apiKey = '[API_KEY]';
config.merchantAccount = '[YOUR_MERCHANT_ACCOUNT]';
const client = new Client({ config });
client.setEnvironment("TEST");
const checkout = new CheckoutAPI(client);
checkout.payments({
    amount: { currency: "EUR", value: 1000 },
    paymentMethod: {
        type: 'sepadirectdebit',
        recurringDetailReference: "7219687191761347"
    },
    reference: "YOUR_ORDER_NUMBER",
    merchantAccount: config.merchantAccount,
    shopperReference: "YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j",
    returnUrl: "https://your-company.com/checkout?shopperOrder=12xy..",
    shopperInteraction: "ContAuth",
    recurringProcessingModel: "Subscription"
}).then(res => res);

Test and go live

Check the status of EPS test payments in your Customer Area > Transactions > Payments.
Before you can accept live EPS payments, you need to submit a request for EPS in your live Customer Area.

See also