# Плагин Magento 2

> Установите модуль Paymos для Magento 2 или Adobe Commerce, подключите ключи двух режимов и проверьте переход заказа в оплаченный статус.

## 1. Требования

- Magento Open Source или Adobe Commerce 2.4.x и доступ к командной строке
- Аккаунт Paymos и выбранный в дашборде проект
- Сам модуль: через Composer из Adobe Commerce Marketplace или официальный ZIP со страницы [GitHub Releases](https://github.com/paymos-labs/magento2/releases/latest)

Официальный пакет одинаков для всех мерчантов и не содержит API-ключей, API-секретов, ID проекта, секретов вебхуков, токенов OAuth и кодов устройства.

## 2. Установка

В Magento нет загрузчика расширений в админке, поэтому оба пути заканчиваются одними и теми же командами в консоли. Сначала выберите, как попадут файлы.

**Adobe Commerce Marketplace.** Когда модуль там опубликован, Composer приносит его вместе с PHP SDK Paymos одной командой:

```bash
composer require paymos/magento2-payment
```

**ZIP из дашборда.** Возьмите `paymos-magento2-<version>.zip` со страницы [GitHub Releases](https://github.com/paymos-labs/magento2/releases/latest) или из панели **CMS-интеграции** в дашборде Paymos и распакуйте в корень Magento. Архив уже разложен как `app/code/Paymos/Payment/…` с вендоренным SDK внутри — ничего двигать не нужно и шаг Composer не требуется.

Любой из путей завершается одними командами:

```bash
bin/magento module:enable Paymos_Payment
bin/magento setup:upgrade
bin/magento setup:di:compile   # только для production-режима
bin/magento cache:clean
```

`setup:upgrade` создаёт две таблицы: `paymos_payment_invoice` — по одному снимку на заказ — и `paymos_payment_event` — журнал дедупликации вебхуков. Затем откройте «Stores → Configuration → Sales → Payment Methods → Paymos» и нажмите **«Подключить Paymos»**.

## 3. Подключение

1. Откройте в дашборде Paymos проект, который хотите подключить. Плагин автоматически использует текущий проект и больше не предлагает выбирать его.
2. Нажмите **Подключить Paymos** в Magento 2.
3. Подтвердите показанные URL магазина и текущий проект в Paymos. Второго выбора проекта нет.
4. Вернитесь в CMS после появления статуса подключения.

Для тестового и рабочего режима Paymos использует один активный платёжный ключ мерчанта или создаёт его при первом подключении. Вебхук инвойсов используется повторно только при полном совпадении адреса и проекта; при отличиях создаётся отдельный вебхук. Существующая конфигурация с тем же адресом не перезаписывается:

```text
https://your-store.example/paymos/payment/callback
```

Авторизация устройства по OAuth нужна только для одноразовой передачи ключей. Короткоживущий токен удаляется; рабочие запросы Merchant API продолжают подписываться HMAC.

## 4. Хранение секретов

Ключи и временное состояние устройства хранятся в core_config_data через штатный Magento EncryptorInterface и ключ шифрования установки. Сохранённые секреты не возвращаются в страницу администрирования.

## 5. Тест и переход в рабочий режим

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