plugin-icon

BANKpay+ for WooCommerce

Accept instant SEPA payments with 7-second settlement time via BANKpay+.
Version
1.7.3
Active installations
10
Last updated
Nov 17, 2025
BANKpay+ for WooCommerce

🚀 Transform Your Payment Processing with Instant SEPA Bank Transfers

BANKpay+ for WooCommerce enables your store to accept instant SEPA bank transfers with settlement in just 7 seconds. No card fees, no chargebacks, just instant bank-to-bank payments.

🏛️ EU Late Payment Directive Compliant – Stay compliant with European payment regulations while getting paid faster. Our AI-powered invoice agent sends smart reminders and auto-extracts payment details, helping you manage cash flow professionally and get paid on time.

🤖 AI-Powered Payment Management – Upload invoices, automatically extract payment details, and send intelligent reminders to customers. Our invoice processing AI helps you maintain professional payment workflows and reduce late payments.

🎯 Key Benefits

  • 7-Second Settlement – Get your money instantly, not in days
  • 💰 Up to 70% Lower Fees – Save thousands compared to card processors
  • 🛡️ Zero Chargebacks – Bank transfers are final and irreversible
  • 🏦 3000+ Banks Supported – Works with all major European banking institutions
  • EU Regulation Compliant – Late Payment Directive, PSD2, GDPR
  • 🤖 AI Invoice Processing – Auto-extract payment details and send smart reminders
  • 📱 Mobile-First Experience – Optimized for smartphone banking apps
  • 🔄 One-Click Repeat Payments – Returning customers pay with a single tap

💡 Why Choose BANKpay+ Over Card Payments?

💰 Save Money

  • Credit card fees: 1.5-3.5% per transaction
  • BANKpay+ fees: Starting at 0.5% (save up to €2,500/month on €100k revenue)
  • No monthly fees, no setup costs

⚡ Get Paid Instantly

  • Settlement time: 7 seconds (vs. 2-7 days with cards)
  • Same-day access to your money
  • Improved cash flow management

🛡️ Zero Chargeback Risk

  • Bank transfers are final and irreversible
  • No fraudulent chargebacks
  • No chargeback fees (typically €15-25 each)

😊 Better Customer Experience

  • No card details required
  • Works with all European banks (3000+ institutions)
  • Mobile-first payment flow
  • One-click payments for returning customers

👥 Who Should Use This?

Perfect for:

  • 💼 B2B businesses needing compliance with EU Late Payment Directive
  • 🏪 Online stores serving European customers
  • 📦 High-volume merchants wanting to reduce payment processing costs
  • 📈 Subscription businesses needing reliable recurring payments
  • 🏛️ Professional services (lawyers, accountants, consultants)
  • 💰 Merchants tired of chargebacks and fraud
  • ⚡ Businesses needing instant access to funds for better cash flow

🚀 Features

💸 Payment Processing

  • Instant Settlement – Money in your account within 7 seconds
  • 💰 Low Fees – Significantly lower than card processing fees (starting at 0.5%)
  • 🛡️ No Chargebacks – Bank transfers are final and secure
  • 🌍 EU Coverage – Accept payments from customers across Europe
  • ↩️ Refunds – Process refunds directly from WooCommerce
  • IBAN Validation – Real-time validation with MOD-97 checksum (70+ countries)
  • 🔄 Returning Customers – One-click payment with saved bank selection

🏛️ Compliance & Professional Features

  • EU Late Payment Directive Compliance – Stay compliant with European B2B payment regulations
  • 🔔 Smart Payment Reminders – AI-powered reminders help you get paid on time
  • 🤖 Invoice AI Agent – Automatically upload and process invoices
  • 📄 Auto-Extract Payment Details – AI reads invoice data (amount, due date, customer info)
  • 💼 Professional Payment Workflows – Maintain compliance and professionalism
  • 📅 Payment Terms Management – Track due dates and automate follow-ups
  • 📊 Audit Trail – Complete payment history for regulatory compliance

