=== looch Pay for WooCommerce ===
Contributors: simplicityfintech
Tags: payments, payment gateway, checkout, credit card, ecommerce
Requires at least: 6.5
Tested up to: 7.1
Stable tag: 2.1.0
Requires PHP: 7.4
WC requires at least: 8.3
WC tested up to: 11.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Accept cards, Apple Pay, and Google Pay in WooCommerce. Every sale lands in your looch profile, already entered into your books.

== Description ==

looch Pay connects your WooCommerce store to your looch profile. Your customers pay with a card or a wallet at your checkout, and every sale arrives in looch already entered and categorized. No exporting. No month-end scramble.

Connecting takes a click and a scan: Open the plugin settings, click 'Generate QR code', and point your phone’s camera at it. There aren’t any API keys to find, copy, or paste, and credentials aren’t ever shown in the WordPress admin.

**What you get**

* Cards, Apple Pay, and Google Pay at checkout
* 3D Secure on card payments, so your customer’s bank verifies the card before the sale goes through
* Setup by QR code, using the looch app you already sign in to
* Block checkout and classic checkout, both supported
* Refunds from the WooCommerce order screen, the way you already work
* Sales entered and categorized in looch as they land
* Every sale tagged to this store, so your Profit & Loss can show the store on its own
* Compatible with High-Performance Order Storage

**What you need**

