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:
- 01Go to WooCommerce > Status > Logs
- 02Look 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:
- 03Customer authorizes payment through their banking app
- 04Bank instantly verifies funds availability
- 05Money is debited from customer’s account
- 06Funds are credited to your account within 7-10 seconds
- 07Payment 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:
- 08You (merchant) requests payment
- 09Customer selects their bank
- 10Customer authorizes payment in their secure banking app
- 11BANKpay+ (licensed Payment Initiation Service Provider) initiates the transfer
- 12Money 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 c