Свой мерчант
у каждого проекта
Приём, подтверждение, capture, отмена и возвраты на открытом движке payswitch. Коннекторы, роутинг и ключи изолированы по проекту: один проект не видит платежи другого.
Платёж pay_01jd2 live
Вебхуки
Возможности
Полный цикл платежа
Создание, подтверждение, capture, отмена и возвраты одним API. Статусы попыток: succeeded, failed, requires_action.
Коннекторы
ЮKassa, CloudPayments, Т-Банк, Сбербанк, Альфа-Банк, Точка, Robokassa и Stripe. У каждого — проверка здоровья.
Роутинг
По приоритету, по правилам (метод оплаты, валюта, сумма) или долей объёма. Не прошло — следующий коннектор, кроме уже испробованных.
Изоляция проекта
Мерчант заводится при первом обращении, ключ мерчанта режет коннекторы, платежи и publishable_key. Чужие платежи не видны.
Диспуты
Chargeback, запрос и fraud — со статусами и подачей доказательств прямо из панели.
Выплаты
Выплаты с согласованием, подписью банка и восстановлением: requires_approval → processing → succeeded или reversed.
Четыре шага
Включите модуль
У проекта появится мерчант и свои ключи — общих нет.
Подключите коннекторы
Ключи провайдера, проверка здоровья.
Настройте роутинг
Приоритет, правила по сумме и валюте или доля объёма.
Принимайте оплату
Пополнение кошелька, счета, возвраты — с вебхуками на каждое событие.
Под капотом —
payswitch
Платёжный движок с дашбордом, на котором работает модуль платежей Genesis. Проект Genesis — это мерчант payswitch: свои ключи, свои коннекторы, свои платежи.
Маршруты
{
"type": "volume_split",
"config": {
"split": [
{ "connector": "yookassa", "percent": 70 },
{ "connector": "tbank", "percent": 30 }
]
}
}
// не прошло — fallback на следующий,
// кроме уже испробованных Коротко о главном
Почему у каждого проекта свой мерчант?
Изоляция в движке держится на ключе мерчанта. Один ключ на все проекты означал общий список коннекторов и общие платежи — это был дефект, его убрали.
Где хранятся ключи проекта?
В настройках модуля платежей проекта. Панель не может их затереть: при обновлении настроек ветка ключей берётся из сохранённой.
Как сверяются возвраты?
Возврат в ожидании сверяется с провайдером по его id. Возврат без id — таймаут до ответа — закрывает уведомление провайдера или человек.