BANKpay+ for WooCommerce

Descripción

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.

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

Features

Payment Processing

  • Instant Settlement – Money in your account within 7 seconds
  • Low Fees – Significantly lower than card processing fees
  • 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

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

Capturas

  • Payment gateway settings
  • Checkout page with BANKpay+ option

Instalación

Minimum Requirements

  • WordPress 6.0 or greater
  • WooCommerce 8.0 or greater
  • PHP 8.0 or greater
  • MySQL 5.6 or greater
  • SSL certificate (required for production mode)
  • Modern web browser with JavaScript enabled

Automatic Installation

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser.

  1. Log in to your WordPress dashboard
  2. Navigate to Plugins > Add New
  3. Search for "BANKpay+ for WooCommerce"
  4. Click Install Now next to our plugin
  5. Click Activate once installation completes
  6. Navigate to WooCommerce > Settings > Payments > BANKpay+
  7. Click Run Setup Wizard to configure your payment gateway

Manual Installation

The manual installation method involves downloading the plugin and uploading it to your server via FTP or your hosting control panel.

  1. Download the plugin ZIP file from WordPress.org
  2. Log in to your WordPress dashboard
  3. Navigate to Plugins > Add New > Upload Plugin
  4. Click Choose File and select the ZIP file you downloaded
  5. Click Install Now
  6. Click Activate Plugin once installation completes
  7. Navigate to WooCommerce > Settings > Payments > BANKpay+
  8. Follow the setup wizard to connect your BANKpay+ account

Alternatively, you can upload the plugin via FTP:

  1. Unzip the plugin file on your computer
  2. Upload the bankpay-plus-woocommerce folder to /wp-content/plugins/
  3. Activate the plugin through the Plugins menu in WordPress

Updating

Automatic updates should work smoothly. As always, ensure you backup your site before updating.

If you experience any issues after an update:

  1. Go to WordPress > Settings > Permalinks
  2. Click Save Changes (no changes needed, just save)
  3. Clear your site cache if using a caching plugin

First-Time Setup

After installation, you’ll see an admin notice prompting you to run the setup wizard. The wizard will guide you through:

  1. Welcome – Introduction to BANKpay+ features
  2. Connect – API key configuration and connectivity test
  3. Payout – IBAN configuration for receiving settlements

The entire setup takes under 5 minutes. No technical knowledge required!

Testing Before Going Live

  1. Enable Test Mode in the gateway settings
  2. Use sandbox API credentials from your BANKpay+ dashboard
  3. Place test orders to verify the payment flow
  4. Check webhook delivery in WooCommerce logs
  5. Once satisfied, switch to Live Mode with production credentials

SSL Requirement

An SSL certificate is required for production mode. Payments will not work without HTTPS in live mode due to banking security requirements (PSD2 regulations).

Most hosting providers offer free SSL certificates via Let’s Encrypt. Contact your host if you need assistance.

FAQ

Do I need a BANKpay+ account?

Yes, you need to sign up for a merchant account at https://BANKpay.plus. The setup wizard can create your account automatically during plugin configuration.

How much does BANKpay+ cost?

Pricing starts at 0.5% per transaction with no monthly fees or setup costs. This is significantly lower than typical credit card processing fees (1.5-3.5%). For detailed pricing and volume discounts, visit https://BANKpay.plus/pricing

How long does setup take?

Most merchants complete setup in under 5 minutes using our guided setup wizard. You’ll need:

  • Business email address
  • IBAN for receiving payouts
  • Business registration details (name, address)

The wizard validates everything in real-time, so you’ll know immediately if there are any issues.

Can I test before going live?

Yes! The plugin includes a full sandbox environment. You can test unlimited transactions before accepting real payments. Simply enable "Test Mode" in the settings.

What if a customer wants a refund?

Process refunds directly from the WooCommerce order page—just like you would with any other payment method. Refunds are sent back to the customer’s bank account within 1-2 business days. The refund amount is automatically deducted from your next payout.

Which countries are supported?

BANKpay+ works across all SEPA countries: Austria, Belgium, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden.

Customers in any of these countries can pay using their local bank account.

Do customers need a BANKpay+ account?

