← Все кейсы

CASE STUDY / 03

PAYMENTS

Платёжный шлюз с бизнес-правилами

Задача

Оплата зависела от правил, которых нет в стандартном gateway: тип клиента, сумма, способ доставки.

Роль и объём

Шлюз писал сам: валидация до редиректа, серверный callback, маппинг статусов. Бухгалтерия читает канонические статусы Woo.

Ограничения

Проверка должна жить на сервере. Секреты — не в теме и не в клиентском JS. Ложный success не должен переводить заказ в processing.

Архитектура

Checkout
 │
 ▼
Custom gateway
 ├── Rule check
 ├── Provider API
 └── Status map
 │
 ▼
 Payment provider

Реализация

Шлюз Woo: валидация до редиректа, серверный callback, маппинг статусов. Ключи в константах/окружении.

Отказы и повторы

Подпись callback проверяется. Повтор webhook идемпотентен. Ложный success не переводит заказ в processing.

Результат

Оплата проходит только при выполнении правил. Бухгалтерия видит понятные статусы Woo.

Стек

PHP · WooCommerce · payments API

Похожая система?

Обсудим ограничения и контур — не сайт с нуля.

Следующий кейс: Операции Multisite через WP-CLI