You can add SEPA Direct Debit to your existing integration. The following instructions show only what you must add to your integration specifically for SEPA Direct Debit.
If an instruction on this page corresponds with a step in the main integration guide, it includes a link to corresponding step of the main integration guide.
Requirements
| Requirement | Description | |
|---|---|---|
| Integration type | Make sure that you have an existing API-only integration. | |
| Action handling | Make sure that your existing integration is set up to handle the additional action. action.type: direct. | |
| Setup steps | Before you begin, add SEPA Direct Debit in your Customer Area. | 
How it works
- The shopper selects SEPA Direct Debit as the payment method.
- The shopper enters their details in the payment form that you build.
- When you make the payment request, you include additional information about the items that the shopper intends to purchase.
- If you do not use automatic capture, you must capture the payment.
Build your payment form
- 
Include SEPA Direct Debit in the list of available payment methods. 
- 
After the shopper selects SEPA, render the input fields for SEPA to collect their issuer selection. You'll need this to make a payment. Payment details Example The name on the SEPA bank account. "A Schneider" The IBAN of the bank account. "DE87123456781234567890" 
You can download the logo for SEPA Direct Debit to use in your form.
Get SEPA Direct Debit as an available payment method
When you make the /paymentMethods to get available payment methods, specify the following so that SEPA Direct Debit is included in the response.
| Parameter | Values | 
|---|---|
| countryCode | AT, BE, CY, EE, FI, FR, DE, GR, IE, IT, LV, LT, LU, MT, NL, PT, SK, SI, ES | 
| amount.currency | EUR | 
Add additional parameters to your /payments request
When you make a payment, add the following parameters:
| Parameter | Required | Description | 
|---|---|---|
| paymentMethod.sepa.ownerName |  | The name on the SEPA bank account. | 
| paymentMethod.sepa.ibanNumber |  | The IBAN of the bank account. Make sure that you do not encrypt this value. | 
Capture the payment
If you do not use automatic capture, you must capture the payment in one of the following ways:
- Use delayed automatic capture. This means that the payment is captured automatically after a delay that you can set yourself.
- Manually capture the payment by making a /payments/{paymentPspReference}/captures request.
SEPA Direct Debit authorizations do not expire, so you can capture a payment any time after it is authorized.
Contact our Support Team to enable multiple partial captures for SEPA Direct Debit.
Recurring payments
SEPA Direct Debit supports tokenization for subscription, and unscheduled card-on-file payments. Refer to Create tokens to integrate with our tokenization feature.
We strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring payments. Being transparent about the payment schedule and the charged amount reduces the risk of chargebacks.
Store SEPA details
When creating a token for SEPA Direct Debit, use the standard tokenization parameters in your payment request. You do not need to include any additional parameters for SEPA Direct Debit.
When a token is created, you receive a  recurring.token.created webhook. The webhook contains the storedPaymentMethodId that you can use to make subsequent payments using the stored payment details.
Make a subscription payment
Make a subscription payment using the standard tokenization parameters. You do not need to include any additional parameters for SEPA Direct Debit.
Make an unscheduled card-on-file payment
Make an unscheduled card-on-file using the standard tokenization parameters. You do not need to include any additional parameters for SEPA Direct Debit.
Test and go live
Before making live SEPA payments, use the following Account Names and IBANs to test your integration.
| Account Name | IBAN | Country/region | 
|---|---|---|
| A. Klaassen | NL13TEST0123456789 | NL | 
| B. Klaassen | NL36TEST0236169114 | NL | 
| C. Klaassen | NL26TEST0336169116 | NL | 
| D. Klaassen | NL16TEST0436169118 | NL | 
| E. Klaassen | NL81TEST0536169128 | NL | 
| F. Klaassen | NL27TEST0636169146 | NL | 
| G. Klaassen | NL39TEST0736169237 | NL | 
| H. Klaassen | NL82TEST0836169255 | NL | 
| I. Klaassen | NL72TEST0936169257 | NL | 
| J. Klaassen | NL46TEST0136169112 | NL | 
| K. Klaassen | NL70TEST0736160337 | NL | 
| L. Klaassen | NL18TEST0736162437 | NL | 
| M. Klaassen | NL92TEST0736163433 | NL | 
| A. Schneider | DE87123456781234567890 | DE | 
| B. Schneider | DE92123456789876543210 | DE | 
| C. Schneider | DE14123456780023456789 | DE | 
| D. Schneider | DE36444488881234567890 | DE | 
| E. Schneider | DE41444488889876543210 | DE | 
| F. Schneider | DE60444488880023456789 | DE | 
| G. Schneider | DE89888888881234567890 | DE | 
| H. Schneider | DE94888888889876543210 | DE | 
| I. Schneider | DE16888888880023456789 | DE | 
| A. Pacini | IT60X0542811101000000123456 | IT | 
| A. Grand | FR1420041010050500013M02606 | FR | 
| A. Martin | ES9121000418450200051332 | ES | 
| W. Hurth | AT151234512345678901 | AT | 
| H. Gasser | CH4912345123456789012 | CH | 
| R. Paulsen | DK8612341234567890 | DK | 
| B. Dalby | NO6012341234561 | NO | 
| A. Bak | PL20123123411234567890123456 | PL | 
| A. Andersson | SE9412312345678901234561 | SE | 
You can check the status of SEPA test payments in your Customer Area Transactions > Payments.
Before you can accept live SEPA Direct Debit payments, you need to submit a request for SEPA Direct Debit in your live Customer Area.