No! Customers pay directly from their existing bank account using their banking app (like N26, Revolut, or their regular bank’s app). No registration, no new account creation—just instant authentication and payment.

Is there a test mode?

Yes, the plugin includes a sandbox mode for testing before going live. Test mode uses separate API credentials and doesn’t process real money.

What happens if a payment fails?

If a customer’s bank declines the payment or they cancel during authorization, the order remains in "Pending" status. The customer can try again or choose a different payment method. You’ll see the failure reason in the order notes.

Can customers save their payment info?

Yes! Returning customers can enable one-click payments. Their bank selection is remembered (stored locally in their browser), making future checkouts even faster. This is optional and controlled by the customer.

How secure is BANKpay+?

BANKpay+ uses bank-grade security:

  • All payments require authentication through the customer’s banking app
  • No sensitive data is stored on your server
  • Webhook signatures prevent tampering
  • Rate limiting protects against abuse
  • GDPR compliant

Does this work with WooCommerce subscriptions?

Currently, BANKpay+ supports one-time payments only. Subscription support is planned for a future release.

How does IBAN validation work?

The plugin validates IBANs using the MOD-97 algorithm for 70+ countries. Optionally, you can configure an ibanapi.com API key for enhanced validation with bank details. Without an API key, local validation still works perfectly.

Is customer bank data stored?

By default, bank selection information is stored only in your browser’s localStorage (on your device) to enable one-click payments on return visits. This includes your bank name, logo, and masked IBAN. No data is sent to our servers unless you explicitly create a user account and opt-in to cross-device sync.

You can remove saved bank information at any time by clicking "Forget this bank" during checkout, or by clearing your browser data. Data automatically expires after 90 days of inactivity.

Does this plugin work with my theme?

Yes! BANKpay+ works with any properly coded WordPress theme. The plugin integrates seamlessly with WooCommerce’s standard checkout flow.

If you notice styling issues, you can customize the appearance with CSS. We recommend Storefront or any WooCommerce-compatible theme for best results.

Is SSL required?

Yes, an SSL certificate (HTTPS) is required for production mode. This is mandated by PSD2 banking regulations for secure payment processing. Most hosting providers offer free SSL certificates via Let’s Encrypt.

Test mode can work without SSL for local development, but all production payments must use HTTPS.

Is this compatible with High-Performance Order Storage (HPOS)?

Yes! BANKpay+ is fully compatible with WooCommerce’s High-Performance Order Storage (HPOS, also called Custom Order Tables). We officially declare HPOS compatibility in our plugin headers.

What are webhooks and do I need to configure them?

Webhooks are automatic notifications sent from BANKpay+ to your store when payment status changes. The plugin handles webhook configuration automatically—no manual setup needed!

Webhooks are secured with HMAC SHA-256 signature verification and include:

  • Rate limiting (50 requests/minute per IP)
  • Replay protection (timestamp validation)
  • Automatic retry with exponential backoff for failed deliveries

Your webhook URL is automatically configured as: https://yourstore.com/?wc-api=wc_gateway_bankpay_plus

Can I customize the plugin behavior with hooks and filters?

Yes! The plugin provides numerous WordPress action and filter hooks for developers:

Key Actions:

  • 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

Key Filters:

  • bankpay_plus_gateway_title – Customize payment method title
  • bankpay_plus_gateway_description – Customize checkout description
  • bankpay_plus_checkout_data – Modify checkout session data
  • bankpay_plus_api_timeout – Adjust API request timeout

For complete documentation, see the "For Developers" section below.

Where can I find API documentation?

API integration documentation is available in:

  • Plugin directory: See API_INTEGRATION_GUIDE.md
  • Developer guide: See DEVELOPER_GUIDE.md for architecture overview
  • Online: Visit https://docs.bankpay.plus/api

The plugin uses RESTful JSON API with dual authentication (Bearer token + API key) and HMAC signature verification for webhooks.

How do I debug payment issues?

Enable WooCommerce logging:

  1. Go to WooCommerce > Status > Logs
  2. Look for logs starting with bankpay-plus and bankpay-plus-webhook