⚙️ Admin Experience

  • 📊 Analytics Dashboard – Comprehensive payment analytics with Chart.js visualizations
  • 📋 Transaction Management – View all BANKpay+ payments in dedicated admin panel
  • 📈 Payment Dashboard – Real-time statistics (today, week, month, all-time)
  • 📉 Performance Metrics – Success rates, volume trends, and processing times
  • 🏦 Bank Analytics – Top performing banks with usage statistics
  • 💾 CSV Export – Download analytics data for external analysis
  • 🔍 Order Details – Payment information displayed on order edit screen
  • 📱 WordPress Dashboard Widget – Quick overview of payment activity
  • 🔎 Search & Filter – Find transactions by status, customer, or order number

🔒 Security & Reliability

  • 🔐 Bank-Grade Security – Webhook signature verification and HMAC authentication
  • 🚦 Rate Limiting – Automatic protection against webhook abuse
  • 🔁 Replay Protection – Timestamp validation prevents duplicate processing
  • 🛡️ CSRF Protection – All admin actions protected with capability checks
  • 🔒 Security Headers – CSP, HSTS, X-Frame-Options, and more

👨‍💻 Developer Friendly

  • 🧪 Test Mode – Sandbox environment for testing
  • HPOS Compatible – Full support for High-Performance Order Storage
  • WordPress Standards – Follows WordPress and WooCommerce coding standards
  • 🔌 Extensible – Hooks and filters for customization
  • 🔗 REST API – Public endpoint for IBAN validation

📋 Requirements

  • ✅ WooCommerce 8.0 or higher
  • ✅ PHP 8.0 or higher
  • ✅ WordPress 6.0 or higher
  • ✅ BANKpay+ merchant account (Sign up here)

⚙️ How It Works

  1. 🛒 Customer selects BANKpay+ at checkout
  2. 🏦 Customer is redirected to select their bank
  3. 📱 Customer authorizes payment in their banking app
  4. ⚡ Payment is confirmed and settled instantly
  5. ✅ Customer is returned to your store

🚀 Get Started in 5 Minutes

  1. 📥 Install – Download from WordPress.org or search in your admin panel
  2. Activate – Click “Activate” in your plugins list
  3. 🔗 Connect – Run the setup wizard (WooCommerce Settings Payments BANKpay+)
  4. 🧪 Test – Place a test order to verify everything works
  5. 🎉 Go Live – Switch from test mode to live mode

💡 Easy Setup: Our guided setup wizard walks you through every step. No technical knowledge required!

Translations

BANKpay+ for WooCommerce is fully translated and available in 6 languages:

  • English (en_US) – Default, 100% complete
  • German (de_DE) – Deutsch, 100% complete (~98 strings)
  • Italian (it_IT) – Italiano, 100% complete (~98 strings)
  • Portuguese (pt_PT) – Português, 100% complete (~98 strings)
  • Spanish (es_ES) – Español, 100% complete (~98 strings)
  • Greek (el) – Ελληνικά, 100% complete (~98 strings)

Contributing Translations

We welcome translation contributions! You can contribute in two ways:

  1. Via WordPress.org (recommended) Visit: https://translate.wordpress.org/projects/wp-plugins/bankpay-open-banking-sepa-payments-for-woocommerce/ Translations submitted via GlotPress are automatically included in language packs.

  2. Via GitHub Fork the repository, translate the PO files in the languages/ directory, and submit a pull request. See languages/README.md for detailed translation guidelines.

Translation Credits

  • German: BANKpay+ Team (based on BANKpay+ application translations)
  • Italian: BANKpay+ Team (professional translation)
  • Portuguese: BANKpay+ Team (professional translation)
  • Spanish: BANKpay+ Team (professional translation)
  • Greek: BANKpay+ Team (professional translation for compliance market)

Thank you to all translators for making BANKpay+ accessible to users across Europe!

For Translators

Total strings to translate: 309 – PHP strings: ~271 (admin interface, settings, error messages) – JavaScript strings: ~38 (customer-facing UI, validation feedback)

