Групповые курсы: продвинутый JavaScript + React + Redux + Zustand + NextJS + TypeScript.
Цена: 400$. При записи до 6-го марта цена по СКИДКЕ:250$.
56 of 152 menu

Таблица oc_order_recurring_transaction

Таблица oc_order_recurring_transaction является ключевой для работы с повторяющимися платежами в OpenCart. Она хранит детальную историю всех операций (списаний, возвратов, ошибок) по каждому рекуррентному профилю, что позволяет администратору отслеживать финансовые потоки и статус регулярных оплат.

Поля

Поле Тип данных Описание
order_recurring_transaction_id int Уникальный идентификатор транзакции (автоинкремент).
order_recurring_id int Внешний ключ, связывающий транзакцию с рекуррентным профилем. Ссылается на oc_order_recurring.
reference varchar(255) Уникальный идентификатор транзакции, присвоенный платежным шлюзом (например, PayPal, Stripe). Используется для сверки с системой оплаты.
type varchar(255) Тип проведенной транзакции. Наиболее распространенные значения: created (создание профиля), payment (успешный платеж), cancelled (отмена), suspended (приостановка), failed (неудачная попытка списания), expired (истек срок действия), refund (возврат средств).
amount decimal(10,4) Сумма транзакции. Для типа payment это сумма списания, для refund - сумма возврата.
date_added datetime Дата и время добавления записи о транзакции в базу данных.

Как это работает

Когда клиент оформляет заказ с товаром, для которого настроены повторяющиеся платежи (например, подписка), в таблице oc_order_recurring создается профиль. Каждое действие, связанное с этим профилем (создание, списание, ошибка), фиксируется добавлением новой записи в oc_order_recurring_transaction.

Платежный модуль (например, PayPal Standard) или cron-задача инициирует процесс списания средств в соответствии с графиком (next_payment в oc_order_recurring). Результат операции (успех или неудача) записывается в эту таблицу с указанием типа payment или failed, суммы и reference ID от платежной системы.

Администратор в панели управления OpenCart может просмотреть полную историю транзакций по конкретному рекуррентному профилю, что является essential для бухгалтерского учета, анализа проблем с оплатой и коммуникации с клиентами.

Поле reference критически важно для идентификации транзакции на стороне платежного шлюза. По этому номеру можно найти детали операции в системе PayPal, Stripe или другой используемой платежной системы.

Пример SQL-запроса

Получить полную историю транзакций для рекуррентного профиля с ID 12, отсортированную по дате:

SELECT * FROM oc_order_recurring_transaction WHERE order_recurring_id = 12 ORDER BY date_added ASC;

Получить список всех неудачных попыток списания за последний месяц:

SELECT ort.*, orp.reference as profile_reference FROM oc_order_recurring_transaction ort LEFT JOIN oc_order_recurring orp ON (ort.order_recurring_id = orp.order_recurring_id) WHERE ort.type = 'failed' AND ort.date_added >= DATE_SUB(NOW(), INTERVAL 1 MONTH);

Смотрите также

  • таблицу oc_order_recurring,
    в которой хранятся основные профили повторяющихся платежей
  • таблицу oc_order,
    которая содержит информацию о первоначальном заказе
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить