=== Paysera Smart Checkout for WooCommerce ===
Version: 1.0.0
Date: 2026-03-30
Contributors: Paysera
Tags: woocommerce, payment, payment gateway, paysera
Requires at least: 6.7
Tested up to: 6.9
Stable tag: 1.0.0
Requires PHP: 7.4
Requires PHP Extension: BCMath, Zip
Minimum requirements: WooCommerce 9.0
License: GPL v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Accept online payments in WooCommerce via Paysera — cards and European bank payment methods through one integration.

== Description ==

This plugin integrates the Paysera payment gateway with WooCommerce stores. Customers can pay using credit/debit cards and bank payment methods across Europe through a single gateway agreement.

The plugin supports both WooCommerce checkout experiences:

 - Classic checkout (shortcode-based)
 - Block checkout (WooCommerce Blocks)

= Features =
 - Cards and European bank payment methods via the Paysera Checkout API
 - Compatible with WooCommerce High-Performance Order Storage (HPOS)
 - Popup or same-window payment flow, configurable per store
 - Server-to-server payment status callbacks for reliable order status updates
 - Built-in diagnostic tools: TLS version check, OpenSSL check, translation file completeness check, signature verification
 - Configurable logging levels (None, Error, Info)

= Configuration =

1. Install and activate the plugin.
2. Go to Paysera → Payments in the WordPress admin.
3. Enter your Paysera Checkout client ID and client secret.
4. Choose window mode (popup or same window) and enable the gateway.
5. Save the settings.

= Logging =
Default log level is Error. Logs can be viewed and downloaded from the plugin's Extra Settings page. Downloading the zip archive requires the PHP zip extension. Log files can also be deleted from WooCommerce → Status → Logs. Available logging levels:

 - None: logging is disabled.
 - Error: only plugin errors are saved.
 - Info: plugin errors and related debug information are saved.

= Fees =
Fees for the Paysera Checkout service are listed on the Paysera website:
[Paysera Checkout fees >](https://www.paysera.com/v2/en/fees/payment-gateway-fees)

= Support =
Paysera client support is available in English 24/7 at +44 20 80996963 or support@paysera.com. Additional languages are available during business hours. For more information visit [paysera.com](https://www.paysera.com).

== Installation ==

= Installation by FTP =
1. Download the plugin zip.
2. Connect to your server and go to your WordPress base directory.
3. Create a new folder `paysera-smart-checkout-woocommerce` in `/wp-content/plugins`.
4. Extract the zip file into the new folder.
5. Activate the plugin:
    Plugins → Installed Plugins → Paysera Smart Checkout for WooCommerce → Activate
6. Configure the plugin in:
    Paysera → Payments
    Enter your checkout client ID and client secret.
7. Save the settings.

= Installation from admin panel (zip file) =
1. Download the plugin zip.
2. Connect to the WordPress admin panel.
3. Install the plugin:
    Plugins → Add New → Upload Plugin → Choose File → select the downloaded zip → Install Now
4. Activate the plugin:
    Plugins → Installed Plugins → Paysera Smart Checkout for WooCommerce → Activate
5. Configure the plugin in:
    Paysera → Payments
    Enter your checkout client ID and client secret.
6. Save the settings.

= Installation from admin panel (marketplace) =
1. Connect to the WordPress admin panel.
2. Install the plugin:
    2.1. Plugins → Add New;
    2.2. Search for 'Paysera Smart Checkout for WooCommerce';
    2.3. Install.
3. Activate the plugin:
    Plugins → Installed Plugins → Paysera Smart Checkout for WooCommerce → Activate
4. Configure the plugin in:
    Paysera → Payments
    Enter your checkout client ID and client secret.
5. Save the settings.

== Source code ==

The plugin ships with both the production assets (under `assets/build/`) and the original, human-readable source files used to build them.

= Source files included in the ZIP =
* `packages/admin/` — React/TypeScript source for the admin interface.
* `packages/frontend/` — React/TypeScript source for the WooCommerce checkout integration (classic and block checkout).
* `package.json`, `webpack.config.js`, `tsconfig.json` — build configuration.

= Build tools =
* Node.js 18 or newer, npm 9 or newer.
* webpack (declared in `package.json` as a dev dependency).

= Build instructions =
1. From the plugin root, install dependencies: `npm install --legacy-peer-deps`
2. Build the production assets: `npm run build`
3. The compiled output is written to `assets/build/`. The plugin loads these files via `wp_enqueue_script` and `wp_enqueue_style`.

For development with auto-rebuild, run `npm start` instead of `npm run build`.

== External services ==

This plugin connects to the following Paysera services. All requests are made over HTTPS and only when the corresponding feature is used.

= Paysera Checkout API =
The plugin sends order data (amount, currency, order identifier, customer billing details, return URLs) to the Paysera Checkout API to create payment orders, retrieve available payment methods and process payment status callbacks. This is the core service of the plugin: without it the gateway cannot operate. Requests are made when a customer initiates a payment at checkout, when the merchant configures the gateway in the admin and when Paysera notifies the store about a status change.

* Terms of service: [https://www.paysera.com/v2/en-LT/legal/general-agreement](https://www.paysera.com/v2/en-LT/legal/general-agreement)
* Privacy policy: [https://www.paysera.com/v2/en-LT/legal/privacy-policy](https://www.paysera.com/v2/en-LT/legal/privacy-policy)

= Paysera Translation Proxy =
The plugin retrieves translation files for payment method names and gateway labels from Paysera's translation proxy (`translation-proxy.paysera.net`). The request contains only the plugin translation namespace and locale. No order or customer data is sent. The request is performed by the diagnostic "Translation Proxy Connectivity" check and during translation refresh.

* Terms of service: [https://www.paysera.com/v2/en-LT/legal/general-agreement](https://www.paysera.com/v2/en-LT/legal/general-agreement)
* Privacy policy: [https://www.paysera.com/v2/en-LT/legal/privacy-policy](https://www.paysera.com/v2/en-LT/legal/privacy-policy)

= Paysera Public Key Endpoint =
The plugin downloads Paysera's public key from `https://paysera.com/download/public.key` to verify the signature of payment status callbacks and to test that the server can establish modern TLS connections to Paysera. The request contains no store, order or customer data. It is performed during the diagnostic "TLS Versions Support Check" and when verifying callback signatures.

* Terms of service: [https://www.paysera.com/v2/en-LT/legal/general-agreement](https://www.paysera.com/v2/en-LT/legal/general-agreement)
* Privacy policy: [https://www.paysera.com/v2/en-LT/legal/privacy-policy](https://www.paysera.com/v2/en-LT/legal/privacy-policy)

== Screenshots ==

== Changelog ==
= 1.0.0 =
* Initial release.