The looch app to authorize the store, and a looch profile. If you don’t have a looch profile yet, you can create one in [the app](https://apps.apple.com/app/apple-store/id1635431936?pt=123555731&ct=WordPress&mt=8).

**About looch**

looch is the financial operating system for the modern business: Accounting, banking, instant payments, and spend management, in one place, built for the person running the business rather than the institution behind it.

See the whole system at [looch.money](https://looch.money/?utm_source=wordpress_org&utm_medium=referral&utm_campaign=woo_plugin_listing).

Full [documentation](https://help.looch.money)

== Installation ==

1. In WordPress admin, go to Plugins then Add Plugin, search for looch Pay, and install the looch Pay for WooCommerce plugin.
2. Activate the plugin.
3. Go to WooCommerce then Settings then Payments then looch Pay, then click 'Generate QR code'.
4. Point your phone’s camera at the QR code on the WordPress screen, then tap the link that appears to open looch and finish connecting your store to your looch profile.
5. In the plugin’s settings, choose one of your existing tracking tags for the store and save your choice.

That’s it. No API keys, and no developer needed. Your store is ready to take payments as soon as the scan completes.

== Frequently Asked Questions ==

= Do I need a looch profile? =

Yes. looch Pay settles into your looch profile, so your store has to be connected to one. Profiles are created in [the looch app](https://apps.apple.com/app/apple-store/id1635431936?pt=123555731&ct=WordPress&mt=8), which you will need anyway to authorize the store.

= Where do I enter my API keys? =

Nowhere, and that’s deliberate. Scanning the QR code authorizes the store directly from the looch app, so no keys are typed into WordPress or stored anywhere you have to protect.

= How do my customers pay? =

They pay in the looch Pay window, without leaving your checkout. Apple Pay and Google Pay work right away on a device that has them, with nothing to set up.

To pay by card, a customer signs in to looch Pay first, with a passkey rather than a password. If they don’t have an account yet they create one at checkout in a step or two. The payoff runs in your favor. A customer who has already saved a card at another looch business arrives at your checkout with it waiting, so even a first-time buyer can pay without typing a card number.

= Is there fraud protection on card payments? =

Yes. looch applies 3D Secure on card payments, so your customer confirms the card with their own bank before the sale goes through. It’s the same check they already know from their banking app, it happens inside the looch Pay window, and there is nothing for you to turn on.

= Does it work with block checkout? =

Yes, and with classic checkout. You don’t have to choose one.

= How do refunds work? =

Refund from the WooCommerce order screen as you normally would. looch processes it and records it against the original sale.

= How do I see how this store is doing? =

Every sale from the store carries the tracking tag you chose for it in the plugin’s settings. That tracking tag lets you report on the store on its own.

Pro tip: Point the store’s spending at the same tracking tag and the report writes itself.

1. Pay the store’s expenses with a Smartcard: Hosting, apps, inventory, contractors.
2. Give that Smartcard the same tracking tag you chose for the store.
3. In the looch app, from the 'Accounting' menu, tap 'Financial reports', then 'Profit & Loss'. Filter by that tracking tag.

Sales in, costs out, and the net profit for this store on its own. No spreadsheet, and nothing to reconcile at the end of the month.

= What happens if I disconnect the store? =

Existing orders keep their payment records. The gateway stops appearing at checkout until you scan again.

= I am running the earlier looch plugin. How do I switch? =

Deactivate it first. Both plugins answer to the same name inside WooCommerce, so looch Pay stands down while the older one is active rather than risk taking your store offline, and it will tell you so on the plugins screen.

Once the old one is deactivated, go to WooCommerce then Settings then Payments then looch Pay and scan the QR code again. Your existing orders and their payment records are untouched.

= Where is the full documentation? =

Setup, troubleshooting, and how payments appear in your looch books are all covered in the [documentation](https://help.looch.money).

= What if I need a person? =

Email help@looch.money and someone will answer. It reaches the same team as the help button in the looch app, so it makes no difference whether you ask from your WordPress admin or from your phone.

== External services ==

This plugin relies on looch to process payments, so it sends data to the services below. No payment data is sent until you connect the store.

**looch (apis.looch.money)**

The payment service this plugin exists to reach. When a customer checks out, the plugin asks looch to create the payment for the order, then confirms the result. It also connects your store by QR code, keeps that connection current, processes refunds, lists your tracking tags, saves the tracking tag you choose, and saves a signed-in customer’s card to their looch Pay account.

Sent: At checkout, the order total and currency, the WordPress order number, the order’s WordPress customer ID, and your store’s web address. When a customer signs in to looch Pay at checkout, the order’s payment reference and the customer’s looch Pay sign-in session are also sent so looch can save the card to their looch Pay account and show cards they’ve saved before. When you connect your store, the plugin sends your store’s web address and the WordPress administrator email address so looch can record who connected the store. When you open the tracking tag chooser, the plugin sends your store’s web address to fetch your tracking tags. When you save a choice, it sends your store’s web address and the chosen tracking tag’s ID. The plugin’s version number is sent with every request. Payment card details are never sent to or handled by this plugin.

[Terms of service](https://looch.money/terms-of-service)
[Privacy policy](https://looch.money/privacy-policy)

**looch Pay checkout (pay.looch.money)**

The looch Pay checkout itself. When a customer reaches your checkout, their browser loads the looch Pay window from looch, which is the same checkout used by looch Pay buttons everywhere else. Loading it from looch rather than bundling a copy is what lets a fix or an added payment method reach your store without you updating anything.

Sent: The order total and currency for the window to display, and your store’s looch publishable key, which identifies the store to looch and is designed to be public.

[Terms of service](https://looch.money/terms-of-service)
[Privacy policy](https://looch.money/privacy-policy)

**looch Pay accounts (loochpay-api.looch.money)**

Used when a customer signs in to looch Pay at your checkout, and when they choose to save a card for next time. Signing in is what lets a returning customer pay with a card they already saved instead of typing it again.

Sent: The customer’s email address when they sign in, and their choice of whether to save the card. Card numbers are never sent to or handled by this plugin.

[Terms of service](https://looch.money/terms-of-service)
[Privacy policy](https://looch.money/privacy-policy)

**Stripe (js.stripe.com)**

looch processes card payments through Stripe, so Stripe’s payment library is loaded on your checkout page to collect card and wallet details securely. Card details go from your customer’s browser to Stripe directly and never touch your server, which is what keeps your store out of PCI scope.

Sent: The payment details your customer enters at checkout, and the payment reference looch created for the order.

[Terms of service](https://stripe.com/legal/ssa)
[Privacy policy](https://stripe.com/privacy)

== Credits ==

The looch Pay settings screen is set in Figtree by Erik Kennedy, used under the SIL Open Font License 1.1. The font files ship inside the plugin, so no font service is contacted and nothing about your admin leaves your site. The license text is included at assets/fonts/Figtree-OFL.txt

== Changelog ==

= 2.1.0 =
* You can now choose your store’s tracking tag in the plugin’s settings. Every sale from the store carries that tracking tag.
* When a signed-in customer keeps 'Save to looch Pay' checked, their card is now saved to their looch Pay account and cards they’ve saved before are offered at checkout.
* A paid order won’t be marked Failed if a failed-payment notice arrives late. An order held for an amount mismatch now stays on hold.
* The plugin now keeps your store connected until looch revokes its authorization. If renewal fails, it tries again every two minutes instead of disconnecting.

= 2.0.3 =
* Payments with an amount or currency that doesn’t match the order no longer mark the order paid. An order awaiting payment is put on hold with a note showing both figures, while an order that’s already refunded, canceled, or on hold keeps its status and gets the note, so you can check every looch payment before fulfilling without changing the charge.
* Payment notifications without a valid signature now use only payment details confirmed by looch, while notifications missing details are ignored. The plugin also requests a fresh signing key at most once every 15 minutes, keeping order updates dependable without repeated requests.
* Block checkout now saves the shipping address and phone number the customer entered instead of recording the billing address when they’re different. It leaves the address unchanged for local pickup or an empty shipping form and respects your setting to ship only to the billing address, so orders go to the right place.
* Connecting or disconnecting your store now clears its saved payment details. Reconnecting to a different looch profile no longer leaves checkout unable to open for up to a day.
* Connecting your store now uses your phone’s camera instead of a scanner in the looch app. Point the camera at the QR code and tap the link that appears to open looch and finish connecting.
* Tested with WooCommerce 11.1 to keep checkout and order updates working with that release.

= 2.0.2 =
* Fixed a render loop in block checkout. The payment method re-registered itself on every render, which flooded the console and put the checkout under constant re-rendering while an order was being placed.
* Tested against WordPress 7.1.

= 2.0.1 =
* Links to looch.money from the plugin listing and the settings screen, so you can read about looch without downloading the app first.

= 2.0.0 =
* First release on WordPress.org.

looch Pay replaces the earlier looch plugin, which was downloaded from the looch app and is no longer maintained. If you are running it, see the FAQ above before you activate this one.
