=== Kairos Labs Bank Transfer Reconciliation for WooCommerce ===
Contributors: kairoslabs
Tags: woocommerce, payment gateway, bank transfer, sepa, reconciliation
Requires at least: 6.1
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Accept bank transfers in WooCommerce. Show bank details and a unique payment reference at checkout. Mark orders paid with one click.

== Description ==

A focused WooCommerce payment gateway for accepting bank transfers (SEPA, SWIFT, FPS, ACH, and similar local rails). Each order gets a unique payment reference that you match against your incoming bank statement, then mark as paid from the order screen with a single click.

This plugin is intentionally minimal. It presents the customer with your bank details and a payment reference, then gives you a "Mark as paid" button on the order page. Reconciliation is manual.

The plugin name mentions Wise because the typical use case is merchants who receive payments into a Wise (formerly TransferWise) Business account, but the plugin itself is bank-agnostic — any IBAN/SWIFT-receiving account works. No API integration, no third-party HTTP calls. Everything runs locally in your WordPress install.

= Features =

* **Bank-detail checkout block** — IBAN, BIC, account holder, bank name and country are shown to the customer on the order-pay and order-received pages.
* **Unique payment reference per order** — generated with a configurable prefix (e.g. `KLC-17-4R9NE3`) so you can match transfers on your bank statement at a glance.
* **One-click manual confirmation** — a "Mark as paid" button on the WooCommerce order screen moves the order to *Processing* and records who confirmed it and when, in the order notes.
* **HPOS compatible** — works with both the legacy `wp_posts` order storage and WooCommerce High-Performance Order Storage.
* **WooCommerce Blocks compatible** — renders correctly in the block-based checkout introduced in WooCommerce 7+.
* **HTML order emails** — bank details and payment reference are embedded in the WooCommerce *order on-hold* email so the customer has everything they need to pay.
* **Customisable instructions** — show your own copy in any language on the thank-you page and in emails.
* **No tracking, no external requests** — the plugin makes zero HTTP calls to third-party servers.

= Why does WooCommerce need this when it ships with BACS? =

WooCommerce ships with a generic "Direct bank transfer" (BACS) gateway, but it has no per-order reference, no structured way to display multi-line bank details, and no one-click confirmation flow on the order screen. This plugin fills that gap.

== Trademark notice ==

This plugin is developed independently by Kairos Labs. It is not affiliated with, endorsed by, or sponsored by Wise Payments Limited or Automattic Inc. "Wise" is a trademark of Wise Payments Limited. "WooCommerce" is a trademark of Automattic Inc.

== Installation ==

1. In your WordPress admin, go to **Plugins → Add New**, search for *Kairos Labs Bank Transfer Reconciliation for WooCommerce*, and click *Install Now*.
2. Activate the plugin.
3. Go to **WooCommerce → Settings → Payments** and enable the *Wise Bank Transfer* gateway.
4. Click *Manage*, fill in your IBAN, BIC, account holder name, bank name and country, customise the title/instructions if desired, and save.

The gateway is now available at checkout. Orders placed with this gateway go to *On hold* status until you confirm receipt on the order screen.

== Frequently Asked Questions ==

= Do I need a Wise business account? =

No. Any bank account will work — the plugin just presents the details you enter to the customer. The name reflects the typical use case but the manual flow is bank-agnostic.

= Does this work with WooCommerce Blocks (the block-based checkout)? =

Yes. The gateway registers both for the classic shortcode-based checkout and for the WooCommerce Blocks checkout introduced in WooCommerce 7.

= Does this work with High-Performance Order Storage (HPOS)? =

Yes. The "Mark as paid" meta box is registered against both the HPOS order screen and the legacy `shop_order` post screen, so it appears regardless of which order storage you have enabled.

= Where is the payment reference shown to the customer? =

On the thank-you (order-received) page, on the order-pay page (if the customer revisits the order), and in the *order on-hold* WooCommerce email.

= Can I customise the payment reference format? =

Yes. The settings screen has a *Reference prefix* field. The default `KLC` produces references like `KLC-17-4R9NE3` (prefix-orderID-random). You can change the prefix; the order ID and random suffix are always appended.

= What happens to my data if I uninstall the plugin? =

Deleting the plugin from **Plugins → Installed Plugins → Delete** removes the events table, all plugin options, and all scheduled cron jobs. WooCommerce order data is **not** touched — that belongs to WooCommerce, not to this plugin.

== Screenshots ==

1. The bank-detail entry screen in WooCommerce → Settings → Payments.
2. The customer's view at checkout, showing the gateway option.
3. The thank-you page with bank details and unique payment reference.
4. The order screen meta box with the "Mark as paid" button.

== Changelog ==

= 1.0.0 =
* Initial release on WordPress.org.
* Bank-detail checkout block (classic + Blocks).
* Unique payment reference per order, configurable prefix.
* One-click "Mark as paid" confirmation on the order screen (HPOS-compatible).
* HTML order emails with bank details and payment reference.
* Internationalisation-ready (text domain: `kairos-labs-wise-bank-transfer-for-woocommerce`).

== Upgrade Notice ==

= 1.0.0 =
First public release.
