Live Demo: Try this and other plugins live — no installation, no risk: demo.markus-michalski.net
Symptom: The SEPA Direct Debit payment method does not appear at checkout.
Check: Is the plugin active and the payment method assigned in the Sales Channel settings? The plugin does not assign it itself. Do availability rules of the payment method exclude the customer?
Solution: Assign the payment method to the Sales Channel, see Installation.
Symptom: The payment fails after submitting although the customer filled in all fields.
Check: Does the account holder contain umlauts, ß or other characters outside the allowed set (A-Z, a-z, digits, spaces, / - ? : ( ) . , ' +)? This check only runs once the order already exists.
Solution: The customer should enter the name without special characters, for example "Mueller" instead of "Müller". In this case the order has already been created and you have to follow it up.
Symptom: Error message "SEPA payment data is incomplete. Please check IBAN, account holder and mandate confirmation."
Check: Are IBAN and account holder filled in, is the mandate consent ticked and is the IBAN valid? This message covers every error in the pre-check.
Solution: Correct the data. With a correct IBAN, check whether its country code is among the supported countries (see next item).
Symptom: A valid IBAN is rejected.
Check: Is its country code in the list of supported countries (27 EU member states, Iceland, Liechtenstein, Norway, Switzerland, Monaco, San Marino, Vatican City, United Kingdom)? Countries such as Andorra are missing.
Solution: There is no setting for IBANs outside this list. The payment method cannot be used for them.
Symptom: The mandate PDF cannot be generated, message "dompdf library not installed".
Check: Was the dependency dompdf/dompdf installed, for example via composer install in the shop project?
Solution: Run composer require dompdf/dompdf or install the plugin via Composer, see Installation.
Symptom: The creditor's name or IBAN is missing in the PDF.
Check: Are the settings under "General Settings" filled in, for the Sales Channel the PDF is generated from? The PDF from the admin uses the general settings.
Solution: Enter the creditor data in the plugin configuration, see Configuration.
Symptom: Checkout, customer account page or PDF download fail with an error after a server move or a change of APP_SECRET.
Check: Did the APP_SECRET change? The mandates' IBANs are encrypted with a key derived from it.
Solution: Restore the original APP_SECRET. If it is lost, the IBANs can no longer be decrypted. In that case revoke the affected mandates in the admin (Orders > SEPA Mandates, detail page). Customers then enter new bank details on their next order. Revoking does not decrypt the IBAN.
Symptom: The browser IBAN check reports "too many requests" (HTTP 429).
Check: Was the validate-iban route called more than 10 times within a minute from the same IP?
Solution: Wait a minute. The limit is built in and fixed.
Symptom: A developer does not receive the event mmd.sepa_payment.mandate.created.
Check: Do you subscribe to the event name as a string? Was the mandate created on the customer account page, or did the customer reuse an existing mandate at checkout? In both cases the event is not dispatched, see Developer API.
bcmod() from the bcmath extension.Which payment methods does the plugin replace?
None. It adds the SEPA Direct Debit payment method with mandate capture. You collect the debit through your bank.
Where do I find the mandate data for collection?
In the admin under Orders > SEPA Mandates (reference, account holder, BIC, timestamp) and in the mandate PDF, which contains the full IBAN.
Can guests pay by direct debit?
Yes. Guests download their mandate PDF via the link on the order confirmation page.
How long are mandates stored?
Until you delete the customer or uninstall the plugin without keeping data. The plugin deletes nothing automatically.