{"id":158101,"date":"2022-06-07T10:36:01","date_gmt":"2022-06-07T10:36:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/bankpay-open-banking-sepa-payments-for-woocommerce\/"},"modified":"2026-04-12T17:05:43","modified_gmt":"2026-04-12T17:05:43","slug":"bankpay-open-banking-sepa-payments-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/bankpay-open-banking-sepa-payments-for-woocommerce\/","author":20454824,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.7.18","stable_tag":"1.7.18","tested":"6.9.7","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"BANKpay+ for WooCommerce","header_author":"BANKpay+","header_description":"Accept SEPA Open Banking Payment on your store using the BANKpay+ Payment Gateway for WooCommerce","assets_banners_color":"5c4beb","last_updated":"2026-04-12 17:05:43","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/BANKpay.plus","header_author_uri":"https:\/\/BANKpay.plus","rating":5,"author_block_rating":0,"active_installs":30,"downloads":3297,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"bankpay","date":"2022-06-07 10:37:16"},"1.0.1":{"tag":"1.0.1","author":"bankpay","date":"2022-06-22 18:57:59"},"1.0.2":{"tag":"1.0.2","author":"bankpay","date":"2022-09-01 13:40:17"},"1.0.3":{"tag":"1.0.3","author":"bankpay","date":"2022-09-01 16:40:42"},"1.0.4":{"tag":"1.0.4","author":"bankpay","date":"2022-09-02 11:58:54"},"1.1.0":{"tag":"1.1.0","author":"bankpay","date":"2023-03-31 16:20:03"},"1.1.1":{"tag":"1.1.1","author":"bankpay","date":"2023-03-31 16:55:30"},"1.1.10":{"tag":"1.1.10","author":"bankpay","date":"2023-04-29 00:35:36"},"1.1.11":{"tag":"1.1.11","author":"bankpay","date":"2023-04-29 01:19:26"},"1.1.12":{"tag":"1.1.12","author":"bankpay","date":"2023-05-15 17:20:30"},"1.1.13":{"tag":"1.1.13","author":"bankpay","date":"2023-05-17 10:36:59"},"1.1.14":{"tag":"1.1.14","author":"bankpay","date":"2023-05-17 10:44:16"},"1.1.15":{"tag":"1.1.15","author":"bankpay","date":"2023-05-17 10:55:31"},"1.1.16":{"tag":"1.1.16","author":"bankpay","date":"2023-05-17 11:10:12"},"1.1.17":{"tag":"1.1.17","author":"bankpay","date":"2023-05-17 12:07:55"},"1.1.18":{"tag":"1.1.18","author":"bankpay","date":"2023-05-17 12:59:39"},"1.1.19":{"tag":"1.1.19","author":"bankpay","date":"2023-05-18 09:14:52"},"1.1.2":{"tag":"1.1.2","author":"bankpay","date":"2023-03-31 17:02:19"},"1.1.20":{"tag":"1.1.20","author":"bankpay","date":"2023-05-19 00:11:44"},"1.1.21":{"tag":"1.1.21","author":"bankpay","date":"2023-05-19 01:45:46"},"1.1.22":{"tag":"1.1.22","author":"bankpay","date":"2023-05-19 13:23:17"},"1.1.23":{"tag":"1.1.23","author":"bankpay","date":"2023-05-19 13:31:18"},"1.1.24":{"tag":"1.1.24","author":"bankpay","date":"2023-05-23 22:54:31"},"1.1.3":{"tag":"1.1.3","author":"bankpay","date":"2023-03-31 18:43:29"},"1.1.4":{"tag":"1.1.4","author":"bankpay","date":"2023-03-31 18:59:32"},"1.1.5":{"tag":"1.1.5","author":"bankpay","date":"2023-03-31 19:06:51"},"1.1.6":{"tag":"1.1.6","author":"bankpay","date":"2023-04-19 17:05:02"},"1.1.7":{"tag":"1.1.7","author":"bankpay","date":"2023-04-19 17:14:11"},"1.1.8":{"tag":"1.1.8","author":"bankpay","date":"2023-04-19 17:19:27"},"1.1.9":{"tag":"1.1.9","author":"bankpay","date":"2023-04-19 17:26:27"},"1.2.0":{"tag":"1.2.0","author":"bankpay","date":"2025-10-26 14:55:09"},"1.5.2":{"tag":"1.5.2","author":"bankpay","date":"2025-10-26 14:55:09"},"1.6.1":{"tag":"1.6.1","author":"bankpay","date":"2025-10-26 17:13:42"},"1.6.5":{"tag":"1.6.5","author":"bankpay","date":"2025-10-26 18:04:08"},"1.7.0":{"tag":"1.7.0","author":"bankpay","date":"2025-10-26 22:04:11"},"1.7.1":{"tag":"1.7.1","author":"bankpay","date":"2025-11-17 18:35:00"},"1.7.10":{"tag":"1.7.10","author":"bankpay","date":"2026-03-12 13:38:15"},"1.7.11":{"tag":"1.7.11","author":"bankpay","date":"2026-03-12 14:11:25"},"1.7.12":{"tag":"1.7.12","author":"bankpay","date":"2026-03-12 14:12:41"},"1.7.13":{"tag":"1.7.13","author":"bankpay","date":"2026-03-12 14:18:48"},"1.7.14":{"tag":"1.7.14","author":"bankpay","date":"2026-03-12 14:51:00"},"1.7.15":{"tag":"1.7.15","author":"bankpay","date":"2026-03-16 14:03:38"},"1.7.16":{"tag":"1.7.16","author":"bankpay","date":"2026-03-16 14:12:40"},"1.7.17":{"tag":"1.7.17","author":"bankpay","date":"2026-03-16 14:47:54"},"1.7.18":{"tag":"1.7.18","author":"bankpay","date":"2026-04-12 17:05:43"},"1.7.2":{"tag":"1.7.2","author":"bankpay","date":"2025-11-17 20:53:39"},"1.7.3":{"tag":"1.7.3","author":"bankpay","date":"2025-11-17 21:09:47"},"1.7.4":{"tag":"1.7.4","author":"bankpay","date":"2025-11-17 21:22:00"},"1.7.5":{"tag":"1.7.5","author":"bankpay","date":"2026-02-18 17:57:10"},"1.7.7":{"tag":"1.7.7","author":"bankpay","date":"2026-03-06 22:30:50"},"1.7.8":{"tag":"1.7.8","author":"bankpay","date":"2026-03-12 14:07:15"},"1.7.9":{"tag":"1.7.9","author":"bankpay","date":"2026-03-12 13:33:18"}},"upgrade_notice":{"1.5.0":"<p>Major feature release: Analytics Dashboard with Chart.js visualizations, payment performance metrics, bank-by-bank statistics, CSV export, and custom date range filtering. Database table auto-created on activation. Requires PHP 8.0+.<\/p>","1.4.0":"<p>Major feature release: IBAN validation with MOD-97 checksum for 70+ countries, returning customer recognition with one-click payment, localStorage persistence for privacy-first approach. Fully GDPR-compliant.<\/p>","1.0.0":"<p>Initial release of BANKpay+ for WooCommerce.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128\u00d7128.png":{"filename":"icon-128\u00d7128.png","revision":3483926,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256\u00d7256.png":{"filename":"icon-256\u00d7256.png","revision":3483926,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3484793,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772\u00d7250.png":{"filename":"banner-772\u00d7250.png","revision":3483926,"resolution":"772x250","location":"assets","locale":"","width":772,"height":255}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.1.0","1.1.1","1.1.10","1.1.11","1.1.12","1.1.13","1.1.14","1.1.15","1.1.16","1.1.17","1.1.18","1.1.19","1.1.2","1.1.20","1.1.21","1.1.22","1.1.23","1.1.24","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","1.2.0","1.5.2","1.6.1","1.6.5","1.7.0","1.7.1","1.7.10","1.7.11","1.7.12","1.7.13","1.7.14","1.7.15","1.7.16","1.7.17","1.7.18","1.7.2","1.7.3","1.7.4","1.7.5","1.7.7","1.7.8","1.7.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3483926,"resolution":"1","location":"assets","locale":"","width":1171,"height":998},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3483926,"resolution":"2","location":"assets","locale":"","width":1169,"height":1009},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3483931,"resolution":"3","location":"assets","locale":"","width":1170,"height":1049},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3483931,"resolution":"4","location":"assets","locale":"","width":1170,"height":1041}},"screenshots":{"1":"Payment gateway settings","2":"Checkout page with BANKpay+ option","3":"Bank selection interface","4":"Payment confirmation","5":"Admin transactions dashboard with statistics","6":"Transaction list with filtering and search","7":"Order payment details meta box","8":"WordPress dashboard widget"}},"plugin_section":[262246],"plugin_tags":[127760,6887,6593,33609,286],"plugin_category":[45],"plugin_contributors":[257877],"plugin_business_model":[],"class_list":["post-158101","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-bank-transfer","plugin_tags-instant-payment","plugin_tags-payment-gateway","plugin_tags-sepa","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-bankpay","plugin_committers-bankpay"],"banners":{"banner":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/banner-772\u00d7250.png?rev=3483926","banner_2x":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/banner-1544x500.png?rev=3484793","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/icon-128\u00d7128.png?rev=3483926","icon_2x":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/icon-256\u00d7256.png?rev=3483926","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/screenshot-1.png?rev=3483926","caption":"Payment gateway settings"},{"src":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/screenshot-2.png?rev=3483926","caption":"Checkout page with BANKpay+ option"},{"src":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/screenshot-3.png?rev=3483931","caption":"Bank selection interface"},{"src":"https:\/\/ps.w.org\/bankpay-open-banking-sepa-payments-for-woocommerce\/assets\/screenshot-4.png?rev=3483931","caption":"Payment confirmation"}],"raw_content":"<!--section=description-->\n<p>\ud83d\ude80 <strong>Transform Your Payment Processing with Instant SEPA Bank Transfers<\/strong><\/p>\n\n<p>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.<\/p>\n\n<p>Accept instant SEPA payments via BANKpay+ Real-time bank transfers with 7-second settlement directly into your bank account. A secure and convenient payment method that boosts conversions and customer satisfaction.<\/p>\n\n<h4>\ud83c\udfaf Key Benefits<\/h4>\n\n<ul>\n<li>\u26a1 <strong>7-Second Settlement<\/strong> - Get your money instantly, not in days<\/li>\n<li>\ud83d\udcb0 <strong>Up to 70% Lower Fees<\/strong> - Save thousands compared to card processors<\/li>\n<li>\ud83d\udee1\ufe0f <strong>Zero Chargebacks<\/strong> - Bank transfers are final and irreversible<\/li>\n<li>\ud83c\udfe6 <strong>3000+ Banks Supported<\/strong> - Works with all major European banking institutions<\/li>\n<li>\u2705 <strong>EU Regulation Compliant<\/strong> - Late Payment Directive, PSD2, GDPR<\/li>\n<li>\ud83e\udd16 <strong>AI Invoice Processing<\/strong> - Auto-extract payment details and send smart reminders<\/li>\n<li>\ud83d\udcf1 <strong>Mobile-First Experience<\/strong> - Optimized for smartphone banking apps<\/li>\n<li>\ud83d\udd04 <strong>One-Click Repeat Payments<\/strong> - Returning customers pay with a single tap<\/li>\n<\/ul>\n\n<h4>\ud83d\udca1 Why Choose BANKpay+ Over Card Payments?<\/h4>\n\n<p><strong>\ud83d\udcb0 Save Money<\/strong><\/p>\n\n<ul>\n<li>Credit card fees: 1.5-3.5% per transaction<\/li>\n<li>BANKpay+ fees: Starting at 0.5% (save up to \u20ac2,500\/month on \u20ac100k revenue)<\/li>\n<li>No monthly fees, no setup costs - free for the first 30 days!<\/li>\n<\/ul>\n\n<p><strong>\u26a1 Get Paid Instantly<\/strong><\/p>\n\n<ul>\n<li>Settlement time: 7 seconds (vs. 2-7 days with cards) directly into your bank account.<\/li>\n<li>Same-day access to your money<\/li>\n<li>Improved cash flow management<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udee1\ufe0f Zero Chargeback Risk<\/strong><\/p>\n\n<ul>\n<li>Bank transfers are final and irreversible<\/li>\n<li>No fraudulent chargebacks<\/li>\n<li>No chargeback fees (typically \u20ac15-25 each)<\/li>\n<\/ul>\n\n<p><strong>\ud83d\ude0a Better Customer Experience<\/strong><\/p>\n\n<ul>\n<li>No card details required<\/li>\n<li>Works with all European banks (3000+ institutions)<\/li>\n<li>Mobile-first payment flow<\/li>\n<li>One-click payments for returning customers<\/li>\n<\/ul>\n\n<h4>\ud83d\udc65 Who Should Use This?<\/h4>\n\n<p><strong>Perfect for:<\/strong><\/p>\n\n<ul>\n<li>\ud83d\udcbc B2B businesses needing compliance with EU Late Payment Directive<\/li>\n<li>\ud83c\udfea Online stores serving European customers<\/li>\n<li>\ud83d\udce6 High-volume merchants wanting to reduce payment processing costs<\/li>\n<li>\ud83d\udcc8 Subscription businesses needing reliable recurring payments<\/li>\n<li>\ud83c\udfdb\ufe0f Professional services (lawyers, accountants, consultants)<\/li>\n<li>\ud83d\udcb0 Merchants tired of chargebacks and fraud<\/li>\n<li>\u26a1 Businesses needing instant access to funds for better cash flow<\/li>\n<\/ul>\n\n<h4>\ud83d\ude80 Features<\/h4>\n\n<p><strong>\ud83d\udcb8 Payment Processing<\/strong><\/p>\n\n<ul>\n<li>\u26a1 <strong>Instant Settlement<\/strong> - Money in your account within 7 seconds<\/li>\n<li>\ud83d\udcb0 <strong>Low Fees<\/strong> - Significantly lower than card processing fees (starting at 0.5%)<\/li>\n<li>\ud83d\udee1\ufe0f <strong>No Chargebacks<\/strong> - Bank transfers are final and secure<\/li>\n<li>\ud83c\udf0d <strong>EU Coverage<\/strong> - Accept payments from customers across Europe<\/li>\n<li>\u21a9\ufe0f <strong>Refunds<\/strong> - Process refunds directly from WooCommerce<\/li>\n<li>\u2713 <strong>IBAN Validation<\/strong> - Real-time validation with MOD-97 checksum (70+ countries)<\/li>\n<li>\ud83d\udd04 <strong>Returning Customers<\/strong> - One-click payment with saved bank selection<\/li>\n<\/ul>\n\n<p><strong>\ud83c\udfdb\ufe0f Compliance &amp; Professional Features<\/strong><\/p>\n\n<ul>\n<li>\ud83d\udcbc <strong>Professional Payment Workflows<\/strong> - Maintain compliance and professionalism<\/li>\n<li>\ud83d\udcc5 <strong>Payment Terms Management<\/strong> - Track due dates and automate follow-ups<\/li>\n<li>\ud83d\udcca <strong>Audit Trail<\/strong> - Complete payment history for regulatory compliance<\/li>\n<\/ul>\n\n<p><strong>\u2699\ufe0f Admin Experience<\/strong><\/p>\n\n<ul>\n<li>\ud83d\udcca <strong>Analytics Dashboard<\/strong> - Comprehensive payment analytics with Chart.js visualizations<\/li>\n<li>\ud83d\udccb <strong>Transaction Management<\/strong> - View all BANKpay+ payments in dedicated admin panel<\/li>\n<li>\ud83d\udcc8 <strong>Payment Dashboard<\/strong> - Real-time statistics (today, week, month, all-time)<\/li>\n<li>\ud83d\udcc9 <strong>Performance Metrics<\/strong> - Success rates, volume trends, and processing times<\/li>\n<li>\ud83c\udfe6 <strong>Bank Analytics<\/strong> - Top performing banks with usage statistics<\/li>\n<li>\ud83d\udcbe <strong>CSV Export<\/strong> - Download analytics data for external analysis<\/li>\n<li>\ud83d\udd0d <strong>Order Details<\/strong> - Payment information displayed on order edit screen<\/li>\n<li>\ud83d\udcf1 <strong>WordPress Dashboard Widget<\/strong> - Quick overview of payment activity<\/li>\n<li>\ud83d\udd0e <strong>Search &amp; Filter<\/strong> - Find transactions by status, customer, or order number<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udd12 Security &amp; Reliability<\/strong><\/p>\n\n<ul>\n<li>\ud83d\udd10 <strong>Bank-Grade Security<\/strong> - Webhook signature verification and HMAC authentication<\/li>\n<li>\ud83d\udea6 <strong>Rate Limiting<\/strong> - Automatic protection against webhook abuse<\/li>\n<li>\ud83d\udd01 <strong>Replay Protection<\/strong> - Timestamp validation prevents duplicate processing<\/li>\n<li>\ud83d\udee1\ufe0f <strong>CSRF Protection<\/strong> - All admin actions protected with capability checks<\/li>\n<li>\ud83d\udd12 <strong>Security Headers<\/strong> - CSP, HSTS, X-Frame-Options, and more<\/li>\n<\/ul>\n\n<p><strong>\ud83d\udc68\u200d\ud83d\udcbb Developer Friendly<\/strong><\/p>\n\n<ul>\n<li>\ud83e\uddea <strong>Test Mode<\/strong> - Sandbox environment for testing<\/li>\n<li>\u26a1 <strong>HPOS Compatible<\/strong> - Full support for High-Performance Order Storage<\/li>\n<li>\u2705 <strong>WordPress Standards<\/strong> - Follows WordPress and WooCommerce coding standards<\/li>\n<li>\ud83d\udd0c <strong>Extensible<\/strong> - Hooks and filters for customization<\/li>\n<li>\ud83d\udd17 <strong>REST API<\/strong> - Public endpoint for IBAN validation<\/li>\n<\/ul>\n\n<h4>\ud83d\udccb Requirements<\/h4>\n\n<ul>\n<li>\u2705 WooCommerce 8.0 or higher<\/li>\n<li>\u2705 PHP 8.0 or higher<\/li>\n<li>\u2705 WordPress 6.0 or higher<\/li>\n<li>\u2705 BANKpay+ merchant account (<a href=\"https:\/\/BANKpay.plus\">Sign up here<\/a>)<\/li>\n<\/ul>\n\n<h4>\u2699\ufe0f How It Works<\/h4>\n\n<ol>\n<li>\ud83d\uded2 Customer selects BANKpay+ at checkout<\/li>\n<li>\ud83c\udfe6 Customer is redirected to select their bank<\/li>\n<li>\ud83d\udcf1 Customer authorizes payment in their banking app<\/li>\n<li>\u26a1 Payment is confirmed and settled instantly<\/li>\n<li>\u2705 Customer is returned to your store<\/li>\n<\/ol>\n\n<h4>\ud83d\ude80 Get Started in 5 Minutes<\/h4>\n\n<ol>\n<li>\ud83d\udce5 <strong>Install<\/strong> - Download from WordPress.org or search in your admin panel<\/li>\n<li>\u2705 <strong>Activate<\/strong> - Click \"Activate\" in your plugins list<\/li>\n<li>\ud83d\udd17 <strong>Connect<\/strong> - Run the setup wizard (WooCommerce \u2192 Settings \u2192 Payments \u2192 BANKpay+)<\/li>\n<li>\ud83e\uddea <strong>Test<\/strong> - Place a test order to verify everything works<\/li>\n<li>\ud83c\udf89 <strong>Go Live<\/strong> - Switch from test mode to live mode<\/li>\n<\/ol>\n\n<p><strong>\ud83d\udca1 Easy Setup:<\/strong> Our guided setup wizard walks you through every step. No technical knowledge required!<\/p>\n\n<h3>Translations<\/h3>\n\n<p>BANKpay+ for WooCommerce is fully translated and available in 6 languages:<\/p>\n\n<ul>\n<li><strong>English<\/strong> (en_US) - Default, 100% complete<\/li>\n<li><strong>German<\/strong> (de_DE) - Deutsch, 100% complete (~98 strings)<\/li>\n<li><strong>Italian<\/strong> (it_IT) - Italiano, 100% complete (~98 strings)<\/li>\n<li><strong>Portuguese<\/strong> (pt_PT) - Portugu\u00eas, 100% complete (~98 strings)<\/li>\n<li><strong>Spanish<\/strong> (es_ES) - Espa\u00f1ol, 100% complete (~98 strings)<\/li>\n<li><strong>Greek<\/strong> (el) - \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac, 100% complete (~98 strings)<\/li>\n<\/ul>\n\n<h4>Contributing Translations<\/h4>\n\n<p>We welcome translation contributions! You can contribute in two ways:<\/p>\n\n<ol>\n<li><p><strong>Via WordPress.org<\/strong> (recommended)\nVisit: https:\/\/translate.wordpress.org\/projects\/wp-plugins\/bankpay-open-banking-sepa-payments-for-woocommerce\/\nTranslations submitted via GlotPress are automatically included in language packs.<\/p><\/li>\n<li><p><strong>Via GitHub<\/strong>\nFork the repository, translate the PO files in the <code>languages\/<\/code> directory, and submit a pull request.\nSee <code>languages\/README.md<\/code> for detailed translation guidelines.<\/p><\/li>\n<\/ol>\n\n<h4>Translation Credits<\/h4>\n\n<ul>\n<li><strong>German<\/strong>: BANKpay+ Team (based on BANKpay+ application translations)<\/li>\n<li><strong>Italian<\/strong>: BANKpay+ Team (professional translation)<\/li>\n<li><strong>Portuguese<\/strong>: BANKpay+ Team (professional translation)<\/li>\n<li><strong>Spanish<\/strong>: BANKpay+ Team (professional translation)<\/li>\n<li><strong>Greek<\/strong>: BANKpay+ Team (professional translation for compliance market)<\/li>\n<\/ul>\n\n<p>Thank you to all translators for making BANKpay+ accessible to users across Europe!<\/p>\n\n<h4>For Translators<\/h4>\n\n<p><strong>Total strings to translate<\/strong>: 309\n- PHP strings: ~271 (admin interface, settings, error messages)\n- JavaScript strings: ~38 (customer-facing UI, validation feedback)<\/p>\n\n<p><strong>Key terminology<\/strong>:\n- \"Instant Bank Transfer\" \u2192 \"SEPA-Sofort\u00fcberweisung\" (DE)\n- \"Settlement\" \u2192 \"Abwicklung\" (DE)\n- \"Bank-grade security\" \u2192 \"Bank-Level Sicherheit\" (DE)<\/p>\n\n<p>For complete translation guidelines, glossary, and context notes, see:\n    languages\/README.md in the plugin directory<\/p>\n\n<h3>For Developers<\/h3>\n\n<p>BANKpay+ is built with developers in mind, featuring extensive hooks, filters, and well-documented APIs for customization and integration.<\/p>\n\n<h4>Architecture<\/h4>\n\n<p><strong>Design Patterns:<\/strong><\/p>\n\n<ul>\n<li>Dependency Injection Container<\/li>\n<li>Repository Pattern for order operations<\/li>\n<li>Observer Pattern for webhook events<\/li>\n<li>Strategy Pattern for payment flows<\/li>\n<\/ul>\n\n<p><strong>Key Components:<\/strong><\/p>\n\n<ul>\n<li><code>WC_Gateway_BANKpay_Plus<\/code> - Main gateway class extending WC_Payment_Gateway<\/li>\n<li><code>BANKpay_Plus_API<\/code> - RESTful API client with retry logic<\/li>\n<li><code>BANKpay_Plus_Webhook<\/code> - Webhook handler with signature verification<\/li>\n<li><code>BANKpay_Plus_Analytics<\/code> - Payment metrics and reporting<\/li>\n<li><code>BANKpay_Plus_IBAN_Validator<\/code> - MOD-97 validation with 70+ country support<\/li>\n<\/ul>\n\n<h4>API Integration<\/h4>\n\n<p><strong>Authentication:<\/strong><\/p>\n\n<pre><code>Authorization: Bearer {access_token}\nX-API-Key: {api_key}\nX-HMAC-Signature: {hmac_sha256}\n<\/code><\/pre>\n\n<p><strong>Create Checkout Session:<\/strong><\/p>\n\n<pre><code>POST \/api\/checkout\/create\n{\n  \"amount\": 100.00,\n  \"currency\": \"EUR\",\n  \"reference\": \"Order #123\",\n  \"return_url\": \"https:\/\/yourstore.com\/checkout\/thank-you\",\n  \"webhook_url\": \"https:\/\/yourstore.com\/?wc-api=wc_gateway_bankpay_plus\"\n}\n<\/code><\/pre>\n\n<p><strong>Webhook Payload:<\/strong><\/p>\n\n<pre><code>POST \/?wc-api=wc_gateway_bankpay_plus\n{\n  \"event\": \"checkout.completed\",\n  \"checkout_id\": \"chk_123\",\n  \"payment_id\": \"pay_456\",\n  \"status\": \"completed\",\n  \"timestamp\": \"2025-01-26T15:30:00Z\"\n}\n<\/code><\/pre>\n\n<h4>Hooks &amp; Filters<\/h4>\n\n<p><strong>Actions (Execution Points):<\/strong><\/p>\n\n<ul>\n<li><code>bankpay_plus_payment_initiated<\/code> - Fires when payment initiates<\/li>\n<li><code>bankpay_plus_payment_complete<\/code> - Fires when payment completes<\/li>\n<li><code>bankpay_plus_payment_failed<\/code> - Fires when payment fails<\/li>\n<li><code>bankpay_plus_refund_completed<\/code> - Fires when refund processes<\/li>\n<li><code>bankpay_plus_webhook_received<\/code> - Fires on webhook receipt<\/li>\n<li><code>bankpay_plus_webhook_verified<\/code> - Fires after signature verification<\/li>\n<li><code>bankpay_plus_webhook_failed<\/code> - Fires on webhook error<\/li>\n<li><code>bankpay_plus_analytics_event<\/code> - Fires on analytics tracking<\/li>\n<\/ul>\n\n<p><strong>Filters (Data Modification):<\/strong><\/p>\n\n<ul>\n<li><code>bankpay_plus_gateway_title<\/code> - Customize payment method title<\/li>\n<li><code>bankpay_plus_gateway_description<\/code> - Customize checkout description<\/li>\n<li><code>bankpay_plus_payment_button_text<\/code> - Customize payment button text<\/li>\n<li><code>bankpay_plus_checkout_data<\/code> - Modify checkout session data<\/li>\n<li><code>bankpay_plus_api_endpoint<\/code> - Change API endpoint URL<\/li>\n<li><code>bankpay_plus_api_timeout<\/code> - Adjust API request timeout (default: 30s)<\/li>\n<li><code>bankpay_plus_iban_valid<\/code> - Override IBAN validation result<\/li>\n<li><code>bankpay_plus_bank_list_cache_ttl<\/code> - Adjust bank list cache (default: 24h)<\/li>\n<li><code>bankpay_plus_webhook_rate_limit<\/code> - Adjust webhook rate limit (default: 50\/min)<\/li>\n<li><code>bankpay_plus_verify_webhook_signature<\/code> - Toggle signature verification<\/li>\n<\/ul>\n\n<h4>Code Examples<\/h4>\n\n<p><strong>Example 1: Custom Payment Completion Logic<\/strong><\/p>\n\n<pre><code>add_action('bankpay_plus_payment_complete', 'my_custom_payment_handler', 10, 2);\n\nfunction my_custom_payment_handler($order_id, $payment_data) {\n    $order = wc_get_order($order_id);\n\n    \/\/ Send custom confirmation email\n    wp_mail(\n        $order-&gt;get_billing_email(),\n        'Payment Confirmed - Instant Delivery',\n        'Your payment was processed in 7 seconds!'\n    );\n\n    \/\/ Trigger fulfillment webhook\n    wp_remote_post('https:\/\/warehouse.example.com\/fulfill', [\n        'body' =&gt; json_encode([\n            'order_id' =&gt; $order_id,\n            'payment_method' =&gt; 'bankpay_instant'\n        ])\n    ]);\n}\n<\/code><\/pre>\n\n<p><strong>Example 2: Customize Gateway Title<\/strong><\/p>\n\n<pre><code>add_filter('bankpay_plus_gateway_title', 'custom_gateway_title', 10, 2);\n\nfunction custom_gateway_title($title, $order_id) {\n    return $title . ' (Money in 7 seconds)';\n}\n<\/code><\/pre>\n\n<p><strong>Example 3: Validate Custom Business Rules<\/strong><\/p>\n\n<pre><code>add_filter('bankpay_plus_checkout_data', 'add_business_rules', 10, 2);\n\nfunction add_business_rules($data, $order) {\n    \/\/ Add custom validation for high-value orders\n    if ($order-&gt;get_total() &gt; 1000) {\n        $data['require_phone_verification'] = true;\n    }\n\n    \/\/ Add custom metadata\n    $data['merchant_reference'] = get_option('custom_order_prefix') . $order-&gt;get_id();\n\n    return $data;\n}\n<\/code><\/pre>\n\n<p><strong>Example 4: Track Conversions in Analytics<\/strong><\/p>\n\n<pre><code>add_action('woocommerce_thankyou', 'track_bankpay_conversion', 10, 1);\n\nfunction track_bankpay_conversion($order_id) {\n    $order = wc_get_order($order_id);\n\n    if ($order-&gt;get_payment_method() === 'bankpay_plus') {\n        do_action('my_analytics_track', [\n            'event' =&gt; 'instant_payment_completed',\n            'value' =&gt; $order-&gt;get_total(),\n            'settlement_time' =&gt; '7_seconds'\n        ]);\n    }\n}\n<\/code><\/pre>\n\n<h4>REST API Endpoints<\/h4>\n\n<p><strong>IBAN Validation:<\/strong><\/p>\n\n<pre><code>POST \/wp-json\/bankpay-plus\/v1\/validate-iban\n{\n  \"iban\": \"DE89370400440532013000\"\n}\n\nResponse:\n{\n  \"valid\": true,\n  \"country\": \"DE\",\n  \"bank_code\": \"37040044\",\n  \"checksum_valid\": true,\n  \"formatted\": \"DE89 3704 0044 0532 0130 00\"\n}\n<\/code><\/pre>\n\n<p><strong>Rate Limiting:<\/strong> 10 requests per minute per IP address\n<strong>Caching:<\/strong> Validation results cached for 30 days\n<strong>Algorithm:<\/strong> MOD-97 checksum validation for 70+ countries<\/p>\n\n<h4>Database Schema<\/h4>\n\n<p><strong>Analytics Table:<\/strong> <code>{$wpdb-&gt;prefix}bankpay_plus_analytics<\/code><\/p>\n\n<pre><code>CREATE TABLE wp_bankpay_plus_analytics (\n  event_id BIGINT AUTO_INCREMENT PRIMARY KEY,\n  order_id BIGINT NOT NULL,\n  checkout_uuid VARCHAR(100),\n  event_type VARCHAR(50) NOT NULL,\n  event_timestamp DATETIME NOT NULL,\n  order_total DECIMAL(10,2),\n  currency VARCHAR(3),\n  customer_email VARCHAR(100),\n  bank_connector_id INT,\n  bank_name VARCHAR(255),\n  processing_time_ms INT,\n  is_returning_customer TINYINT(1),\n  user_agent_hash VARCHAR(64),\n  INDEX idx_order_id (order_id),\n  INDEX idx_event_type (event_type),\n  INDEX idx_event_timestamp (event_timestamp)\n);\n<\/code><\/pre>\n\n<h4>Testing<\/h4>\n\n<p><strong>PHPUnit Test Suite:<\/strong><\/p>\n\n<pre><code>cd wp-plugin\/bankpay-plus-woocommerce\ncomposer install\n.\/vendor\/bin\/phpunit --testsuite unit\n.\/vendor\/bin\/phpunit --testsuite integration\n<\/code><\/pre>\n\n<p><strong>Code Quality:<\/strong><\/p>\n\n<pre><code>composer phpcs          # Check WordPress coding standards\ncomposer phpcbf         # Auto-fix coding standards\ncomposer phpstan        # Static analysis (level 8)\n<\/code><\/pre>\n\n<p><strong>Makefile Commands:<\/strong><\/p>\n\n<pre><code>make test-all          # Run all tests\nmake lint              # Check coding standards\nmake format            # Auto-fix code style\nmake phpstan           # Static analysis\n<\/code><\/pre>\n\n<h4>Security Considerations<\/h4>\n\n<p><strong>Webhook Signature Verification:<\/strong><\/p>\n\n<p>Automatic HMAC SHA-256 verification ensures webhook authenticity. Invalid signatures are rejected with HTTP 403.<\/p>\n\n<p><strong>Rate Limiting:<\/strong><\/p>\n\n<ul>\n<li>Webhooks: 50 requests\/minute per IP<\/li>\n<li>IBAN validation: 10 requests\/minute per IP<\/li>\n<li>Automatic blocking with exponential backoff<\/li>\n<\/ul>\n\n<p><strong>Data Protection:<\/strong><\/p>\n\n<ul>\n<li>All input sanitized with <code>sanitize_text_field()<\/code>, <code>sanitize_url()<\/code><\/li>\n<li>All output escaped with <code>esc_html()<\/code>, <code>esc_url()<\/code>, <code>esc_attr()<\/code><\/li>\n<li>No sensitive data in logs (automatic redaction)<\/li>\n<li>GDPR compliant (SHA-256 hashing for personal data)<\/li>\n<\/ul>\n\n<h4>Documentation<\/h4>\n\n<p><strong>In Plugin Directory:<\/strong><\/p>\n\n<ul>\n<li><code>README.md<\/code> - Quick start and overview<\/li>\n<li><code>DEVELOPER_GUIDE.md<\/code> - Architecture and contribution guidelines<\/li>\n<li><code>API_INTEGRATION_GUIDE.md<\/code> - Step-by-step API integration<\/li>\n<li><code>TESTING_GUIDE.md<\/code> - Unit, integration, and E2E testing<\/li>\n<li><code>WARP.md<\/code> - AI assistant integration guide<\/li>\n<\/ul>\n\n<p><strong>Online Resources:<\/strong><\/p>\n\n<ul>\n<li>GitHub: https:\/\/github.com\/k42\/WooCommerce<\/li>\n<li>API Docs: https:\/\/docs.bankpay.plus\/api<\/li>\n<li>Support: https:\/\/wordpress.org\/support\/plugin\/bankpay-open-banking-sepa-payments-for-woocommerce\/<\/li>\n<\/ul>\n\n<h4>Contributing<\/h4>\n\n<p>We welcome contributions! Please see <code>CONTRIBUTING.md<\/code> in the plugin directory for:<\/p>\n\n<ul>\n<li>Code style guidelines (WordPress + WooCommerce standards)<\/li>\n<li>Testing requirements (PHPUnit coverage)<\/li>\n<li>Pull request process<\/li>\n<li>Security disclosure policy<\/li>\n<\/ul>\n\n<p><strong>Found a bug?<\/strong> Report it on the <a href=\"https:\/\/wordpress.org\/support\/plugin\/bankpay-open-banking-sepa-payments-for-woocommerce\/\">WordPress.org support forum<\/a><\/p>\n\n<!--section=installation-->\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>WordPress 6.0 or greater<\/li>\n<li>WooCommerce 8.0 or greater<\/li>\n<li>PHP 8.0 or greater<\/li>\n<li>MySQL 5.6 or greater<\/li>\n<li>SSL certificate (required for production mode)<\/li>\n<li>Modern web browser with JavaScript enabled<\/li>\n<\/ul>\n\n<h4>Automatic Installation<\/h4>\n\n<p>Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't need to leave your web browser.<\/p>\n\n<ol>\n<li>Log in to your WordPress dashboard<\/li>\n<li>Navigate to <strong>Plugins &gt; Add New<\/strong><\/li>\n<li>Search for \"BANKpay+ for WooCommerce\"<\/li>\n<li>Click <strong>Install Now<\/strong> next to our plugin<\/li>\n<li>Click <strong>Activate<\/strong> once installation completes<\/li>\n<li>Navigate to <strong>WooCommerce &gt; Settings &gt; Payments &gt; BANKpay+<\/strong><\/li>\n<li>Click <strong>Run Setup Wizard<\/strong> to configure your payment gateway<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<p>The manual installation method involves downloading the plugin and uploading it to your server via FTP or your hosting control panel.<\/p>\n\n<ol>\n<li>Download the plugin ZIP file from WordPress.org<\/li>\n<li>Log in to your WordPress dashboard<\/li>\n<li>Navigate to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong><\/li>\n<li>Click <strong>Choose File<\/strong> and select the ZIP file you downloaded<\/li>\n<li>Click <strong>Install Now<\/strong><\/li>\n<li>Click <strong>Activate Plugin<\/strong> once installation completes<\/li>\n<li>Navigate to <strong>WooCommerce &gt; Settings &gt; Payments &gt; BANKpay+<\/strong><\/li>\n<li>Follow the setup wizard to connect your BANKpay+ account<\/li>\n<\/ol>\n\n<p>Alternatively, you can upload the plugin via FTP:<\/p>\n\n<ol>\n<li>Unzip the plugin file on your computer<\/li>\n<li>Upload the <code>bankpay-plus-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<\/ol>\n\n<h4>Updating<\/h4>\n\n<p>Automatic updates should work smoothly. As always, ensure you backup your site before updating.<\/p>\n\n<p>If you experience any issues after an update:<\/p>\n\n<ol>\n<li>Go to <strong>WordPress &gt; Settings &gt; Permalinks<\/strong><\/li>\n<li>Click <strong>Save Changes<\/strong> (no changes needed, just save)<\/li>\n<li>Clear your site cache if using a caching plugin<\/li>\n<\/ol>\n\n<h4>First-Time Setup<\/h4>\n\n<p>After installation, you'll see an admin notice prompting you to run the setup wizard. The wizard will guide you through:<\/p>\n\n<ol>\n<li><strong>Welcome<\/strong> - Introduction to BANKpay+ features<\/li>\n<li><strong>Connect<\/strong> - API key configuration and connectivity test<\/li>\n<li><strong>Payout<\/strong> - IBAN configuration for receiving settlements<\/li>\n<\/ol>\n\n<p>The entire setup takes under 5 minutes. No technical knowledge required!<\/p>\n\n<h4>Testing Before Going Live<\/h4>\n\n<ol>\n<li>Enable <strong>Test Mode<\/strong> in the gateway settings<\/li>\n<li>Use sandbox API credentials from your BANKpay+ dashboard<\/li>\n<li>Place test orders to verify the payment flow<\/li>\n<li>Check webhook delivery in WooCommerce logs<\/li>\n<li>Once satisfied, switch to <strong>Live Mode<\/strong> with production credentials<\/li>\n<\/ol>\n\n<h4>SSL Requirement<\/h4>\n\n<p>An SSL certificate is <strong>required<\/strong> for production mode. Payments will not work without HTTPS in live mode due to banking security requirements (PSD2 regulations).<\/p>\n\n<p>Most hosting providers offer free SSL certificates via Let's Encrypt. Contact your host if you need assistance.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20bankpay%2B%20account%3F\"><h3>Do I need a BANKpay+ account?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"how%20much%20does%20bankpay%2B%20cost%3F\"><h3>How much does BANKpay+ cost?<\/h3><\/dt>\n<dd><p>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<\/p><\/dd>\n<dt id=\"how%20long%20does%20setup%20take%3F\"><h3>How long does setup take?<\/h3><\/dt>\n<dd><p>Most merchants complete setup in under 5 minutes using our guided setup wizard. You'll need:<\/p>\n\n<ul>\n<li>Business email address<\/li>\n<li>IBAN for receiving payouts<\/li>\n<li>Business registration details (name, address)<\/li>\n<\/ul>\n\n<p>The wizard validates everything in real-time, so you'll know immediately if there are any issues.<\/p><\/dd>\n<dt id=\"can%20i%20test%20before%20going%20live%3F\"><h3>Can I test before going live?<\/h3><\/dt>\n<dd><p>Yes! The plugin includes a full sandbox environment. You can test unlimited transactions before accepting real payments. Simply enable \"Test Mode\" in the settings.<\/p><\/dd>\n<dt id=\"what%20if%20a%20customer%20wants%20a%20refund%3F\"><h3>What if a customer wants a refund?<\/h3><\/dt>\n<dd><p>Process refunds directly from the WooCommerce order page\u2014just 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.<\/p><\/dd>\n<dt id=\"which%20countries%20are%20supported%3F\"><h3>Which countries are supported?<\/h3><\/dt>\n<dd><p>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.<\/p>\n\n<p>Customers in any of these countries can pay using their local bank account.<\/p><\/dd>\n<dt id=\"do%20customers%20need%20a%20bankpay%2B%20account%3F\"><h3>Do customers need a BANKpay+ account?<\/h3><\/dt>\n<dd><p>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\u2014just instant authentication and payment.<\/p><\/dd>\n<dt id=\"is%20there%20a%20test%20mode%3F\"><h3>Is there a test mode?<\/h3><\/dt>\n<dd><p>Yes, the plugin includes a sandbox mode for testing before going live. Test mode uses separate API credentials and doesn't process real money.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20payment%20fails%3F\"><h3>What happens if a payment fails?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"can%20customers%20save%20their%20payment%20info%3F\"><h3>Can customers save their payment info?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"how%20secure%20is%20bankpay%2B%3F\"><h3>How secure is BANKpay+?<\/h3><\/dt>\n<dd><p>BANKpay+ uses bank-grade security:<\/p>\n\n<ul>\n<li>All payments require authentication through the customer's banking app<\/li>\n<li>No sensitive data is stored on your server<\/li>\n<li>Webhook signatures prevent tampering<\/li>\n<li>Rate limiting protects against abuse<\/li>\n<li>GDPR compliant<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%20subscriptions%3F\"><h3>Does this work with WooCommerce subscriptions?<\/h3><\/dt>\n<dd><p>Currently, BANKpay+ supports one-time payments only. Subscription support is planned for a future release.<\/p><\/dd>\n<dt id=\"how%20does%20iban%20validation%20work%3F\"><h3>How does IBAN validation work?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"is%20customer%20bank%20data%20stored%3F\"><h3>Is customer bank data stored?<\/h3><\/dt>\n<dd><p>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.<\/p>\n\n<p>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.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20my%20theme%3F\"><h3>Does this plugin work with my theme?<\/h3><\/dt>\n<dd><p>Yes! BANKpay+ works with any properly coded WordPress theme. The plugin integrates seamlessly with WooCommerce's standard checkout flow.<\/p>\n\n<p>If you notice styling issues, you can customize the appearance with CSS. We recommend Storefront or any WooCommerce-compatible theme for best results.<\/p><\/dd>\n<dt id=\"is%20ssl%20required%3F\"><h3>Is SSL required?<\/h3><\/dt>\n<dd><p>Yes, an SSL certificate (HTTPS) is <strong>required for production mode<\/strong>. This is mandated by PSD2 banking regulations for secure payment processing. Most hosting providers offer free SSL certificates via Let's Encrypt.<\/p>\n\n<p>Test mode can work without SSL for local development, but all production payments must use HTTPS.<\/p><\/dd>\n<dt id=\"is%20this%20compatible%20with%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Is this compatible with High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"what%20are%20webhooks%20and%20do%20i%20need%20to%20configure%20them%3F\"><h3>What are webhooks and do I need to configure them?<\/h3><\/dt>\n<dd><p>Webhooks are automatic notifications sent from BANKpay+ to your store when payment status changes. The plugin handles webhook configuration automatically\u2014no manual setup needed!<\/p>\n\n<p>Webhooks are secured with HMAC SHA-256 signature verification and include:<\/p>\n\n<ul>\n<li>Rate limiting (50 requests\/minute per IP)<\/li>\n<li>Replay protection (timestamp validation)<\/li>\n<li>Automatic retry with exponential backoff for failed deliveries<\/li>\n<\/ul>\n\n<p>Your webhook URL is automatically configured as: <code>https:\/\/yourstore.com\/?wc-api=wc_gateway_bankpay_plus<\/code><\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20plugin%20behavior%20with%20hooks%20and%20filters%3F\"><h3>Can I customize the plugin behavior with hooks and filters?<\/h3><\/dt>\n<dd><p>Yes! The plugin provides numerous WordPress action and filter hooks for developers:<\/p>\n\n<p><strong>Key Actions:<\/strong><\/p>\n\n<ul>\n<li><code>bankpay_plus_payment_complete<\/code> - Fires when payment completes<\/li>\n<li><code>bankpay_plus_payment_failed<\/code> - Fires when payment fails<\/li>\n<li><code>bankpay_plus_refund_completed<\/code> - Fires when refund processes<\/li>\n<li><code>bankpay_plus_webhook_received<\/code> - Fires on webhook receipt<\/li>\n<\/ul>\n\n<p><strong>Key Filters:<\/strong><\/p>\n\n<ul>\n<li><code>bankpay_plus_gateway_title<\/code> - Customize payment method title<\/li>\n<li><code>bankpay_plus_gateway_description<\/code> - Customize checkout description<\/li>\n<li><code>bankpay_plus_checkout_data<\/code> - Modify checkout session data<\/li>\n<li><code>bankpay_plus_api_timeout<\/code> - Adjust API request timeout<\/li>\n<\/ul>\n\n<p>For complete documentation, see the \"For Developers\" section below.<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20api%20documentation%3F\"><h3>Where can I find API documentation?<\/h3><\/dt>\n<dd><p>API integration documentation is available in:<\/p>\n\n<ul>\n<li><strong>Plugin directory<\/strong>: See <code>API_INTEGRATION_GUIDE.md<\/code><\/li>\n<li><strong>Developer guide<\/strong>: See <code>DEVELOPER_GUIDE.md<\/code> for architecture overview<\/li>\n<li><strong>Online<\/strong>: Visit https:\/\/docs.bankpay.plus\/api<\/li>\n<\/ul>\n\n<p>The plugin uses RESTful JSON API with dual authentication (Bearer token + API key) and HMAC signature verification for webhooks.<\/p><\/dd>\n<dt id=\"how%20do%20i%20debug%20payment%20issues%3F\"><h3>How do I debug payment issues?<\/h3><\/dt>\n<dd><p>Enable WooCommerce logging:<\/p>\n\n<ol>\n<li>Go to <strong>WooCommerce &gt; Status &gt; Logs<\/strong><\/li>\n<li>Look for logs starting with <code>bankpay-plus<\/code> and <code>bankpay-plus-webhook<\/code><\/li>\n<\/ol>\n\n<p>Common debugging steps:<\/p>\n\n<ul>\n<li>Verify API credentials in settings<\/li>\n<li>Check Test Mode vs Live Mode configuration<\/li>\n<li>Confirm SSL certificate is valid<\/li>\n<li>Review webhook delivery in logs<\/li>\n<li>Check for plugin conflicts (disable other plugins temporarily)<\/li>\n<\/ul>\n\n<p>For detailed troubleshooting, see: <code>TESTING_GUIDE.md<\/code> in the plugin directory<\/p><\/dd>\n<dt id=\"what%20are%20the%20rate%20limits%20for%20api%20requests%3F\"><h3>What are the rate limits for API requests?<\/h3><\/dt>\n<dd><p>The plugin implements intelligent rate limiting:<\/p>\n\n<ul>\n<li><strong>Webhook endpoint<\/strong>: 50 requests per minute per IP address<\/li>\n<li><strong>IBAN validation<\/strong>: 10 requests per minute per IP address<\/li>\n<li><strong>API requests<\/strong>: Cached for 5-15 minutes to minimize redundant calls<\/li>\n<\/ul>\n\n<p>Bank connector list is cached for 24 hours, and analytics queries use transient caching to optimize performance.<\/p><\/dd>\n<dt id=\"what%20is%20sepa%20instant%20payment%20and%20how%20does%20it%20work%3F\"><h3>What is SEPA Instant payment and how does it work?<\/h3><\/dt>\n<dd><p>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 <strong>under 10 seconds<\/strong>, 24\/7\/365.<\/p>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>Customer authorizes payment through their banking app<\/li>\n<li>Bank instantly verifies funds availability<\/li>\n<li>Money is debited from customer's account<\/li>\n<li>Funds are credited to your account within 7-10 seconds<\/li>\n<li>Payment is final and irrevocable (no chargebacks)<\/li>\n<\/ol>\n\n<p><strong>Benefits over card payments:<\/strong><\/p>\n\n<ul>\n<li>Instant settlement (vs 2-7 days for cards)<\/li>\n<li>Lower fees (0.5% vs 1.5-3.5% for cards)<\/li>\n<li>No chargebacks (bank transfers are final)<\/li>\n<li>No monthly fees or hidden costs<\/li>\n<li>24\/7\/365 availability<\/li>\n<\/ul>\n\n<p>SEPA Instant is available across all 24 SEPA countries with 3000+ participating banks.<\/p><\/dd>\n<dt id=\"what%20is%20account-to-account%20%28a2a%29%20payment%3F\"><h3>What is Account-to-Account (A2A) payment?<\/h3><\/dt>\n<dd><p>Account-to-Account (A2A) payments are direct bank transfers between customer and merchant accounts without card networks or intermediaries.<\/p>\n\n<p><strong>Traditional payment flow:<\/strong><\/p>\n\n<pre><code>Customer \u2192 Card Network \u2192 Acquiring Bank \u2192 Your Account\n(Multiple intermediaries = higher fees + longer settlement)\n<\/code><\/pre>\n\n<p><strong>A2A payment flow:<\/strong><\/p>\n\n<pre><code>Customer Bank \u2192 Your Bank (Direct)\n(No intermediaries = lower fees + instant settlement)\n<\/code><\/pre>\n\n<p><strong>Why A2A is revolutionary:<\/strong><\/p>\n\n<ul>\n<li>No card network fees (Visa\/Mastercard take 1-3%)<\/li>\n<li>No acquiring bank markup<\/li>\n<li>Payments can't be \"charged back\" fraudulently<\/li>\n<li>Works with any bank account (no card needed)<\/li>\n<li>Enabled by Open Banking regulations (PSD2)<\/li>\n<\/ul><\/dd>\n<dt id=\"what%20is%20open%20banking%20and%20psd2%3F\"><h3>What is Open Banking and PSD2?<\/h3><\/dt>\n<dd><p><strong>Open Banking<\/strong> is the EU regulatory framework (PSD2 - Payment Services Directive 2) that allows licensed third parties to securely access banking services with customer consent.<\/p>\n\n<p><strong>What BANKpay+ does:<\/strong><\/p>\n\n<ol>\n<li>You (merchant) requests payment<\/li>\n<li>Customer selects their bank<\/li>\n<li>Customer authorizes payment in their secure banking app<\/li>\n<li>BANKpay+ (licensed Payment Initiation Service Provider) initiates the transfer<\/li>\n<li>Money moves directly from customer to your account<\/li>\n<\/ol>\n\n<p><strong>Security features:<\/strong><\/p>\n\n<ul>\n<li>Strong Customer Authentication (SCA) required<\/li>\n<li>No card details or passwords shared<\/li>\n<li>Bank-grade encryption (TLS 1.3)<\/li>\n<li>Multi-factor authentication via banking app<\/li>\n<li>Regulated by European Central Bank and national supervisors<\/li>\n<\/ul>\n\n<p><strong>Your data security:<\/strong><\/p>\n\n<ul>\n<li>We never store bank login credentials<\/li>\n<li>No sensitive payment data on your server<\/li>\n<li>Webhook signatures prevent tampering<\/li>\n<li>GDPR compliant by design<\/li>\n<\/ul><\/dd>\n<dt id=\"why%20can%27t%20customers%20chargeback%20bankpay%2B%20payments%3F\"><h3>Why can't customers chargeback BANKpay+ payments?<\/h3><\/dt>\n<dd><p>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.<\/p>\n\n<p><strong>Contrast with card payments:<\/strong><\/p>\n\n<ul>\n<li><strong>Cards<\/strong>: Customer can dispute for 120+ days after purchase<\/li>\n<li><strong>BANKpay+<\/strong>: Payment authorized with bank-level authentication, legally binding<\/li>\n<\/ul>\n\n<p><strong>Customer protection still exists:<\/strong><\/p>\n\n<ul>\n<li>Customers must authenticate in their secure banking app<\/li>\n<li>Unauthorized transactions are bank's responsibility<\/li>\n<li>Normal consumer protection laws still apply<\/li>\n<\/ul>\n\n<p><strong>For merchants, this means:<\/strong><\/p>\n\n<ul>\n<li>No fraudulent chargebacks<\/li>\n<li>No chargeback fees (typically \u20ac15-25 each)<\/li>\n<li>Predictable revenue (no surprise reversals months later)<\/li>\n<li>Lower fraud rates (bank-level authentication required)<\/li>\n<\/ul><\/dd>\n<dt id=\"how%20fast%20is%20%227-second%20settlement%22%3F\"><h3>How fast is \"7-second settlement\"?<\/h3><\/dt>\n<dd><p>BANKpay+ uses SEPA Instant Credit Transfer, which guarantees settlement within 10 seconds. In practice, most payments settle in <strong>7 seconds or less<\/strong>.<\/p>\n\n<p><strong>Timeline breakdown:<\/strong><\/p>\n\n<ul>\n<li><strong>0-2 seconds<\/strong>: Customer authorizes in banking app<\/li>\n<li><strong>2-5 seconds<\/strong>: Bank verifies funds and processes transfer<\/li>\n<li><strong>5-7 seconds<\/strong>: Money arrives in your account<\/li>\n<li><strong>7-10 seconds<\/strong>: Confirmation webhook sent to your store<\/li>\n<\/ul>\n\n<p><strong>Compare this to traditional payment methods:<\/strong><\/p>\n\n<ul>\n<li><strong>Credit cards<\/strong>: 2-7 business days<\/li>\n<li><strong>Debit cards<\/strong>: 1-3 business days<\/li>\n<li><strong>PayPal<\/strong>: 1-2 business days (or instant for 1% fee)<\/li>\n<li><strong>Bank transfer<\/strong>: 1-3 business days<\/li>\n<li><strong>BANKpay+ SEPA Instant<\/strong>: 7 seconds<\/li>\n<\/ul>\n\n<p><strong>Real-world impact:<\/strong><\/p>\n\n<ul>\n<li>Customer completes checkout at 14:30:15<\/li>\n<li>Money in your account at 14:30:22<\/li>\n<li>Order can ship immediately<\/li>\n<li>Same-day access to revenue<\/li>\n<\/ul><\/dd>\n<dt id=\"which%20countries%20and%20banks%20are%20supported%3F\"><h3>Which countries and banks are supported?<\/h3><\/dt>\n<dd><p>BANKpay+ works across all <strong>24 SEPA countries<\/strong> with <strong>3000+ participating banks<\/strong>:<\/p>\n\n<p><strong>Countries:<\/strong> 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<\/p>\n\n<p><strong>Major banks include:<\/strong><\/p>\n\n<ul>\n<li>Germany: Deutsche Bank, Commerzbank, Sparkasse, N26, Revolut<\/li>\n<li>France: BNP Paribas, Cr\u00e9dit Agricole, Soci\u00e9t\u00e9 G\u00e9n\u00e9rale<\/li>\n<li>Netherlands: ING, Rabobank, ABN AMRO<\/li>\n<li>Spain: Santander, BBVA, CaixaBank<\/li>\n<li>Italy: UniCredit, Intesa Sanpaolo<\/li>\n<li>Austria: Erste Bank, Raiffeisen<\/li>\n<li>Plus digital banks: N26, Revolut, Bunq, Trade Republic, Wise<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>Customer must have an account at a SEPA Instant-enabled bank<\/li>\n<li>Most major EU banks support SEPA Instant (as of 2025)<\/li>\n<li>EU regulation makes SEPA Instant mandatory for all banks<\/li>\n<\/ul>\n\n<p>Check bank availability during checkout - the plugin automatically displays only supported banks for each customer.<\/p><\/dd>\n<dt id=\"how%20does%20bankpay%2B%20compare%20to%20other%20payment%20methods%3F\"><h3>How does BANKpay+ compare to other payment methods?<\/h3><\/dt>\n<dd>\n\n\n  Feature\n  BANKpay+\n  Credit Cards\n  PayPal\n  SEPA Transfer\n\n\n\n\n  Settlement Time\n  7 seconds\n  2-7 days\n  1-2 days\n  1-3 days\n\n\n  Transaction Fees\n  0.5%\n  1.5-3.5%\n  2.9% + \u20ac0.35\n  Free (slow)\n\n\n  Monthly Fees\n  None\n  \u20ac20-50\n  None\n  None\n\n\n  Chargebacks\n  No\n  Yes (120 days)\n  Yes (180 days)\n  No\n\n\n  Setup Complexity\n  Easy\n  Complex\n  Medium\n  Manual\n\n\n  Customer Friction\n  Low\n  Medium\n  Medium\n  High\n\n\n  Coverage\n  EU (SEPA)\n  Global\n  Global\n  EU (SEPA)\n\n\n  Success Rate\n  95%+\n  70-80%\n  85-90%\n  Manual\n\n\n\n\n<p><strong>Best for:<\/strong><\/p>\n\n<ul>\n<li>European B2C ecommerce<\/li>\n<li>Digital products needing instant delivery<\/li>\n<li>High-value transactions (lower fees)<\/li>\n<li>Businesses tired of chargebacks<\/li>\n<li>Cash flow optimization (instant settlement)<\/li>\n<\/ul>\n\n<p><strong>Not ideal for:<\/strong><\/p>\n\n<ul>\n<li>Global sales outside Europe<\/li>\n<li>Businesses needing payment plans<\/li>\n<li>Customers without bank accounts (rare in EU)<\/li>\n<\/ul><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.7.18 - 2026-04-12<\/h4>\n\n<ul>\n<li>Enhancement: Bug fixes and improvements<\/li>\n<li>Release Date: 2026-04-12<\/li>\n<\/ul>\n\n<h4>1.7.8 - 2026-03-12<\/h4>\n\n<h4>1.7.7 - 2026-03-06<\/h4>\n\n<ul>\n<li><strong>Added:<\/strong> Locale support in checkout URLs - Automatically inserts user's locale into BANKpay checkout URLs\n\n<ul>\n<li>Transforms <code>https:\/\/bankpay.plus\/checkout\/uuid<\/code> \u2192 <code>https:\/\/bankpay.plus\/{locale}\/checkout\/uuid<\/code><\/li>\n<li>Uses WordPress <code>determine_locale()<\/code> to detect current user's language<\/li>\n<li>Supports all 2-letter language codes (e.g., <code>\/nl\/<\/code>, <code>\/de\/<\/code>, <code>\/fr\/<\/code>)<\/li>\n<li>Prevents duplicate locale insertion if already present in URL<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.7.4 - 2025-11-17<\/h4>\n\n<h4>1.7.4 - 2025-11-17<\/h4>\n\n<ul>\n<li>Enhancement: [EDIT THIS - Describe main enhancement]<\/li>\n<li>Feature: [EDIT THIS - Describe new feature]<\/li>\n<li><p>Release Date: 2025-11-17<\/p><\/li>\n<li><p>Enhancement: Comprehensive readme.txt formatting improvements<\/p><\/li>\n<li>Enhancement: Consistent emoji\/icon usage throughout documentation<\/li>\n<li>Enhancement: Improved visual hierarchy with icons for all sections<\/li>\n<li>Enhancement: Better section organization with clearer navigation<\/li>\n<li>Enhancement: Professional appearance optimized for WordPress.org plugin directory<\/li>\n<li>Note: No code changes - documentation quality improvements only<\/li>\n<\/ul>\n\n<h4>1.7.3 - 2025-11-17<\/h4>\n\n<ul>\n<li>Enhancement: WordPress.org readme formatting improvements<\/li>\n<li>Fix: Removed special character from plugin header<\/li>\n<li>Fix: Converted bullet points to proper list format<\/li>\n<li>Enhancement: Cleaned up changelog (removed duplicates and template text)<\/li>\n<\/ul>\n\n<h4>1.7.2 - 2025-11-17<\/h4>\n\n<ul>\n<li>Enhancement: Code style improvements (PHPCBF auto-fixes in main plugin file)<\/li>\n<li>Enhancement: Fixed indentation in setup wizard and API client classes<\/li>\n<li>Enhancement: Added automated release tooling for streamlined releases<\/li>\n<li>Enhancement: Added comprehensive release process documentation<\/li>\n<li>Technical: Applied WordPress coding standards fixes<\/li>\n<li>Note: No functional changes - code quality improvements only<\/li>\n<\/ul>\n\n<h4>1.7.1 - 2025-11-17<\/h4>\n\n<ul>\n<li>Enhancement: Updated payment gateway descriptions with EU Late Payment Directive compliance<\/li>\n<li>Feature: Smart payment reminders help merchants get paid faster<\/li>\n<li>Feature: AI-powered invoice processing with auto-extract payment details<\/li>\n<li>Feature: Invoice agent automatically processes uploaded invoices<\/li>\n<li>Enhancement: Professional payment management improvements<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li><strong>Feature:<\/strong> Added full internationalization support for 6 European languages<\/li>\n<li><strong>Languages:<\/strong> German (de_DE), Italian (it_IT), Portuguese (pt_PT), Spanish (es_ES), Greek (el)<\/li>\n<li><strong>Translation:<\/strong> 309 translatable strings across PHP and JavaScript<\/li>\n<li><strong>Translation:<\/strong> Internationalized all JavaScript files with wp.i18n<\/li>\n<li><strong>Translation:<\/strong> Professional translations for all supported languages<\/li>\n<li><strong>Developer:<\/strong> Added translation infrastructure with POT template generation<\/li>\n<li><strong>Developer:<\/strong> Created Makefile commands for translation management (make translate, make compile-mo)<\/li>\n<li><strong>Documentation:<\/strong> Comprehensive translation README for contributors<\/li>\n<li><strong>Ready:<\/strong> WordPress.org language pack integration prepared<\/li>\n<li>Release Date: 2025-10-26<\/li>\n<\/ul>\n\n<h4>1.6.5<\/h4>\n\n<ul>\n<li><strong>Fix:<\/strong> Converted all code blocks in readme.txt to WordPress.org format (4-space indentation)<\/li>\n<li><strong>Fix:<\/strong> Removed triple backtick code fences that were rendering as literal text on plugin page<\/li>\n<li><strong>Enhancement:<\/strong> Code examples now render properly in preview boxes on WordPress.org (15 blocks)<\/li>\n<li><strong>Tooling:<\/strong> Added post-release validation script (bin\/post-release-validation.sh) with 8 automated checks<\/li>\n<li><strong>Documentation:<\/strong> Added WordPress.org readme.txt formatting rules to WARP.md for AI coding agents<\/li>\n<li><strong>Quality:<\/strong> All code blocks validated: PHP examples, REST API calls, SQL schema, shell commands<\/li>\n<li><strong>Developer:<\/strong> Post-release script validates version consistency, secrets security, SVN status, plugin page availability<\/li>\n<li>Release Date: 2025-10-26<\/li>\n<\/ul>\n\n<h4>1.6.1<\/h4>\n\n<ul>\n<li><strong>Security:<\/strong> Critical security audit and hardening release<\/li>\n<li><strong>Security:<\/strong> Fixed input sanitization in webhook handler and admin forms<\/li>\n<li><strong>Security:<\/strong> Enhanced output escaping across all templates<\/li>\n<li><strong>Security:<\/strong> Improved nonce verification for all AJAX endpoints<\/li>\n<li><strong>Security:<\/strong> Added SQL injection prevention in analytics queries<\/li>\n<li><strong>Security:<\/strong> Strengthened capability checks for admin actions<\/li>\n<li><strong>Security:<\/strong> Added rate limiting for REST API endpoints<\/li>\n<li><strong>Security:<\/strong> Implemented webhook replay protection<\/li>\n<li><strong>Security:<\/strong> Enhanced CSRF protection for settings pages<\/li>\n<li><strong>Code Quality:<\/strong> Fixed critical coding standards violations<\/li>\n<li><strong>Testing:<\/strong> Verified all security fixes with automated test suite<\/li>\n<li><strong>Tooling:<\/strong> Security audit script validates OWASP best practices<\/li>\n<li>Release Date: 2025-10-26<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li><strong>Documentation:<\/strong> Added comprehensive TESTING_GUIDE.md with unit, integration, E2E, and security testing procedures<\/li>\n<li><strong>Documentation:<\/strong> Created DEVELOPER_GUIDE.md for developer onboarding, architecture overview, and contribution guidelines<\/li>\n<li><strong>Documentation:<\/strong> Published API_INTEGRATION_GUIDE.md for step-by-step BANKpay+ API integration<\/li>\n<li><strong>Tooling:<\/strong> Automated test suite runner (bin\/run-full-test-suite.sh) for comprehensive validation<\/li>\n<li><strong>Tooling:<\/strong> Pre-release checklist script (bin\/pre-release-checklist.sh) for deployment validation<\/li>\n<li><strong>Tooling:<\/strong> Security audit script (bin\/security-audit.sh) with OWASP-based checks<\/li>\n<li><strong>Code Quality:<\/strong> Fixed 400+ coding standards violations via PHPCBF<\/li>\n<li><strong>Enhancement:<\/strong> Enhanced WARP.md with detailed project structure for AI assistants<\/li>\n<li><strong>Maintenance:<\/strong> Updated all inline documentation and error handling<\/li>\n<li><strong>Testing:<\/strong> All unit and integration tests passing<\/li>\n<li><strong>Compatibility:<\/strong> Verified WordPress 6.7 and WooCommerce 9.0 compatibility<\/li>\n<li>Release Date: 2025-10-26<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li><strong>Major:<\/strong> Redesigned onboarding experience with 3-step setup wizard (Welcome \u2192 Connect \u2192 Payout)<\/li>\n<li><strong>Major:<\/strong> Simplified gateway settings from 13 fields to 10 (7 essential + 3 advanced)<\/li>\n<li><strong>Feature:<\/strong> Interactive setup wizard with real-time validation and error handling<\/li>\n<li><strong>Feature:<\/strong> Admin notice on first install guides users to setup wizard<\/li>\n<li><strong>Feature:<\/strong> Connection status indicator in settings page showing API status, mode, and merchant ID<\/li>\n<li><strong>Feature:<\/strong> API key validation during setup with connectivity testing<\/li>\n<li><strong>Feature:<\/strong> IBAN validation using MOD-97 algorithm during setup<\/li>\n<li><strong>Feature:<\/strong> Account holder name validation (minimum 2 characters)<\/li>\n<li><strong>Enhancement:<\/strong> Unified API key field (auto-detects test vs live mode)<\/li>\n<li><strong>Enhancement:<\/strong> Gateway automatically enables after wizard completion<\/li>\n<li><strong>Enhancement:<\/strong> \"Run Setup Wizard\" button always accessible from settings<\/li>\n<li><strong>Enhancement:<\/strong> Skip wizard functionality with permanent dismissal option<\/li>\n<li><strong>Enhancement:<\/strong> Backward compatibility migration for v1.5.x settings<\/li>\n<li><strong>Enhancement:<\/strong> Visual error messages with clear, actionable feedback<\/li>\n<li><strong>Enhancement:<\/strong> Connection status with color-coded badges (test\/live\/enabled\/disabled)<\/li>\n<li><strong>UX:<\/strong> Auto-populated form fields with sensible defaults (site name, etc.)<\/li>\n<li><strong>UX:<\/strong> Inline help text and dashboard links throughout wizard<\/li>\n<li><strong>UX:<\/strong> Responsive wizard design optimized for mobile devices<\/li>\n<li><strong>Developer:<\/strong> Public <code>handle_auto_signup()<\/code> method for programmatic onboarding<\/li>\n<li><strong>Developer:<\/strong> New CSS classes: <code>.bankpay-connection-status<\/code>, <code>.bankpay-badge<\/code>, <code>.wizard-error<\/code><\/li>\n<li><strong>Security:<\/strong> Nonce verification on wizard skip action<\/li>\n<li><strong>Security:<\/strong> AJAX handler with capability checks for notice dismissal<\/li>\n<li><strong>Performance:<\/strong> Transient-based wizard completion tracking<\/li>\n<li><strong>Compatibility:<\/strong> Seamless migration from legacy test\/live key structure<\/li>\n<li><strong>Docs:<\/strong> Comprehensive inline documentation for all wizard methods<\/li>\n<li>Release Date: 2025-01-25<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li><strong>Bug Fix:<\/strong> Fixed critical issue where refund transactions were not being tracked in analytics<\/li>\n<li><strong>Bug Fix:<\/strong> Fixed incorrect processing time calculation that was using current timestamp instead of event timestamp<\/li>\n<li><strong>Enhancement:<\/strong> Added quick date filter buttons (Today, Last 7\/30\/90 Days) for faster analytics filtering<\/li>\n<li><strong>Enhancement:<\/strong> Improved date validation: prevents future dates, enforces logical date ranges, limits max range to 365 days<\/li>\n<li><strong>Enhancement:<\/strong> Added user-friendly error messages for invalid date range selections<\/li>\n<li><strong>Enhancement:<\/strong> Implemented 12-month data retention policy with automatic cleanup via daily cron job<\/li>\n<li><strong>Performance:<\/strong> Optimized analytics queries with improved date range validation<\/li>\n<li><strong>Developer:<\/strong> Added <code>BANKpay_Plus_Analytics::cleanup_old_events()<\/code> static method for data maintenance<\/li>\n<li><strong>Developer:<\/strong> Added <code>bankpay_plus_track_refund()<\/code> hook that triggers on <code>woocommerce_order_refunded<\/code> action<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Feature: Analytics Dashboard with Chart.js visualizations (4 chart types)<\/li>\n<li>Feature: Payment performance metrics (success rate, volume, processing time)<\/li>\n<li>Feature: Bank-by-bank usage statistics and performance rankings<\/li>\n<li>Feature: Time-series charts showing payment volume and success rate trends<\/li>\n<li>Feature: CSV export functionality for external analysis<\/li>\n<li>Feature: Custom date range filtering (default: 30 days)<\/li>\n<li>Feature: Real-time analytics with transient caching (5-15 minute TTL)<\/li>\n<li>Database: New analytics table with 11 optimized indexes for performance<\/li>\n<li>Enhancement: Event tracking for payment initiation and completion<\/li>\n<li>Enhancement: Processing time calculation (milliseconds)<\/li>\n<li>Enhancement: Returning customer detection in analytics<\/li>\n<li>Enhancement: Auto-migration on plugin activation (version-checked)<\/li>\n<li>Admin: Dedicated \"BANKpay+ Analytics\" menu under WooCommerce<\/li>\n<li>Admin: 4 stat cards with hover effects and responsive design<\/li>\n<li>Admin: Line chart for payment volume over time (dual Y-axis)<\/li>\n<li>Admin: Pie charts for success\/failure ratio and top 5 banks<\/li>\n<li>Admin: Horizontal bar chart for bank success rates<\/li>\n<li>Admin: Detailed bank performance table with sortable columns<\/li>\n<li>Performance: Query caching prevents redundant database hits<\/li>\n<li>Performance: Composite indexes optimize date-range queries<\/li>\n<li>Performance: Chart.js 4.4.0 loaded via CDN for fast rendering<\/li>\n<li>Security: AJAX nonce verification for CSV export<\/li>\n<li>Security: Capability checks (manage_woocommerce required)<\/li>\n<li>Security: User agent hashing for privacy (SHA-256)<\/li>\n<li>Developer: 175+ lines of JavaScript for chart initialization<\/li>\n<li>Developer: Extensible analytics class with public query methods<\/li>\n<li>Developer: GDPR-compliant data collection (no IP addresses stored)<\/li>\n<li>Responsive: Mobile-optimized dashboard (tablets, phones)<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Feature: Real-time IBAN validation with MOD-97 checksum algorithm<\/li>\n<li>Feature: Support for 70+ countries with country-specific validation<\/li>\n<li>Feature: Bank code extraction (DE, FR, GB, ES, IT, NL, BE, AT)<\/li>\n<li>Feature: Optional ibanapi.com integration for enhanced validation<\/li>\n<li>Feature: Client-side IBAN formatting and real-time feedback<\/li>\n<li>Feature: REST API endpoint: \/wp-json\/bankpay-plus\/v1\/validate-iban<\/li>\n<li>Feature: 30-day validation caching for performance<\/li>\n<li>Feature: Rate limiting protection (10 requests per minute)<\/li>\n<li>Feature: Returning customer recognition with localStorage persistence<\/li>\n<li>Feature: One-click payment for returning customers<\/li>\n<li>Feature: Automatic bank selection memory (90-day retention)<\/li>\n<li>Feature: IBAN masking for security (shows DE89****0000)<\/li>\n<li>Feature: Welcome back banner with saved bank information<\/li>\n<li>Feature: Manual \"Forget this bank\" option for privacy control<\/li>\n<li>Enhancement: Admin settings for IBAN validation configuration<\/li>\n<li>Enhancement: Visual feedback with success\/error states<\/li>\n<li>Enhancement: localStorage caching for offline validation<\/li>\n<li>Enhancement: GDPR-compliant privacy policy template<\/li>\n<li>Enhancement: Mobile-responsive returning customer UI<\/li>\n<li>Enhancement: Event system for payment completion hooks<\/li>\n<li>Developer: Comprehensive PHPUnit test suite (30+ tests)<\/li>\n<li>Developer: Extensible validation hooks and filters<\/li>\n<li>Developer: Custom jQuery events for integration (bankpay:bank_saved, etc.)<\/li>\n<li>Privacy: localStorage-first approach (no server storage by default)<\/li>\n<li>Privacy: Automatic WordPress Privacy Policy integration<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Security: Enhanced input sanitization and validation across all components<\/li>\n<li>Security: Improved SQL query safety with proper escaping<\/li>\n<li>Code Quality: Fixed 1,256 coding standards violations (WordPress\/WooCommerce standards)<\/li>\n<li>Code Quality: Improved code formatting and inline documentation<\/li>\n<li>Performance: Optimized statistics calculations with proper caching<\/li>\n<li>Maintenance: Updated phpcs and phpstan configurations<\/li>\n<li>Compatibility: Verified WordPress 6.7 and WooCommerce 9.0 compatibility<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Instant SEPA payment processing<\/li>\n<li>Webhook support for payment notifications<\/li>\n<li>Refund processing<\/li>\n<li>Test mode with sandbox environment<\/li>\n<li>HPOS (High-Performance Order Storage) compatibility<\/li>\n<li>Admin transaction management dashboard<\/li>\n<li>Payment statistics and analytics<\/li>\n<li>Order payment details meta box<\/li>\n<li>WordPress dashboard widget<\/li>\n<li>Advanced security features (rate limiting, replay protection, security headers)<\/li>\n<li>Dependency injection and repository pattern architecture<\/li>\n<li>Comprehensive logging with automatic sensitive data redaction<\/li>\n<\/ul>","raw_excerpt":"Accept instant SEPA payments with 7-second settlement time via BANKpay+ directly into your bank account.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/158101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=158101"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/bankpay"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=158101"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=158101"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=158101"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=158101"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=158101"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=158101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}