WooCommerce SEPA Payment Gateway

Bluehost Shared Hosting

SEPA Direct Debit for WooCommerce

Accept SEPA direct debit payments in WooCommerce — validate IBAN/BIC at checkout and export your collections as a bank-ready SEPA pain.008 XML file.

SEPA Direct Debit for WooCommerce adds a SEPA Lastschrift (direct debit) payment gateway to WooCommerce. Customers pay by entering their account owner, IBAN and BIC at checkout; the data is validated, stored on the order and the customer profile, and the shop owner can later generate a single SEPA XML file containing all open direct debits to upload to their bank.

It uses the maintained digitick/sepa-xml and php-iban libraries, is fully HPOS (High-Performance Order Storage) compatible and works in both the classic and the block based checkout.

Features

  • SEPA direct debit gateway — a native WooCommerce payment method for SEPA Lastschrift.
  • IBAN & BIC validation — checksum and length validation via the php-iban library, SEPA-country checks and IBAN/BIC country matching.
  • Validated creditor data — Account Owner, IBAN and Creditor Identifier are required; the SEPA Creditor Identifier (Gläubiger-ID) is checked for the correct format and ISO 7064 MOD-97-10 check digits, so an invalid configuration is caught before the export instead of failing hard.
  • Stable mandate reference — the mandate reference is generated once at checkout and stored on the order, so it stays unchanged even if the reference prefix is edited later.
  • Smart BIC handling — 8-character BICs are padded to 11; the BIC is optional for national debits (debtor and creditor IBAN in the same country).
  • SEPA XML export (pain.008) — generate a bank-ready ISO 20022 direct debit file for all open orders with one click (nonce protected).
  • Selectable XML format — choose the pain.008 version (default pain.008.001.02, plus the EPC 2023 .08/.09 and the legacy German .003.02).
  • First vs. recurring debits — automatically uses FRST for the first debit of an account and RCUR afterwards.
  • HPOS ready — all order data is read and written through the WooCommerce order CRUD; no direct postmeta access.
  • Block checkout support — the IBAN/BIC fields are rendered in the modern WooCommerce block checkout as well as the classic checkout.
  • Subscriptions support — works with WooCommerce Subscriptions (payment data is copied to renewals).
  • Customer convenience — bank details are stored on the user account and pre-filled on the next checkout, editable in My Account and the WordPress profile.
  • Order list column — shows the SEPA collection status / date directly in the order list.
  • Transaction log — every generated SEPA file is recorded with date, amount and record count.
  • Protected files — generated XML files (containing bank data) are stored in a directory protected against direct download.
  • Internationalised — full text-domain support; German and English documentation included.

How it works (in short)

  1. The customer selects SEPA Direct Debit at checkout and enters account owner, IBAN and BIC.
  2. The plugin validates the data and stores it on the order; the order is set to on-hold (awaiting payment).
  3. The shop owner opens WooCommerce → SEPA Create XML, reviews the open orders and creates the SEPA pain.008 XML file.
  4. The owner uploads the XML to their bank; the processed orders move to processing and are logged as a transaction.

Requirements

  • WordPress 6.9+
  • WooCommerce 8.0+ (tested up to 10.9)
  • PHP 7.4+
  • Shop currency EUR
  • A bank account that accepts SEPA pain.008 direct debit files and a SEPA Creditor Identifier

Changelog

4.0.1 — 2026-07-02

  • Fixed the fatal “Payment must contain a CreditorSchemeId” error: the creditor data (Account Owner, IBAN, Creditor Id) is validated before an export and a clear notice is shown instead.
  • Made Account Owner, Account IBAN and Creditor Id required, with format validation (ISO 7064 MOD-97-10 check of the SEPA Creditor Identifier, SEPA character-set / length check of the mandate reference).
  • The SEPA mandate reference is now generated once at checkout and stored on the order, so it stays stable if the prefix is changed later.

4.0.0 — 2026-06-30

  • Complete refactoring; replaced the old hand-written generator with the maintained digitick/sepa-xml library (selectable pain.008 format).
  • Switched IBAN validation to the bundled php-iban 4.x.
  • Made the whole plugin compatible with WooCommerce High-Performance Order Storage (HPOS).
  • Added a WooCommerce Blocks (block checkout) payment integration.
  • Fixed several logical bugs (BIC padding, billing name typo, undefined variables, deprecated calls, unsanitized input) and protected the generated XML files.

3.0.0 — 2023-08-24

  • Only check IBAN and BIC if the account owner is filled; fall back to the customer name; updated php-iban.

2.7.0 — 2017-03-06

  • Added the mandate id to the order details and to the order email.

2.6.0 — 2017-02-05

  • Updated the PHP-IBAN library; fixed a bug with empty values at checkout; PHP 7 fix.

2.5.0 — 2016-03-04

  • Updated PHP-IBAN; edit the SEPA details on the WordPress user profile and the WooCommerce account details; removed PEAR/Validate_Finance.

2.3.0 — 2016-01-16

  • Added the PHP-IBAN library to check the IBAN (fallback when PEAR Validate_Finance is unavailable); closer BIC check (length, BIC and IBAN country must match).

2.1.0 — 2015-12-20

  • View the bank details on the WooCommerce My Account page; fixed the bank details in the checkout email; optimized the German translation.

2.0.0 — 2015-12-18

  • Added support for WooCommerce Subscriptions 2.x; view the bank details on the checkout page and in the email.

1.3.0 — 2015-11-15

  • Store BIC/IBAN/account owner in the user meta and pre-fill them for logged-in users; edit them on the WordPress user profile.

1.2.1 — 2015-09-21

  • Fixed the amount display in the transaction and order lists; fixed the file name display in the transaction list.

1.2.0 — 2015-09-06

  • WooCommerce 2.4 support; updated XML creation; updated translation; XML files stored in the plugin directory.

1.0.1 — 2014-06-15

  • Multi-language ready with PO files; German translation included.

1.8 average based on 5 ratings.

naranili

naranili

Visit Author's Portfolio

View Portfolio
Last Update 2026-07-03
Created 2014-06-10
Sales 166
Discussion Comments
Compatible Browsers Firefox Safari Opera Chrome Edge
Software Version WordPress 7.0.x WordPress 6.9.x WordPress 6.8.x WordPress 6.7.x WordPress 6.6.x WordPress 6.5.x WordPress 5.6.x
Compatible With
Gutenberg Optimized
High Resolution
Files Included JavaScript JS HTML XML CSS PHP
Video Preview Resolution
Search plugins
Browse Categories

Bluehost Shared Hosting