WordPress — плагин-приёмник через AI

Промпт для ChatGPT / Claude. Сгенерирует plug-and-play WordPress-плагин, который добавляет шорткод [tegro_pay amount="500" desc="..."] — и кнопку оплаты можно вставить в любую страницу/пост.

Промпт

Скопируйте в ChatGPT / Claude. Ответом будет полный код плагина.

Создай WordPress плагин «Tegro.Money Pay» — один PHP-файл плагина (можно в виде архива .zip).

Функционал:
1) Регистрирует страницу настроек в админке WordPress (Settings → Tegro.Money) с полями:
   - Shop ID (текст)
   - API Key (password)
   - Тестовый режим (checkbox — пока он включён, отправляем заказы с пометкой "тест")
2) Добавляет шорткод [tegro_pay amount="500" desc="Описание товара" currency="RUB"]
   — рендерит на странице кнопку "Оплатить".
   При клике делается AJAX-запрос на admin-ajax.php?action=tegro_create_order,
   серверная функция:
   - Берёт shop_id и api_key из настроек
   - Готовит body: {shop_id, nonce: wp_generate_uuid4(), currency, amount, order_id: wp_generate_uuid4(), description}
   - body_string = wp_json_encode(body)
   - sign = hash_hmac('sha256', body_string, $api_key)
   - HTTP POST на https://tegro.money/api/createOrder/ через wp_remote_post, с header Authorization: Bearer <sign>
   - body запроса — это РОВНО body_string (НЕ повторять json_encode)
   - Парсит ответ. Если type=success — возвращает data.url. Иначе — ошибка.
3) JS на стороне страницы — после ответа делает window.location.href = data.url.
4) Регистрирует endpoint POST /wp-json/tegro/v1/notify для приёма webhook'а от Tegro.Money:
   - Парсит form-urlencoded тело
   - Сверяет подпись по доке https://tegro.money/docs/payments/notify/
   - Помещает заказ в кастомный custom-post-type "tegro_order" со статусом
5) В админке — Tegro.Money → Заказы, таблица всех принятых платежей.

Требования:
- Совместимо с WordPress 6.x и PHP 8.1+
- Без сторонних Composer-зависимостей (только функции WordPress + ядро PHP)
- I18n-готов (текстовый домен 'tegro-money')
- README.txt в формате wordpress.org
- Безопасность: nonce-check в админке, sanitize всех POST, escape всего вывода
- Никаких eval / curl_exec — только wp_remote_post

Структура файлов:
tegro-money-pay/
├── tegro-money-pay.php          (главный файл плагина)
├── README.txt
├── includes/
│   ├── class-admin.php
│   ├── class-shortcode.php
│   ├── class-api.php             (вызовы Tegro API + HMAC sign)
│   └── class-webhook.php
└── assets/
    └── pay.js

В конце дай инструкцию как запаковать в zip и установить.

После генерации

  1. Сохраните файлы в папку wp-content/plugins/tegro-money-pay/ вашего WordPress.
  2. В админке: Plugins → Activate «Tegro.Money Pay».
  3. Settings → Tegro.Money — вставьте Shop ID и API Key из Личного кабинета.
  4. Включите тестовый режим до первого боевого платежа.
  5. В любой странице или посту вставьте [tegro_pay amount="500" desc="Подписка"].
  6. В настройках магазина впишите notify_url = https://<ваш-сайт>/wp-json/tegro/v1/notify.
Не вайбкодер? Когда AI сгенерирует код, попросите его собрать всё в один .zip-архив — и установите через стандартный WordPress installer.