=== SkyServers Retragere din Contract (OUG 18/2026) ===
Contributors: skyservers, freemius
Tags: consumer rights, romania, withdrawal, compliance, woocommerce
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.11.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Adds the digital contract withdrawal function that Romanian online stores must
provide, with an automatic acknowledgement carrying date and time.

== Description ==

Since 19 June 2026, Romanian online stores have had to offer consumers a
clearly labelled, permanently available digital way to withdraw from a distance
contract. The obligation comes from OUG 34/2014 as amended by OUG 18/2026, and
it carries a fine of 5,000 to 15,000 lei. **SkyServers Retragere din Contract**
adds that function and keeps the evidence that it was honoured.

On activation the plugin creates a public page carrying the form. A customer
fills it in, confirms, and receives an acknowledgement by email containing the
exact wording of their declaration and the moment it was submitted. The same
declaration is filed in a register inside the WordPress admin, where it can be
read, searched and produced during an inspection.

= Who this is for =

* Any Romanian online store selling to consumers at a distance, whether or not
  it runs WooCommerce.
* Stores whose returns policy already exists on paper but has no digital
  function behind it, which is exactly what the law added.
* Shops that would rather not explain to an inspector why a customer's
  withdrawal has no record.

= What it does =

* **A public page with the form**, created on activation, reachable without an
  account. The link can go in the footer or the menu.
* **The legally required minimum**: name, identification of the contract, and
  the electronic address the acknowledgement goes to. Nothing more is asked.
* **A distinct confirmation button**, separate from the rest of the form.
* **A timestamped record** of every declaration, holding the wording exactly as
  it was submitted rather than a summary of it.
* **Two emails**, both in HTML and plain text: the acknowledgement the law
  requires, sent to the consumer, and a notification to the store.
* **A register in the admin**, with the state of each request and whether the
  acknowledgement was handed to the mail system.
* **A notice about the article 16 exceptions**, shown on the form and repeated
  in the acknowledgement, so a customer is told before they send that unsealed
  goods may not be returnable.

= With WooCommerce =

* A logged-in customer picks the order from a list instead of typing its number.
* **Partial withdrawal**: the customer chooses which products, and how many of
  each, rather than withdrawing from the whole order.
* Products already covered by an earlier request are shown as unavailable, with
  the reason.
* Guests who ordered without an account can look their order up by number and
  email; if the lookup fails, the request is still recorded from what they typed.
* An optional button on the order page, and on the orders list if you enable it.
* Digital products can be excluded, and the exclusion is a setting rather than
  an assumption, because the article 16 exception for digital content is
  conditional.

= Compatibility =

* Works with or without WooCommerce. Without it, the form accepts a free-form
  declaration.
* Compatible with WooCommerce High-Performance Order Storage (HPOS).
* Does not configure mail delivery of its own. It uses the WordPress mail
  function, so whatever SMTP the site already has applies automatically.
* Sends nothing anywhere. Every record stays in your database.

= Translations =

Source strings are English. A Romanian translation ships with the plugin. The
declaration itself, the legal information notice and the article 16 warning are
deliberately fixed in Romanian: they are the legally operative wording and must
not change with the site locale.

== Frequently Asked Questions ==

= Does this replace my store's legal documentation? =

No. Return policy, terms and conditions, delivery policy, privacy policy and
pre-contractual information remain the merchant's responsibility. This plugin
implements one specific technical function.

= Are the records deleted when I uninstall? =

No. Records are evidence and are kept by default. Deletion is an explicit
setting.

= Does the plugin send data anywhere? =

No. Everything stays on your site. There are no external calls.

== Screenshots ==

1. The public withdrawal page: the legal notice, the warning about the article 16 exceptions, and the form the customer fills in.
2. The register in the WordPress admin. Each request carries its state and whether the acknowledgement was handed to the mail system.
3. A single request, with the declaration exactly as it was submitted and the moment it arrived.
4. Settings: the trader details that go into the acknowledgement, and the length of the withdrawal window.

== Changelog ==

= 1.11.4 =
* First release on wordpress.org.
