=== IBAN Checker by ibanchecker.cash ===
Contributors: ibancheckercash
Tags: iban, woocommerce, checkout, validation, sepa
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Validate IBAN numbers at WooCommerce checkout using the ibanchecker.cash API. Prevent invalid IBANs from reaching your payment processor.

== Description ==

**IBAN Checker by ibanchecker.cash** adds real-time IBAN validation to your WooCommerce checkout. When a customer submits an order with an IBAN number, the plugin verifies it against the ibanchecker.cash API before the order is accepted.

**What it does:**

* Validates IBAN format, check digit (MOD-97), and country-specific length rules
* Blocks order submission if the IBAN is invalid with a clear error message
* Shows real-time formatting hints as the customer types (spaces every 4 characters)
* Optionally adds an IBAN input field to checkout if your theme does not include one

**Supported countries:** 90 countries including all SEPA and GCC regions

**Features:**

* Zero configuration needed, just enter your API key
* Configurable field name (works with any IBAN field, custom or default)
* Enable/disable without deactivating the plugin
* No IBANs are stored, fully GDPR compliant
* Vanilla JS only, no jQuery dependency for the frontend hint

**Getting your API key:**

1. Visit [ibanchecker.cash/pricing](https://ibanchecker.cash/pricing)
2. Choose the Free plan (1,000 validations/month at no cost)
3. Enter your email to receive your API key instantly
4. Paste it into WooCommerce > Settings > IBAN Validation

== Installation ==

1. Upload the `ibanchecker-cash` folder to `/wp-content/plugins/`
2. Activate the plugin from **Plugins > Installed Plugins**
3. Go to **WooCommerce > Settings > IBAN Validation**
4. Enter your ibanchecker.cash API key
5. Set the IBAN field name used in your checkout (default: `billing_iban`)
6. Save changes

== External services ==

This plugin connects to the ibanchecker.cash API to validate IBAN numbers entered at checkout.

**What is sent and when:** When a customer submits a WooCommerce order containing an IBAN, the plugin sends that IBAN (and your API key for authentication) to `https://ibanchecker.cash/api/v1/validate` over HTTPS. No other personal data (name, email, address, order details) is transmitted. Nothing is sent if the IBAN field is empty.

**Data handling:** ibanchecker.cash does not log or store submitted IBANs. Validation runs in memory and the IBAN is discarded immediately after the response.

This service is provided by ibanchecker.cash: [Terms of Service](https://ibanchecker.cash/terms), [Privacy Policy](https://ibanchecker.cash/privacy).

== Frequently Asked Questions ==

= Do I need an API key? =

Yes. A free API key gives you 1,000 validations per month. Get one at [ibanchecker.cash/pricing](https://ibanchecker.cash/pricing).

= Which IBAN field does the plugin look at? =

By default it reads `billing_iban`. You can change this to any field name in WooCommerce > Settings > IBAN Validation.

= Does the plugin store customer IBANs? =

No. The plugin sends the IBAN to the ibanchecker.cash API for validation and receives a valid/invalid response. Nothing is logged or stored on ibanchecker.cash servers. See the [privacy policy](https://ibanchecker.cash/privacy).

= What happens if the API is unreachable? =

If the API call fails (timeout, network error), the plugin allows the order to proceed. You can handle downstream IBAN validation through your payment processor.

= Can I use this without WooCommerce? =

This plugin requires WooCommerce. For non-WooCommerce validation, use the [REST API](https://ibanchecker.cash/api-docs) directly.

= Is this compatible with block-based checkout? =

Classic checkout is fully supported. Block-based (Gutenberg) checkout support is planned for version 1.1.

== Screenshots ==

1. Settings page under WooCommerce > Settings > IBAN Validation
2. Checkout error when an invalid IBAN is entered
3. Real-time formatting hint as the customer types

== Changelog ==

= 1.0.0 =
* Initial release
* WooCommerce checkout validation via ibanchecker.cash API
* Real-time IBAN formatting in vanilla JS
* Settings: API key, field name, enable/disable, optional field injection

== Upgrade Notice ==

= 1.0.0 =
Initial release.
