ru24.pro
«Фрилансим»
Январь
2025
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26
27
28
29
30
31

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

0
Работа только через Безопасную сделку. Мошенники - проходите мимо, я не новичёк.


Большое ТЗ - результат работы 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. Базовый функционал для взаимодействия с пользователем:
        • Кнопка оплаты активируется только после подтверждения согласия с условиями (галочка).
        • Ввод номера телефона требуется перед выполнением запроса на оплату.