| [ Web Proxy ] |
| Viewing: https://docs.emerchantpay.com/payments/payment-methods/sepa-direct-debit/ | [Back] [Original] |
Accept SEPA Direct Debit payments in your online store.
SEPA Direct Debit is a standardised payment method facilitating bank-to-bank transactions within the European Union. Use the emerchantpay SEPA Direct Debit API to accept SEPA Direct Debit as a payment method across the supported emerchantpay payment integrations.
| Payment method | Countries/regions | Supported flows |
|---|---|---|
| Bank transfer | Austria, Belgium, Bulgaria, Croatia, Cyprus, Estonia, Finland, France, Germany, Greece, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Monaco, Netherlands, Portugal, Slovakia, San Marino, Slovenia, Spain | Click flow and SEPA verified payment flow |
To integrate with SEPA Direct Debit, connect to the emerchantpay payment gateway using the emerchantpay emerchantpay SEPA Direct Debit API. You should have a working knowledge of web programming languages, HTTP methods in XML and JSON formats, and UTF8 encoding. Use the emerchantpay Payment Gateway SDK libraries with code samples to integrate with the payment gateway in a range of languages.
For a solution that requires less development overhead, accept SEPA Direct Debit payments through the emerchantpay Web Payment Form (WPF). Contact your Account Manager and tell them you want to accept SEPA Direct Debit through the WPF, and refer to the emerchantpay Payment Gateway API WPF documentation.
The type of payment flow you use is decided during your initial setup. SEPA Direct Debit offers two types of flows:
This flow uses the Click mandate. When customers proceed with a Click flow, they agree to the terms and conditions directly on the checkout page, authorising future payments from their account. No additional verification is performed during this process.
The SEPA verified payment flow adds an extra layer of security to the SEPA Direct Debit process by redirecting customers to their online banking platform for payment verification and confirmation.
To submit a payment using SEPA Direct Debit, create a payment request to the emerchantpay payment gateway. Specify sdd_sale as the transaction_type.
Example of passing a SEPA Direct Debit transaction request with the Click flow:
<payment_transaction>
<transaction_type>sdd_sale</transaction_type>
<transaction_id>119643250547501c79d8295</transaction_id>
<usage>40208 concert tickets</usage>
<remote_ip>245.253.2.12</remote_ip>
<amount>100</amount>
<currency>EUR</currency>
<iban>DE09100100101234567891</iban>
<bic>PBNKDEFFXXX</bic>
<billing_address>
<first_name>John</first_name>
<last_name>Smith</last_name>
<address1>45 North Str</address1>
<zip_code>W1T 2QS</zip_code>
<city>London</city>
<country>UK</country>
</billing_address>
</payment_transaction>
Example of passing a SEPA Direct Debit transaction request with the SEPA verified payment flow:
<payment_transaction>
<transaction_type>sdd_sale</transaction_type>
<transaction_id>56194064335298463722639</transaction_id>
<notification_url>https://example.com/notification</notification_url>
<return_success_url>https://example.com/success</return_success_url>
<return_failure_url>https://example.com/failure</return_failure_url>
<return_pending_url>https://example.com/pending</return_pending_url>
<return_cancel_url>https://example.com/cancel</return_cancel_url>
<usage>concert tickets</usage>
<remote_ip>245.253.2.12</remote_ip>
<amount>2960</amount>
<currency>EUR</currency>
<billing_address>
<first_name>John</first_name>
<last_name>Smith</last_name>
<address1>45 North Str</address1>
<zip_code>W1T 2QS</zip_code>
<city>London</city>
<country>UK</country>
</billing_address>
<customer_email>jsmith@example.com</customer_email>
<iban>DE87500105175728219266</iban>
</payment_transaction>
You will receive a Success or Error response to your payment request.
Example of a Success response with the Click flow:
<payment_response>
<transaction_type>sdd_sale</transaction_type>
<status>approved</status>
<mode>live</mode>
<transaction_id>119643250547501c79d8295</transaction_id>
<unique_id>44177a21403427eb96664a6d7e5d5d48</unique_id>
<technical_message>Transaction successful!</technical_message>
<message>Transaction successful!</message>
<timestamp>2023-03-06T16:33:10Z</timestamp>
<descriptor>Acme Co.</descriptor>
<amount>100</amount>
<currency>EUR</currency>
<sent_to_acquirer>true</sent_to_acquirer>
</payment_response>
Example of a Success response with the SEPA verified payment flow:
<payment_response>
<transaction_type>sdd_sale</transaction_type>
<status>pending_async</status>
<unique_id>4ca953760286de6bc67327c307b3a92f</unique_id>
<transaction_id>56194064335298463722639</transaction_id>
<bank_account_number>DE87500105175728219266</bank_account_number>
<redirect_url>https://gate.emerchantpay.net/redirect/to_acquirer/a5c154a18f4cc95d7cb53e455b734e5c</redirect_url>
<mode>live</mode>
<timestamp>2024-02-07T18:17:36Z</timestamp>
<descriptor>Acme Co.</descriptor>
<amount>2960</amount>
<currency>EUR</currency>
<sent_to_acquirer>true</sent_to_acquirer>
</payment_response>
redirect_url to redirect your customer to authorise the payment with SEPA Direct Debit. See the emerchantpay SEPA Direct Debit API documentation for the complete list of SEPA Direct Debit response parameters and code samples.
Because the SEPA Direct Debit payment transaction is asynchronous, the result of your customer’s payment is sent as a separate HTTP POST notification from the gateway to the notification_url that you supplied with the transaction request.
Example of a notification for a SEPA Direct Debit transaction with the Click flow:
“transaction_id”: “tm_api_1678195297”
“terminal_token”: “e4de7c9d4ea4bccea3cac90190e2ea0be8ad7610”
“unique_id”: “52775aed3ee5776c906aeba74da69612”
“transaction_type”: “sdd_sale”
“status”: “error”
“signature”: “3bbdb69c48739a41eabf7acb6d95d23a1135d558”
“amount”: “100”
“card_number”: “…”
“card_holder”: “John Smith”
“customer_email”: “jsmith@example.com”
“customer_phone”: “+498563698777”
“first_name”: “John”
“last_name”: “Smith”
“address1”: “45 North Str”
“zip_code”: “W1T 2QS”
“city”: “London”
“country”: “UK”
“bank_identifier_code”: “PBNKDEFFXXX”
“invoice_amount”: “100”
“mandate_id”: “tm_api_1678195297”
“iban”: “DE86100000001234400013”
Example of a notification for a SEPA Direct Debit transaction with the SEPA verified payment flow:
transaction_id: 56194064335298463722639
terminal_token: c2bd9a3e7bc5dcdabb2dbd31406e1bc0ab5ac641
unique_id: 4ca953760286de6bc67327c307b3a92f
transaction_type: sdd_sale
status: approved
signature: 3bbdb69c48739a41eabf7acb6d95d23a1135d558
amount: 2960
invoice_amount: 2960
mandate_id: tm_api_1678195297
iban: DE87500105175728219266
status field provides you with information on the outcome of the transaction. See Transaction States for more information about transaction statuses.
Use the signature field to verify that the notification has been sent by the emerchantpay payment gateway. Each session signature is generated by combining the unique_id of the transaction and your API password, and generating a SHA-1 hash function of the combined string.
signature = SHA-1 hash value of <unique_id><API password>
| unique_id | API password | signature |
|---|---|---|
| 26aa150ee68b1b2d6758a0e6c44fce4c | 50fd87e65eb415f42fb5af4c9cf497662e00b785 | c5219b3d385e74496b2b48a549 |
| 3f760162ef57a829011e5e2379b3fa17 | 50fd87e65eb415f42fb5af4c9cf497662e00b785 | 14519d0db2f7f8f407efccc9b099 |
After you have verified the notification state and validity, render an XML page containing the transactions unique id to acknowledge that you have received the notification.
Example of a notification reply you use to confirm a notification:<?xml version=”1.0″ encoding=”UTF-8″?>
<notification_echo>
<unique_id>3f760162ef57a829011e5e2379b3fa17</unique_id>
</notification_echo>
Before you can accept live payments, you must test your integration in the staging environment.
DE62888888880012345678, the redirect link will open a payment simulator. In the simulator, enter random values for the account number (Kontonummer) and PIN, and agree to the Terms and Conditions. After you have successfully tested your SEPA Direct Debit integration, you are ready to move to the production environment and accept live payments. Contact your emerchantpay Account Manager to get your login credentials for the production environment.
You are now ready to accept live payments using SEPA Direct Debit.
To get started with emerchantpay, contact us.
Copyright emerchantpay Group 2007 - 2026. All rights reserved. emerchantpay is a registered trade mark. Any unauthorised use is expressly prohibited.
| Web Proxy Viewer | New URL | Original Page |