Common debugging steps:

  • Verify API credentials in settings
  • Check Test Mode vs Live Mode configuration
  • Confirm SSL certificate is valid
  • Review webhook delivery in logs
  • Check for plugin conflicts (disable other plugins temporarily)

For detailed troubleshooting, see: TESTING_GUIDE.md in the plugin directory

What are the rate limits for API requests?

The plugin implements intelligent rate limiting:

  • Webhook endpoint: 50 requests per minute per IP address
  • IBAN validation: 10 requests per minute per IP address
  • API requests: Cached for 5-15 minutes to minimize redundant calls

Bank connector list is cached for 24 hours, and analytics queries use transient caching to optimize performance.

What is SEPA Instant payment and how does it work?

SEPA Instant Credit Transfer (SCT Inst) is the European standard for real-time bank transfers. Unlike traditional SEPA payments that take 1-3 business days, SEPA Instant settles in under 10 seconds, 24/7/365.

How it works:

  1. Customer authorizes payment through their banking app
  2. Bank instantly verifies funds availability
  3. Money is debited from customer’s account
  4. Funds are credited to your account within 7-10 seconds
  5. Payment is final and irrevocable (no chargebacks)

Benefits over card payments:

  • Instant settlement (vs 2-7 days for cards)
  • Lower fees (0.5% vs 1.5-3.5% for cards)
  • No chargebacks (bank transfers are final)
  • No monthly fees or hidden costs
  • 24/7/365 availability

SEPA Instant is available across all 24 SEPA countries with 3000+ participating banks.

What is Account-to-Account (A2A) payment?

Account-to-Account (A2A) payments are direct bank transfers between customer and merchant accounts without card networks or intermediaries.

Traditional payment flow:

Customer  Card Network  Acquiring Bank  Your Account
(Multiple intermediaries = higher fees + longer settlement)

A2A payment flow:

Customer Bank  Your Bank (Direct)
(No intermediaries = lower fees + instant settlement)

Why A2A is revolutionary:

  • No card network fees (Visa/Mastercard take 1-3%)
  • No acquiring bank markup
  • Payments can’t be "charged back" fraudulently
  • Works with any bank account (no card needed)
  • Enabled by Open Banking regulations (PSD2)

What is Open Banking and PSD2?

Open Banking is the EU regulatory framework (PSD2 – Payment Services Directive 2) that allows licensed third parties to securely access banking services with customer consent.

What BANKpay+ does:

  1. You (merchant) requests payment
  2. Customer selects their bank
  3. Customer authorizes payment in their secure banking app
  4. BANKpay+ (licensed Payment Initiation Service Provider) initiates the transfer
  5. Money moves directly from customer to your account

Security features:

  • Strong Customer Authentication (SCA) required
  • No card details or passwords shared
  • Bank-grade encryption (TLS 1.3)
  • Multi-factor authentication via banking app
  • Regulated by European Central Bank and national supervisors

Your data security:

  • We never store bank login credentials
  • No sensitive payment data on your server
  • Webhook signatures prevent tampering
  • GDPR compliant by design

Why can’t customers chargeback BANKpay+ payments?

Bank transfers are legally final and irrevocable under EU payment law (SEPA Rulebook). Once a customer authorizes payment through Strong Customer Authentication (SCA) in their banking app, the transaction cannot be disputed or reversed.

Contrast with card payments:

  • Cards: Customer can dispute for 120+ days after purchase
  • BANKpay+: Payment authorized with bank-level authentication, legally binding

Customer protection still exists:

  • Customers must authenticate in their secure banking app
  • Unauthorized transactions are bank’s responsibility
  • Normal consumer protection laws still apply

For merchants, this means:

  • No fraudulent chargebacks
  • No chargeback fees (typically €15-25 each)
  • Predictable revenue (no surprise reversals months later)
  • Lower fraud rates (bank-level authentication required)

How fast is "7-second settlement"?

BANKpay+ uses SEPA Instant Credit Transfer, which guarantees settlement within 10 seconds. In practice, most payments settle in 7 seconds or less.

Timeline breakdown:

  • 0-2 seconds: Customer authorizes in banking app
  • 2-5 seconds: Bank verifies funds and processes transfer
  • 5-7 seconds: Money arrives in your account
  • 7-10 seconds: Confirmation webhook sent to your store

