Markus Michalski FAQ

SEPA Direct Debit

SEPA Direct Debit payment method for Shopware 6.7: mandate capture at checkout, IBAN validation, encrypted storage, mandate PDF and mandate management in the admin. Not a payment provider, collection runs through your bank.

Deutsche Version

Back to Shopware 6 Plugins

SEPA Direct Debit

Shopware
PHP
License

This documentation always describes the latest published version.

Live Demo: Try this and other plugins live — no installation, no risk: demo.markus-michalski.net

Important notice

This plugin is NOT a payment provider. It captures and manages SEPA mandates but does not collect any amounts.

The plugin does not do the following:

It suits merchants who already have their own bank access for direct debit collection and want to map mandate management in Shopware.

Overview

The plugin adds the payment method SEPA Direct Debit to Shopware. At checkout customers enter IBAN, account holder and their consent to the mandate. The plugin validates the data, stores the IBAN encrypted, generates a mandate reference and provides a mandate PDF. You see all mandates in the admin and collect the amounts outside the plugin through your bank.

graph TD
    A["Checkout with payment method SEPA Direct Debit"] --> B{"Active mandate present?"}
    B -->|"Yes, reused"| C["Order with existing mandate"]
    B -->|"No or new bank details"| D["Validate IBAN, account holder and consent"]
    D --> E["Complete order"]
    E --> F["Store new mandate, IBAN encrypted"]
    F --> G["Event mmd.sepa_payment.mandate.created"]
    C --> H["Mandate PDF and mandate list in the admin"]
    G --> H
    H --> I["Collection through your bank, outside the plugin"]

Documentation

Page Content
Installation Requirements, installation, assigning the payment method, update, uninstall
Configuration Creditor data, mandate reference, mandate texts, mandates in the admin
Checkout and Customer Account Checkout flow, validation rules, mandate page, PDF download
Developer API Event, service interface, admin and storefront routes
Privacy and Security Stored data, encryption, deletion, scope limits
Troubleshooting and FAQ Typical problems, known limitations, frequent questions
Technical Details Payment handler flow, components, database

Features

Feature Description
SEPA Direct Debit payment method Mandate capture with IBAN, optional BIC and account holder at checkout
IBAN validation Format, country-specific length and checksum (modulo 97) for EU and further SEPA countries
Encrypted storage IBAN encrypted with AES-256-GCM, key derived from APP_SECRET
Mandate reference Generated automatically from prefix, date and a random part
Reuse An existing active mandate can be used for further orders
Mandate PDF Download for customers, guests and in the admin, in German or English
Customer account Create, view and revoke the mandate
Mandate management in the admin List, details, PDF and revocation
Mandate text Configurable in German and English
Event mmd.sepa_payment.mandate.created for your own integrations

Requirements

Requirement Version Notes
Shopware ~6.7.0
PHP >=8.2
dompdf ^2.0.4 \|\| ^3.0 Installed as a dependency of the plugin
APP_SECRET not empty Basis of the IBAN encryption

License

License

Commercial license: One license covers one Shopware installation including all Sales Channels and the associated development and staging environments. Redistribution is not allowed. Updates are included for 12 months from purchase. The full terms are in the plugin's LICENSE file.

Support

For questions about the license, technical questions or bugs, reach me at support@markus-michalski.net.