SEPA Direct Debit

The Single Euro Payments Area (SEPA) is an EU payment-integration initiative to simplify EUR-based bank transfers.

As of February 1, 2014, the European Payments Council (EPC) mandates that merchants who process, or plan to process, ELV or Incasso payments, must implement SEPA Direct Debit (DD).

Refer The EPC Migration Tool Kit: Get Ready for SEPA to know the prerequisites.

One-off

A one-off payment request using the SEPA Direct Debit option is similar to a standard authorise payment request, except for the following differences:

  • An SDD payment request holds a bankAccount container.
  • An SDD payment request requires a selectedBrand field whose value needs to be sepadirectdebit.

Recurring

A recurring payment request using the SEPA Direct Debit option is similar to a standard authorise payment request, except for the following differences:

  • A recurring SDD payment request holds a selectedRecurringDetailReference field.
  • A recurring SDD payment request requires a selectedBrand field whose value needs to be sepadirectdebit.

Payment response

SEPA Direct Debit responses are similar to payment responses. The SEPA Direct Debit-specific information is included as child elements of the additionalData field. After payment is authorised, it is possible to capture it.

SEPA Direct Debit allows capturing payments in one of the following ways:

  • (SALE) The payment is authorised and captured immediately – i.e. the shopper's funds to cover the payment are retrieved during the same transaction session.
  • (AUTH) The payment is first authorized; capture can occur immediately or separately, at a later time.

For more information on additional data returned in SDD responses, refer to PaymentResult.additionalData.

Settlement timeline

Before initiating DD, you need to inform the customer that a payment is due.

Event

SDD

SDD Recurring

Pre-notification

(T-14) T-1

(T-14) T-2

Submit SDD instructions (payment request moment)

T-1

T-2

Latest moment to revoke (cancel) SDD

N/A

T-1

SDD instruction processed by the bank

T

T

Reconciliation by Adyen PSP

T+1

T+1

Chargeback

The chargeback process is standard for all SEPA Direct Debit variants. The SEPA Direct Debit schemes ensure more protection and refund rights for consumers:

  • Shoppers have eight weeks to claim for an authorised SEPA Direct Debit payment to be refunded.
  • The shopper has 13 months to report to their bank an incorrect and/or unauthorised SEPA Direct Debit transaction. Since they did not authorise the debit or since the Direct Debit instruction/Direct Debit mandate has expired or it was cancelled, they can request a full refund.  

The process is very similar to a credit card chargeback however, in the case of a SEPA Direct Debit chargeback it is not possible to defend against a dispute.

Code examples

Request:

{
    "bankAccount" : {
        "iban" : "NL48RABO0132394782",
        "ownerName" : "Klaas T. Jansen",
        "countryCode" : "NL"
    },
    
    "amount" : {
        "value" : 1500,
        "currency" : "EUR"
    },
    
    "reference" : "Your Reference Here",
    "merchantAccount" : "TestMerchant",
    "shopperEmail" : "email@shopper.com",
    "shopperIP" : "61.294.12.12",
    "shopperStatement" : "YOUR ORDER 122345677889",
    "selectedBrand" : "sepadirectdebit"
}

Response:

{
    "additionalData" : {
        "sepadirectdebit.dateOfSignature" : "2013-11-28",
        "sepadirectdebit.sequenceType" : "OneOff",
        "sepadirectdebit.mandateId" : "9913856361050084"
    },
    
    "resultCode" : "Received",
    "pspReference" : "9913856361050084"
}

Request:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:authorise xmlns:ns1="http://payment.services.adyen.com">
      <ns1:paymentRequest>
        <ns1:amount>
          <currency xmlns="http://common.services.adyen.com">EUR</currency>
          <value xmlns="http://common.services.adyen.com">1500</value>
        </ns1:amount>
        <ns1:bankAccount>
          <ns1:iban>NL48RABO0132394782</ns1:iban>
          <ns1:ownerName>Klaas T. Jansen</ns1:ownerName>
          <ns1:countryCode>NL</ns1:countryCode>
        </ns1:bankAccount>
        <ns1:merchantAccount>TestMerchant</ns1:merchantAccount>
        <ns1:reference>Your Reference Here</ns1:reference>
        <ns1:shopperEmail>email@shopper.com</ns1:shopperEmail>
        <ns1:shopperReference>TheShopperReference</ns1:shopperReference>
        <ns1:shopperIP>10.10.100.200</ns1:shopperIP>
        <ns1:shopperStatement>YOUR ORDER 122345677889</ns1:shopperStatement>
        <ns1:selectedBrand>sepadirectdebit</ns1:selectedBrand>
      </ns1:paymentRequest>
    </ns1:authorise>
  </soap:Body>
</soap:Envelope>

Response:

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soap:Body>
    <ns1:authoriseResponse xmlns:ns1="http://payment.services.adyen.com">
      <ns1:paymentResult>
        <additionalData xmlns="http://payment.services.adyen.com">
          <entry>
            <key xsi:type="xsd:string">sepadirectdebit.dateOfSignature</key>
            <value xsi:type="xsd:string">2013-11-28</value>
          </entry>
          <entry>
            <key xsi:type="xsd:string">sepadirectdebit.sequenceType</key>
            <value xsi:type="xsd:string">OneOff</value>
          </entry>
          <entry>
            <key xsi:type="xsd:string">sepadirectdebit.mandateId</key>
            <value xsi:type="xsd:string">9913856361050084</value>
          </entry>
        </additionalData>
        <authCode xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <dccAmount xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <dccSignature xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <fraudResult xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <issuerUrl xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <md xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <paRequest xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <pspReference xmlns="http://payment.services.adyen.com">9913856361050084</pspReference>
        <refusalReason xmlns="http://payment.services.adyen.com" xsi:nil="true"/>
        <ns1:resultCode>Received</ns1:resultCode>
      </ns1:paymentResult>
    </ns1:authoriseResponse>
  </soap:Body>
</soap:Envelope>

Questions

Can't find something you are looking for? Look at our FAQ for answers or send an email to support.