Compare this to traditional payment methods:

  • Credit cards: 2-7 business days
  • Debit cards: 1-3 business days
  • PayPal: 1-2 business days (or instant for 1% fee)
  • Bank transfer: 1-3 business days
  • BANKpay+ SEPA Instant: 7 seconds

Real-world impact:

  • Customer completes checkout at 14:30:15
  • Money in your account at 14:30:22
  • Order can ship immediately
  • Same-day access to revenue

Which countries and banks are supported?

BANKpay+ works across all 24 SEPA countries with 3000+ participating banks:

Countries: Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden

Major banks include:

  • Germany: Deutsche Bank, Commerzbank, Sparkasse, N26, Revolut
  • France: BNP Paribas, Crédit Agricole, Société Générale
  • Netherlands: ING, Rabobank, ABN AMRO
  • Spain: Santander, BBVA, CaixaBank
  • Italy: UniCredit, Intesa Sanpaolo
  • Austria: Erste Bank, Raiffeisen
  • Plus digital banks: N26, Revolut, Bunq, Trade Republic, Wise

Requirements:

  • Customer must have an account at a SEPA Instant-enabled bank
  • Most major EU banks support SEPA Instant (as of 2025)
  • EU regulation makes SEPA Instant mandatory for all banks

Check bank availability during checkout – the plugin automatically displays only supported banks for each customer.

How does BANKpay+ compare to other payment methods?

Feature
BANKpay+
Credit Cards
PayPal
SEPA Transfer

Settlement Time
7 seconds
2-7 days
1-2 days
1-3 days

Transaction Fees
0.5%
1.5-3.5%
2.9% + €0.35
Free (slow)

Monthly Fees
None
€20-50
None
None

Chargebacks
No
Yes (120 days)
Yes (180 days)
No

Setup Complexity
Easy
Complex
Medium
Manual

Customer Friction
Low
Medium
Medium
High

Coverage
EU (SEPA)
Global
Global
EU (SEPA)

Success Rate
95%+
70-80%
85-90%
Manual

Best for:

  • European B2C ecommerce
  • Digital products needing instant delivery
  • High-value transactions (lower fees)
  • Businesses tired of chargebacks
  • Cash flow optimization (instant settlement)

Not ideal for:

  • Global sales outside Europe
  • Businesses needing payment plans
  • Customers without bank accounts (rare in EU)

Reseñas

No hay reseñas para este plugin.

Colaboradores y desarrolladores

"BANKpay+ for WooCommerce" es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

Traduce "BANKpay+ for WooCommerce" a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.7.0

  • Feature: Added full internationalization support for 6 European languages
  • Languages: German (de_DE), Italian (it_IT), Portuguese (pt_PT), Spanish (es_ES), Greek (el)
  • Translation: 309 translatable strings across PHP and JavaScript
  • Translation: Internationalized all JavaScript files with wp.i18n
  • Translation: Professional translations for all supported languages
  • Developer: Added translation infrastructure with POT template generation
  • Developer: Created Makefile commands for translation management (make translate, make compile-mo)
  • Documentation: Comprehensive translation README for contributors
  • Ready: WordPress.org language pack integration prepared
  • Release Date: 2025-10-26

1.6.5

  • Fix: Converted all code blocks in readme.txt to WordPress.org format (4-space indentation)
  • Fix: Removed triple backtick code fences that were rendering as literal text on plugin page
  • Enhancement: Code examples now render properly in preview boxes on WordPress.org (15 blocks)
  • Tooling: Added post-release validation script (bin/post-release-validation.sh) with 8 automated checks
  • Documentation: Added WordPress.org readme.txt formatting rules to WARP.md for AI coding agents
  • Quality: All code blocks validated: PHP examples, REST API calls, SQL schema, shell commands
  • Developer: Post-release script validates version consistency, secrets security, SVN status, plugin page availability
  • Release Date: 2025-10-26

