=== BriizPay for WooCommerce ===
Contributors: briizpay
Tags: payments, open banking, pay by bank, woocommerce, uk
Requires at least: 6.1
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Take payments by bank transfer over UK Open Banking. No card machine, and no percentage taken from the sale.

== Description ==

BriizPay lets a UK shop take payments straight from a customer's bank account. The customer picks their bank and approves the payment in their own banking app. The money moves bank to bank over Faster Payments, usually arriving in seconds.

Because the payment does not go through the card schemes, there is no percentage of the sale. BriizPay charges a flat monthly fee instead.

= What you need =

* A BriizPay account with an approved company and a bank account set up
* A store priced in pounds. BriizPay settles to a UK bank account, so the payment method stays hidden at checkout in any other currency.

= Give customers a reason to pick it =

A card is a habit. Turn on the pay by bank discount in the plugin settings and the method reads "BriizPay - Pay by bank and save £1.20" at checkout, with the saving worked out for that basket. Choose a percentage or a fixed amount. The discount appears as its own line, only while BriizPay is selected, and is recorded on the order. A card costs you a percentage of every order and BriizPay does not, so a 1% discount is roughly self-funding on baskets above about £80.

= What this does not do =

* It does not take card payments. Keep your card gateway alongside it.
* Refunds are made in the BriizPay dashboard, not the WooCommerce order screen.

== External services ==

This plugin connects your shop to **BriizPay**, a payment service operated by BriizPay (briizpay.com). The plugin cannot take payments without it: BriizPay is what creates the payment, shows the payer their bank selection, and moves the money.

**When it sends data.** Once at checkout, when a customer chooses BriizPay and places the order. Nothing is sent at any other time, and nothing is sent from your shop's front end.

**Where it sends it.** The plugin picks the host from the key, so a key that is not live can never move real money, and no other host is contacted: `https://api.briizpay.com` for `bzp_sk_live_`, `https://sandbox.api.briizpay.com` for `bzp_sk_sandbox_`, and `https://dev.api.briizpay.com` for `bzp_sk_test_`, which is BriizPay's own development environment.

**What it sends**, to `/v1/payment-requests` on that host:

* the order total and currency
* the order's lines (product names, SKUs, quantities and prices, shipping, fees and discounts), so the customer's receipt shows what they bought
* the WooCommerce order number, so the payment can be matched back to the order
* the customer's billing name and email address, so the payer is not asked to type them again and so the receipt reaches them
* your shop's order-received URL, so the customer can be returned to your site

**What it receives back.** A payment link to send the customer to, and later a signed notification telling your shop the payment succeeded, which is what marks the order paid.

**What it never sends.** No card details, because BriizPay does not process cards. No customer data for any order that does not use BriizPay.

Your use of the service is governed by BriizPay's terms and privacy policy:

* Terms: https://briizpay.com/terms
* Privacy policy: https://briizpay.com/privacy

Using this plugin requires a BriizPay account with an approved UK business.

== Compatibility ==

Verified against these pairs, each the WordPress version and the newest WooCommerce that supports it:

* WordPress 7.1 with WooCommerce 11.1
* WordPress 6.9 with WooCommerce 10.9
* WordPress 6.6 with WooCommerce 9.8
* WordPress 6.4 with WooCommerce 8.9
* WordPress 6.1 with WooCommerce 7.9

Both checkouts are supported. WooCommerce 8.3 and later use the Checkout block, and the plugin registers a block payment method for it. Older versions use the shortcode checkout and get the classic gateway.

== Installation ==

1. Install and activate the plugin.
2. In BriizPay, go to Settings, API keys, and create a key.
3. In BriizPay, go to Settings, Webhooks, and register the URL shown in WooCommerce, Settings, Payments, BriizPay.
4. Paste the key and the signing secret into those settings and enable the method.

== Frequently Asked Questions ==

= Does my customer need an app? =

No. The payment opens their existing banking app, or their bank's website.

= When does the order get marked paid? =

When BriizPay tells the shop the payment succeeded, which normally happens within a second or two of the customer approving it. The shop does not rely on the customer returning to the site.

= Can I test it without moving real money? =

Yes. A key beginning bzp_sk_sandbox_ runs against the BriizPay sandbox.

== Changelog ==

= 1.2.0 =
* Routes to the right BriizPay from the key alone: bzp_sk_sandbox_ keys now reach the BriizPay sandbox, where a shop can place a test order before going live. Live keys are unaffected, and existing bzp_sk_test_ keys still reach the development environment.
* A shop that has installed the plugin but not connected it now gets a proper introduction on the BriizPay settings screen: what it gains by taking pay by bank, what the customer does at checkout, and a numbered path to getting set up, including a link to create a BriizPay account.
* A dismissible notice points a shop that has not found the settings screen at it. It disappears once a key is saved.
* An API key saved without a webhook signing secret now says so, and explains that the order will stay unpaid without it, rather than leaving it to the field hint.

= 1.1.2 =
* Shows a row of UK bank logos (Barclays, HSBC, NatWest, Monzo) next to the payment method at checkout, in both the classic and block checkout, so customers can see they pay from their own bank. Can be turned off with Show bank logos at checkout in the settings.
* The bank logos are trademarks of their owners and are shown only to indicate that the customer pays from their own bank.

= 1.1.1 =
* Place order now goes straight to choosing a bank, without a second Pay by Bank button on the BriizPay page.
* The customer's receipt lists what they bought, with shipping, fees and the pay by bank discount, instead of a single order line.
* Fix: in the block checkout, the pay by bank discount could stay on an order placed with a different payment method. It is now taken off unless the order is paid by bank.

= 1.1.0 =
* Pay by bank discount: offer a percentage or fixed saving for choosing BriizPay, shown in the method label and as its own line at checkout, in both the block and shortcode checkouts.

= 1.0.0 =
* First release: pay by bank at WooCommerce checkout, signed webhooks, order reconciliation on the return page.