Key terminology: – “Instant Bank Transfer” “SEPA-Sofortüberweisung” (DE) – “Settlement” “Abwicklung” (DE) – “Bank-grade security” “Bank-Level Sicherheit” (DE)

For complete translation guidelines, glossary, and context notes, see: languages/README.md in the plugin directory

For Developers

BANKpay+ is built with developers in mind, featuring extensive hooks, filters, and well-documented APIs for customization and integration.

Architecture

Design Patterns:

  • Dependency Injection Container
  • Repository Pattern for order operations
  • Observer Pattern for webhook events
  • Strategy Pattern for payment flows

Key Components:

  • WC_Gateway_BANKpay_Plus – Main gateway class extending WC_Payment_Gateway
  • BANKpay_Plus_API – RESTful API client with retry logic
  • BANKpay_Plus_Webhook – Webhook handler with signature verification
  • BANKpay_Plus_Analytics – Payment metrics and reporting
  • BANKpay_Plus_IBAN_Validator – MOD-97 validation with 70+ country support

API Integration

Authentication:

Authorization: Bearer {access_token} X-API-Key: {api_key} X-HMAC-Signature: {hmac_sha256}

Create Checkout Session:

POST /api/checkout/create { "amount": 100.00, "currency": "EUR", "reference": "Order #123", "return_url": "https://yourstore.com/checkout/thank-you", "webhook_url": "https://yourstore.com/?wc-api=wc_gateway_bankpay_plus" }

Webhook Payload:

POST /?wc-api=wc_gateway_bankpay_plus { "event": "checkout.completed", "checkout_id": "chk_123", "payment_id": "pay_456", "status": "completed", "timestamp": "2025-01-26T15:30:00Z" }

Hooks & Filters

Actions (Execution Points):

  • bankpay_plus_payment_initiated – Fires when payment initiates
  • bankpay_plus_payment_complete – Fires when payment completes
  • bankpay_plus_payment_failed – Fires when payment fails
  • bankpay_plus_refund_completed – Fires when refund processes
  • bankpay_plus_webhook_received – Fires on webhook receipt
  • bankpay_plus_webhook_verified – Fires after signature verification
  • bankpay_plus_webhook_failed – Fires on webhook error
  • bankpay_plus_analytics_event – Fires on analytics tracking

Filters (Data Modification):

  • bankpay_plus_gateway_title – Customize payment method title
  • bankpay_plus_gateway_description – Customize checkout description
  • bankpay_plus_payment_button_text – Customize payment button text
  • bankpay_plus_checkout_data – Modify checkout session data
  • bankpay_plus_api_endpoint – Change API endpoint URL
  • bankpay_plus_api_timeout – Adjust API request timeout (default: 30s)
  • bankpay_plus_iban_valid – Override IBAN validation result
  • bankpay_plus_bank_list_cache_ttl – Adjust bank list cache (default: 24h)
  • bankpay_plus_webhook_rate_limit – Adjust webhook rate limit (default: 50/min)
  • bankpay_plus_verify_webhook_signature – Toggle signature verification

Code Examples

Example 1: Custom Payment Completion Logic

