Автоматизация / MODX и оплата
Интеграция ЮKassa с MODX
Подключаю заказ MODX к API ЮKassa: создаю платёж с устойчивым ключом операции, сохраняю его идентификатор, обрабатываю входящие уведомления и сверяю состояние до изменения заказа. Возвраты и дополнительные сценарии подключаются отдельными правами.
Написать в Telegram
01 Контекст
Платёж и заказ меняются независимо
Операция ЮKassa может ожидать подтверждения, завершиться, отмениться или получить возврат после создания заказа. MODX должен хранить внешний идентификатор и применять только допустимые переходы своего статуса.
Повтор запроса или уведомления считается штатной ситуацией. Интеграция использует идемпотентность, сверяет сумму и не создаёт вторую операцию при обновлении страницы.
02 Исходная ситуация
Какие операции подключаются
Создание платежа
Сервер MODX рассчитывает заказ, создаёт операцию и сохраняет идентификатор до перехода пользователя к оплате.
Входящие уведомления
Изменение объекта ЮKassa проходит серверную обработку и сопоставляется с разрешённым состоянием заказа.
Подтверждение и возврат
Двухстадийная схема и возвраты подключаются, если они предусмотрены процессом магазина и аккаунтом.
03 Состав
Состав интеграции
Статусная модель
Фиксирую суммы, идентификаторы, идемпотентные ключи и переходы оплаты, отмены и возврата.
- карта состояний
- правила суммы
- связь с заказом
API и уведомления
Реализую создание операции, обработку событий и дополнительную сверку объекта перед критичным изменением MODX.
- модуль API
- обработчик webhook
- контрольные сценарии
Журнал и поддержка
Сохраняю техническую историю без секретов, причины отказа и действия сотрудника для спорных операций.
- журнал
- уведомления
- инструкция сверки
04 Метод
Порядок подключения
- 01
Разбор заказа
Проверяю расчёт, статусы, аккаунт ЮKassa, способы оплаты и требования к чекам.
На выходе: контракт платежа - 02
Тестовые операции
Проверяю завершение, отмену, ожидание, повтор запроса и уведомления, несовпадение суммы и возврат, если он входит в контур.
На выходе: протокол тестов - 03
Рабочий запуск
Подключаю рабочие ключи, журнал и порядок сверки состояния заказа.
На выходе: регламент эксплуатации
05 Ответственность
Кто за что отвечает
Я отвечаю
- за код интеграции и идемпотентность на стороне MODX
- за сопоставление событий, суммы и статусов
- за журналирование и документацию
Со стороны магазина нужны
- аккаунт ЮKassa и доступы
- правила оплаты, подтверждения и возврата
- решение по фискализации и данным чека
06 Оценка
Что влияет на оценку
Объём определяется платёжной схемой и моделью заказа.
- 01одностадийный или двухстадийный приём
- 02способы оплаты
- 03чеки и состав позиций
- 04частичные и повторные операции
- 05возвраты
- 06статусы, журнал и административный интерфейс
Условия обслуживания и доступные возможности определяет аккаунт магазина в ЮKassa.
07 Среда
Технический контур
Используются официальный API ЮKassa и входящие уведомления о событиях объектов.
- 01ЮKassa API
- 02MODX Revolution
- 03PHP
- 04идемпотентные запросы
- 05webhook-уведомления
- 06журнал операций
08 Вопросы
До начала работы
01Когда MODX меняет заказ на оплаченный?
После серверной проверки события или запроса объекта, когда идентификатор, сумма и состояние соответствуют заказу.
02Зачем нужен ключ идемпотентности?
Он позволяет безопасно повторить запрос при неопределённом сетевом ответе и не создавать вторую операцию с тем же намерением.
03Можно принимать уведомления о возвратах?
Да, если событие входит в используемое платёжное решение. Внутренний статус и сумма возврата сопоставляются отдельно.
04Можно подключить двухстадийную оплату?
Да, если магазин использует отдельное подтверждение списания. Для него проектируются собственные полномочия и переходы заказа.
10 Следующий шаг
Составить карту платежа и заказа
Укажите схему приёма, статусы MODX, способы оплаты и требования к чекам или возвратам. Я подготовлю последовательность операций и тестов.
Написать в Telegram