=== NeonaFM Commerce ===
Contributors: neonafm
Tags: ecommerce, digital downloads, shopping cart, digital products, yoomoney
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 0.2.13
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Магазин цифровых товаров с ЮMoney. Переезд с WooCommerce с сохранением исходных товаров и заказов и возможностью вернуться к прежнему магазину.

== Description ==

= На русском =

= Переезд с WooCommerce с сохранением исходного магазина =

Если вы продаёте цифровые товары и хотите перейти с WooCommerce на самостоятельный магазин, NeonaFM Commerce позволяет импортировать поддерживаемые товары, их файлы, категории, отзывы и историю заказов. Заказы связываются с существующими учётными записями покупателей, когда такая связь есть в исходных данных.

Импорт создаёт отдельные записи NeonaFM Commerce и сохраняет исходные товары и заказы WooCommerce. Можно проверить новый магазин, затем отключить WooCommerce. Если решение не подойдёт, можно снова включить WooCommerce и вернуться к сохранённому исходному магазину, если его данные и файлы не удалены.

Важно: это импорт, а не двусторонняя синхронизация. Новые заказы, товары и изменения, сделанные в NeonaFM Commerce после переезда, автоматически обратно в WooCommerce не переносятся. Перед переходом сохраните резервную копию и проверьте результат импорта. Вариативные и физические товары не поддерживаются.

NeonaFM Commerce — самостоятельный магазин цифровых товаров для WordPress с русским интерфейсом и встроенным подключением российской платёжной системы ЮMoney. WooCommerce для работы не нужен.

Продавайте файлы, музыку, книги и программы через каталог, корзину и личный кабинет. После подтверждения оплаты покупатель получает доступ к загрузкам.

* Оплата через ЮMoney в рублях после подключения кошелька продавца и приложения OAuth.
* Защищённое хранение файлов с шифрованием и проверкой прав на скачивание.
* Версии файлов и настройка доступа к обновлениям купленного товара.
* Бесплатные загрузки, скидки, купоны, отзывы и шаблоны писем.
* Перенос поддерживаемых товаров и истории заказов из WooCommerce.

Плагин ориентирован на цифровые, виртуальные и внешние товары. Доставка физических товаров и вариативные товары не поддерживаются. Для ЮMoney нужен идентифицированный кошелёк; условия платёжного сервиса действуют отдельно.

= English =

NeonaFM Commerce is a standalone store for digital, virtual and external products. It does not require WooCommerce to run.

Features include:

* Digital, virtual and external products, with multiple downloadable files per product.
* Encrypted local file storage and customer download permissions.
* File versions, fixed-version access, future updates or updates for a defined period.
* Free digital downloads without mandatory registration.
* Shopping cart or direct checkout, customer accounts and purchase history.
* Percentage coupons, sale prices, product reviews and ratings.
* Product categories, catalog filters, related products and editable product tabs.
* Editable email templates.
* Optional built-in YooMoney payment integration for RUB payments.
* A resumable importer for supported digital, virtual and external WooCommerce products and order history.

The current store and administration interface is primarily in Russian. The plugin is intended for digital and virtual products; physical shipping and variable products are not supported.

OpenSSL with AES-256-GCM support is required for protected file storage. Back up the database and the uploads directory together: the database contains the key needed to decrypt stored product files.

= External services =

**YooMoney (optional)**

YooMoney is used only when the store administrator configures and connects this payment integration. A merchant YooMoney account and OAuth application are required. The built-in gateway accepts RUB payments and requires an identified wallet verified through the provider API.

During connection, the plugin sends OAuth authorization and token exchange requests to yoomoney.ru. The authorization code, application identifier, application secret and callback address are exchanged as required by OAuth. Access tokens are used to request wallet information and verify payment operations.

When a customer chooses YooMoney, the browser is redirected to the provider with the merchant wallet, amount, payment method, an order-specific payment label, payment description and return address. Pending payments are checked through the YooMoney API, including scheduled checks. Returning to the store alone does not mark an order as paid.

* Service: https://yoomoney.ru/
* API documentation: https://yoomoney.ru/docs/wallet
* API agreement: https://yoomoney.ru/document/soglashenie-ob-ispolzovanii-api-yoomoney
* Legal terms: https://yoomoney.ru/legal
* Privacy policy: https://yoomoney.ru/document/politika-konfidencialnosti-ooo-nko-yoomoney-530304

**Importing external product files (optional)**

When the administrator runs a WooCommerce import, the plugin may request download URLs already configured for the imported products. The relevant file host receives a normal HTTP request, including the server IP address and the requested URL. These requests are made to copy the product files into the store's protected storage.

No NeonaFM account is required. This WordPress.org build does not include the separate n-fm.ru update client.

= Privacy =

The store saves customer account information, order details, purchase permissions and submitted reviews in its WordPress database. Store emails are sent through WordPress. Payment data is exchanged with YooMoney as described above when that integration is enabled. Store owners are responsible for configuring their consent text and privacy policy for their own store.

== Installation ==

1. Install and activate NeonaFM Commerce.
2. Open the NeonaFM Commerce settings under the Products administration menu.
3. Review the automatically created shop, cart, checkout, account, purchases and downloads pages.
4. Configure currency, store emails, checkout consent and optional YooMoney payments.
5. Add a product and upload its downloadable files from the product editor.
6. Test your store before accepting real orders.

To migrate from WooCommerce, keep WooCommerce active while running the importer. Review the import results and test the copied products before deactivating WooCommerce. Source WooCommerce data is retained. New NeonaFM Commerce changes are not synchronized back to WooCommerce.

== Frequently Asked Questions ==

= Does it require WooCommerce? =

No. WooCommerce is needed only while importing data from an existing WooCommerce store.

= Does it support physical products? =

No. It focuses on digital, virtual and external products, without shipping or warehouse management.

= Can I sell paid products? =

Yes. The plugin includes an optional YooMoney gateway and extension hooks for other integrations. Provider availability and terms apply separately.

= Does GPL apply to the files sold through my store? =

The plugin's license does not automatically apply to the products sold through it. Product owners choose the appropriate terms for their own materials.

= What must I back up? =

Back up the WordPress database and uploads directory together. Losing the database encryption key prevents access to previously encrypted product files.

= Does deactivation erase my store? =

No. Deactivation retains the plugin's data and product files.

== Changelog ==

= 0.2.13 =
* Validate payment requests and account notices with direct nonce checks.
* Separate paid-download and coupon authorization guards.
* Apply explicit late HTML filtering while preserving store forms and binary downloads.

= 0.2.12 =
* Use unique NEONCO_/neonco_ names for plugin-owned classes, data and actions.
* Explicitly sanitize request fields and strengthen direct mutation guards.
* Enqueue local assets for payment redirects, OAuth and import progress pages.

= 0.2.11 =
* Add GPL-2.0-or-later licensing, copyright notices and directory documentation.
* Remove the separate n-fm.ru update client from the WordPress.org build.
* Validate the cart setting and supported currency values.
* Use WordPress file deletion and explicitly escape review ratings.

= 0.2.10 =
* Provide a dedicated product page template for classic and block themes.

== Upgrade Notice ==

= 0.2.13 =
Review update for nonce checks and late HTML filtering. Existing 0.2.12 store data and encrypted files are retained.

= 0.2.12 =
Pre-release directory review build for new installations. Internal data names changed from the unpublished 0.2.11 package; this is not an in-place migration from the separately distributed Neona Commerce store. Back up the database and uploads together.
