Доделать настройку приёма платежей на сайте на вордпресс

15 000 руб. за проект
24 января 2025, 21:11 • 4 отклика • 45 просмотров
Работа только через Безопасную сделку. Мошенники - проходите мимо, я не новичёк.


Большое ТЗ - результат работы GPTChat, пожалуйста, не оценивайте объём работы по количеству слов :)

Техническое задание (ТЗ) Цель проекта Создать модуль для WordPress, который:

  • Принимает рекуррентные (ежемесячные) платежи через Т-банк.
  • Сохраняет номер телефона клиента в базе данных.
  • Генерирует ссылку для WhatsApp-группы после успешной оплаты.
  • Автоматически проверяет успешность ежемесячных платежей, уведомляет администратора, если платеж не прошел, и прекращает обработку удаленных клиентов.
  • Обеспечивает удобную админ-панель для управления данными клиентов и платежей.

1. Функциональные требования 1.1. Процесс работы для клиента:
  1. Клиент нажимает на кнопку оплаты.
  2. Всплывающее окно или форма запрашивает номер телефона.
  3. После ввода телефона:
    • Телефон сохраняется в базе данных.
    • Клиент перенаправляется на сайт Т-банка для ввода платежных данных.
  4. Т-банк информирует клиента о том, что это ежемесячный платеж.
  5. После успешной оплаты:
    • Клиенту отправляется ссылка на WhatsApp-группу.
    • Информация об оплате отправляется на email.
1.2. Автоматическая проверка платежей:
  1. Ежемесячно модуль проверяет, прошли ли рекуррентные платежи.
  2. Если оплата не прошла:
    • Отправляется сообщение администратору на email с указанием номера клиента.
1.3. Управление через админ-панель:
  1. Раздел в админке WordPress:
    • Таблица с номерами клиентов.
    • Статусы ежемесячных оплат, для каждого номера в своё время проходит проверка.
    • Возможность удалить клиента (удаление прекращает обработку рекуррентных платежей).

2. Технические требования 2.1. База данных:
  • Создать таблицу в базе данных WordPress для хранения данных клиентов:
    • id (уникальный идентификатор).
    • phone (номер телефона).
    • status (статус платежа: "активный", "неактивный").
    • last_payment_date (дата последней успешной оплаты).
    • created_at (дата добавления клиента).
2.2. Взаимодействие с Т-банком:
  • Использовать API Т-банка для:
    • Генерации токена для каждого платежа.
    • Отправки данных клиента (номер телефона, сумма платежа).
    • Получения статуса оплаты.
  • Провести все необходимые тесты и получить подтверждение от Т-банка.
2.3. Email уведомления:
  • Email:
    • Использовать встроенные функции WordPress (wp_mail) для отправки уведомлений.
2.4. Безопасность:
  • Использовать nonce для защиты форм от CSRF-атак.
  • Сохранять данные о клиентах в таблице базы данных WordPress.
2.5. Админ-панель:
  • Создать страницу в разделе "Инструменты" или отдельное меню "Рекуррентные платежи".
  • Отображать таблицу с данными клиентов:
    • Номер телефона.
    • Статус платежа.
    • Дата последнего платежа.
  • Возможность:
    • Удалить клиента.
    • Изменить статус вручную (например, если ошибка в API).
    • Экспортировать данные в CSV.

3. Структура модульного кода 3.1. Файлы модуля:
  • /wp-content/plugins/recurring-payments/
    • recurring-payments.php — главный файл плагина.
    • /includes/
      • class-recurring-payment.php — основной класс обработки рекуррентных платежей.
      • class-ajax-handler.php — обработчик AJAX-запросов.
      • class-tbank-api.php — класс для взаимодействия с API Т-банка.
      • class-notifications.php — уведомления через email и Telegram.
      • class-admin-page.php — страница админ-панели.
    • /templates/
      • form-payment.php — шаблон формы ввода телефона.
    • /assets/
      • style.css — стили для админки и формы.
      • script.js — JavaScript для взаимодействия с формой.
3.2. Основной функционал:
  • Frontend:
    • Форма для ввода номера телефона (через шорткод).
    • Кнопка оплаты, ведущая к API Т-банка.
  • Backend:
    • Обработка результата оплаты через вебхук Т-банка.
    • Автоматическая проверка статуса ежемесячных платежей.
    • Админ-панель для управления клиентами.

4. Этапы реализации Этап 1: Разработка структуры модуля
  • Создать структуру папок и файлов модуля.
  • Реализовать шорткод для формы ввода телефона.
Этап 2: Интеграция с Т-банком
  • Реализовать класс class-tbank-api.php для взаимодействия с API:
    • Отправка данных на оплату.
    • Получение токенов.
    • Проверка статуса оплаты.
  • Провести тестирование API (в тестовом режиме).
Этап 3: Уведомления
  • Настроить отправку email и Telegram уведомлений для администратора:
    • Успешная оплата.
    • Ошибка платежа.
Этап 4: Админ-панель
  • Реализовать интерфейс для просмотра и управления данными клиентов.
  • Добавить функции удаления и редактирования клиентов.
Этап 5: Автоматизация проверок
  • Настроить WP-Cron для ежемесячной проверки статусов оплат.
  • Обработать сценарии:
    • Успешный платеж.
    • Неудачная попытка.
Этап 6: Финальное тестирование
  • Пройти тесты Т-банка (согласно их документации).
  • Проверить работу в боевом режиме.

5. Результат
  • Рабочий плагин WordPress с:
    • Формой для ввода телефона.
    • Интеграцией с Т-банком для рекуррентных платежей.
    • Автоматической обработкой платежей.
    • Уведомлениями об ошибках.
    • Админ-панелью для управления клиентами.

      Что уже реализовано
      1. Интеграция с WooCommerce:
        • Установлен и настроен плагин для работы с API Т-банка.
        • Плагин настроен на выполнение платежей в тестовом режиме.
      2. Интерфейс оплаты на сайте:
        • Создана кнопка оплаты, содержащая галочку для подтверждения согласия с условиями.
        • Добавлена форма для ввода номера телефона, отображаемая после клика на кнопку оплаты.
        • Пользователь вводит номер телефона перед перенаправлением на страницу оплаты.
      3. Базовый функционал для взаимодействия с пользователем:
        • Кнопка оплаты активируется только после подтверждения согласия с условиями (галочка).
        • Ввод номера телефона требуется перед выполнением запроса на оплату.