1.6.1

  • Security: Critical security audit and hardening release
  • Security: Fixed input sanitization in webhook handler and admin forms
  • Security: Enhanced output escaping across all templates
  • Security: Improved nonce verification for all AJAX endpoints
  • Security: Added SQL injection prevention in analytics queries
  • Security: Strengthened capability checks for admin actions
  • Security: Added rate limiting for REST API endpoints
  • Security: Implemented webhook replay protection
  • Security: Enhanced CSRF protection for settings pages
  • Code Quality: Fixed critical coding standards violations
  • Testing: Verified all security fixes with automated test suite
  • Tooling: Security audit script validates OWASP best practices
  • Release Date: 2025-10-26

1.5.2

  • Documentation: Added comprehensive TESTING_GUIDE.md with unit, integration, E2E, and security testing procedures
  • Documentation: Created DEVELOPER_GUIDE.md for developer onboarding, architecture overview, and contribution guidelines
  • Documentation: Published API_INTEGRATION_GUIDE.md for step-by-step BANKpay+ API integration
  • Tooling: Automated test suite runner (bin/run-full-test-suite.sh) for comprehensive validation
  • Tooling: Pre-release checklist script (bin/pre-release-checklist.sh) for deployment validation
  • Tooling: Security audit script (bin/security-audit.sh) with OWASP-based checks
  • Code Quality: Fixed 400+ coding standards violations via PHPCBF
  • Enhancement: Enhanced WARP.md with detailed project structure for AI assistants
  • Maintenance: Updated all inline documentation and error handling
  • Testing: All unit and integration tests passing
  • Compatibility: Verified WordPress 6.7 and WooCommerce 9.0 compatibility
  • Release Date: 2025-10-26

1.6.0

  • Major: Redesigned onboarding experience with 3-step setup wizard (Welcome Connect Payout)
  • Major: Simplified gateway settings from 13 fields to 10 (7 essential + 3 advanced)
  • Feature: Interactive setup wizard with real-time validation and error handling
  • Feature: Admin notice on first install guides users to setup wizard
  • Feature: Connection status indicator in settings page showing API status, mode, and merchant ID
  • Feature: API key validation during setup with connectivity testing
  • Feature: IBAN validation using MOD-97 algorithm during setup
  • Feature: Account holder name validation (minimum 2 characters)
  • Enhancement: Unified API key field (auto-detects test vs live mode)
  • Enhancement: Gateway automatically enables after wizard completion
  • Enhancement: "Run Setup Wizard" button always accessible from settings
  • Enhancement: Skip wizard functionality with permanent dismissal option
  • Enhancement: Backward compatibility migration for v1.5.x settings
  • Enhancement: Visual error messages with clear, actionable feedback
  • Enhancement: Connection status with color-coded badges (test/live/enabled/disabled)
  • UX: Auto-populated form fields with sensible defaults (site name, etc.)
  • UX: Inline help text and dashboard links throughout wizard
  • UX: Responsive wizard design optimized for mobile devices
  • Developer: Public handle_auto_signup() method for programmatic onboarding
  • Developer: New CSS classes: .bankpay-connection-status, .bankpay-badge, .wizard-error
  • Security: Nonce verification on wizard skip action
  • Security: AJAX handler with capability checks for notice dismissal
  • Performance: Transient-based wizard completion tracking
  • Compatibility: Seamless migration from legacy test/live key structure
  • Docs: Comprehensive inline documentation for all wizard methods
  • Release Date: 2025-01-25

1.5.1

  • Bug Fix: Fixed critical issue where refund transactions were not being tracked in analytics
  • Bug Fix: Fixed incorrect processing time calculation that was using current timestamp instead of event timestamp
  • Enhancement: Added quick date filter buttons (Today, Last 7/30/90 Days) for faster analytics filtering
  • Enhancement: Improved date validation: prevents future dates, enforces logical date ranges, limits max range to 365 days
  • Enhancement: Added user-friendly error messages for invalid date range selections
  • Enhancement: Implemented 12-month data retention policy with automatic cleanup via daily cron job
  • Performance: Optimized analytics queries with improved date range validation
  • Developer: Added BANKpay_Plus_Analytics::cleanup_old_events() static method for data maintenance
  • Developer: Added bankpay_plus_track_refund() hook that triggers on woocommerce_order_refunded action