add_action('bankpay_plus_payment_complete', 'my_custom_payment_handler', 10, 2); function my_custom_payment_handler($order_id, $payment_data) { $order = wc_get_order($order_id); // Send custom confirmation email wp_mail( $order->get_billing_email(), 'Payment Confirmed - Instant Delivery', 'Your payment was processed in 7 seconds!' ); // Trigger fulfillment webhook wp_remote_post('https://warehouse.example.com/fulfill', [ 'body' => json_encode([ 'order_id' => $order_id, 'payment_method' => 'bankpay_instant' ]) ]); }

Example 2: Customize Gateway Title

add_filter('bankpay_plus_gateway_title', 'custom_gateway_title', 10, 2); function custom_gateway_title($title, $order_id) { return $title . ' (Money in 7 seconds)'; }

Example 3: Validate Custom Business Rules

add_filter('bankpay_plus_checkout_data', 'add_business_rules', 10, 2); function add_business_rules($data, $order) { // Add custom validation for high-value orders if ($order->get_total() > 1000) { $data['require_phone_verification'] = true; } // Add custom metadata $data['merchant_reference'] = get_option('custom_order_prefix') . $order->get_id(); return $data; }

Example 4: Track Conversions in Analytics

add_action('woocommerce_thankyou', 'track_bankpay_conversion', 10, 1); function track_bankpay_conversion($order_id) { $order = wc_get_order($order_id); if ($order->get_payment_method() === 'bankpay_plus') { do_action('my_analytics_track', [ 'event' => 'instant_payment_completed', 'value' => $order->get_total(), 'settlement_time' => '7_seconds' ]); } }

REST API Endpoints

IBAN Validation:

POST /wp-json/bankpay-plus/v1/validate-iban { "iban": "DE89370400440532013000" } Response: { "valid": true, "country": "DE", "bank_code": "37040044", "checksum_valid": true, "formatted": "DE89 3704 0044 0532 0130 00" }

Rate Limiting: 10 requests per minute per IP address Caching: Validation results cached for 30 days Algorithm: MOD-97 checksum validation for 70+ countries

Database Schema

Analytics Table: {$wpdb->prefix}bankpay_plus_analytics

CREATE TABLE wp_bankpay_plus_analytics ( event_id BIGINT AUTO_INCREMENT PRIMARY KEY, order_id BIGINT NOT NULL, checkout_uuid VARCHAR(100), event_type VARCHAR(50) NOT NULL, event_timestamp DATETIME NOT NULL, order_total DECIMAL(10,2), currency VARCHAR(3), customer_email VARCHAR(100), bank_connector_id INT, bank_name VARCHAR(255), processing_time_ms INT, is_returning_customer TINYINT(1), user_agent_hash VARCHAR(64), INDEX idx_order_id (order_id), INDEX idx_event_type (event_type), INDEX idx_event_timestamp (event_timestamp) );

Testing

PHPUnit Test Suite:

cd wp-plugin/bankpay-plus-woocommerce composer install ./vendor/bin/phpunit --testsuite unit ./vendor/bin/phpunit --testsuite integration

Code Quality:

composer phpcs # Check WordPress coding standards composer phpcbf # Auto-fix coding standards composer phpstan # Static analysis (level 8)

Makefile Commands:

make test-all # Run all tests make lint # Check coding standards make format # Auto-fix code style make phpstan # Static analysis

Security Considerations

Webhook Signature Verification:

Automatic HMAC SHA-256 verification ensures webhook authenticity. Invalid signatures are rejected with HTTP 403.

Rate Limiting:

  • Webhooks: 50 requests/minute per IP
  • IBAN validation: 10 requests/minute per IP
  • Automatic blocking with exponential backoff

Data Protection:

  • All input sanitized with sanitize_text_field(), sanitize_url()
  • All output escaped with esc_html(), esc_url(), esc_attr()
  • No sensitive data in logs (automatic redaction)
  • GDPR compliant (SHA-256 hashing for personal data)

Documentation

In Plugin Directory:

  • README.md – Quick start and overview
  • DEVELOPER_GUIDE.md – Architecture and contribution guidelines
  • API_INTEGRATION_GUIDE.md – Step-by-step API integration
  • TESTING_GUIDE.md – Unit, integration, and E2E testing
  • WARP.md – AI assistant integration guide

Online Resources:

  • GitHub: https://github.com/k42/WooCommerce
  • API Docs: https://docs.bankpay.plus/api
  • Support: https://wordpress.org/support/plugin/bankpay-open-banking-sepa-payments-for-woocommerce/

Contributing

We welcome contributions! Please see CONTRIBUTING.md in the plugin directory for:

  • Code style guidelines (WordPress + WooCommerce standards)
  • Testing requirements (PHPUnit coverage)
  • Pull request process
  • Security disclosure policy

Found a bug? Report it on the WordPress.org support forum

Freeon Business plan
Tested up to
WordPress 6.7.4
This plugin is available for download for your site.