1.5.0

  • Feature: Analytics Dashboard with Chart.js visualizations (4 chart types)
  • Feature: Payment performance metrics (success rate, volume, processing time)
  • Feature: Bank-by-bank usage statistics and performance rankings
  • Feature: Time-series charts showing payment volume and success rate trends
  • Feature: CSV export functionality for external analysis
  • Feature: Custom date range filtering (default: 30 days)
  • Feature: Real-time analytics with transient caching (5-15 minute TTL)
  • Database: New analytics table with 11 optimized indexes for performance
  • Enhancement: Event tracking for payment initiation and completion
  • Enhancement: Processing time calculation (milliseconds)
  • Enhancement: Returning customer detection in analytics
  • Enhancement: Auto-migration on plugin activation (version-checked)
  • Admin: Dedicated "BANKpay+ Analytics" menu under WooCommerce
  • Admin: 4 stat cards with hover effects and responsive design
  • Admin: Line chart for payment volume over time (dual Y-axis)
  • Admin: Pie charts for success/failure ratio and top 5 banks
  • Admin: Horizontal bar chart for bank success rates
  • Admin: Detailed bank performance table with sortable columns
  • Performance: Query caching prevents redundant database hits
  • Performance: Composite indexes optimize date-range queries
  • Performance: Chart.js 4.4.0 loaded via CDN for fast rendering
  • Security: AJAX nonce verification for CSV export
  • Security: Capability checks (manage_woocommerce required)
  • Security: User agent hashing for privacy (SHA-256)
  • Developer: 175+ lines of JavaScript for chart initialization
  • Developer: Extensible analytics class with public query methods
  • Developer: GDPR-compliant data collection (no IP addresses stored)
  • Responsive: Mobile-optimized dashboard (tablets, phones)

1.4.0

  • Feature: Real-time IBAN validation with MOD-97 checksum algorithm
  • Feature: Support for 70+ countries with country-specific validation
  • Feature: Bank code extraction (DE, FR, GB, ES, IT, NL, BE, AT)
  • Feature: Optional ibanapi.com integration for enhanced validation
  • Feature: Client-side IBAN formatting and real-time feedback
  • Feature: REST API endpoint: /wp-json/bankpay-plus/v1/validate-iban
  • Feature: 30-day validation caching for performance
  • Feature: Rate limiting protection (10 requests per minute)
  • Feature: Returning customer recognition with localStorage persistence
  • Feature: One-click payment for returning customers
  • Feature: Automatic bank selection memory (90-day retention)
  • Feature: IBAN masking for security (shows DE89****0000)
  • Feature: Welcome back banner with saved bank information
  • Feature: Manual "Forget this bank" option for privacy control
  • Enhancement: Admin settings for IBAN validation configuration
  • Enhancement: Visual feedback with success/error states
  • Enhancement: localStorage caching for offline validation
  • Enhancement: GDPR-compliant privacy policy template
  • Enhancement: Mobile-responsive returning customer UI
  • Enhancement: Event system for payment completion hooks
  • Developer: Comprehensive PHPUnit test suite (30+ tests)
  • Developer: Extensible validation hooks and filters
  • Developer: Custom jQuery events for integration (bankpay:bank_saved, etc.)
  • Privacy: localStorage-first approach (no server storage by default)
  • Privacy: Automatic WordPress Privacy Policy integration

1.3.1

  • Security: Enhanced input sanitization and validation across all components
  • Security: Improved SQL query safety with proper escaping
  • Code Quality: Fixed 1,256 coding standards violations (WordPress/WooCommerce standards)
  • Code Quality: Improved code formatting and inline documentation
  • Performance: Optimized statistics calculations with proper caching
  • Maintenance: Updated phpcs and phpstan configurations
  • Compatibility: Verified WordPress 6.7 and WooCommerce 9.0 compatibility

1.0.0

  • Initial release
  • Instant SEPA payment processing
  • Webhook support for payment notifications
  • Refund processing
  • Test mode with sandbox environment
  • HPOS (High-Performance Order Storage) compatibility
  • Admin transaction management dashboard
  • Payment statistics and analytics
  • Order payment details meta box
  • WordPress dashboard widget
  • Advanced security features (rate limiting, replay protection, security headers)
  • Dependency injection and repository pattern architecture
  • Comprehensive logging with automatic sensitive data redaction