Это просто новость, статья не содержит технический материал, заранее спасибо что прочитали это!
Лид. На FreelanceSpace стали доступны безопасные оплаты картой и по СБП на базе платёжного сервиса Т-Банка. Мы внедрили 3-D Secure 2.2, токенизацию, антифрод-сигналы и надёжную обработку вебхуков. Результат — выше конверсия успешных платежей, предсказуемые возвраты и прозрачные статусы операций для заказчиков и фрилансеров.
Кому будет полезно. Владельцам маркетплейсов/бирж, финтех-разработчикам, лидерам продуктовых команд и всем, кто масштабирует платёжную инфраструктуру под микрочеки и p2p-сценарии.
Зачем мы это сделали
Конверсия оплаты. Стабильный эквайринг + корректный 3DS-флоу без лишних прерываний.
Безопасность по умолчанию. Токенизация, 3-D Secure 2.2, антифрод-сигналы со стороны платёжного сервиса.
Предсказуемые возвраты. Частичные/полные возвраты и корректная идемпотентность операций.
СБП для микрочеков. Быстрые пополнения/платежи с минимальными издержками для небольших сумм.
Пользовательский флоу (high-level)
Заказчик выбирает способ оплаты: карта или СБП.
Бэкенд создаёт платёжную сессию в API Т-Банка (идемпотентный ключ на заказ).
Клиент проходит 3-D Secure 2.2; при успехе средства резервируются/списываются на стороне сервиса.
По вебхуку payment.succeeded мы зачисляем средства на баланс и обновляем статус заказа.
Возвраты инициируются из ЛК; статусы подтягиваются из API и отражаются в UI.
Архитектура интеграции (схема словами)
FreelanceSpace Backend (PHP/PDO) ↔ T-Bank Payments API (REST + Webhooks, HMAC-подпись) ↔ Антифрод/3DS провайдеры ↔ ЛК пользователя (баланс/история/квитанции)
Ключевые точки надёжности: идемпотентные ключи на каждое действие, корреляционные request_id, ретраи вебхуков с экспоненциальной задержкой, ночная реконсиляция расхождений.
Что получили пользователи
Стабильный чек-аут и меньше отказов платежей.
Прозрачные статусы: «Ожидает 3DS», «Успешно», «Возврат оформлен» — в реальном времени.
Быстрые переводы по СБП, особенно для малых сумм и частых пополнений.
Технические детали (коротко и по делу)
API-связность: REST, вебхуки с HMAC-подписью, idempotency-keys (order_id:attempt).
Вебхуки: ретраи с backoff, дедупликация по event_id, гарантированная обработка (outbox-паттерн).
Реконсиляция: ночной джоб сравнивает «реестр провайдера» ↔ «наши статусы», дожимает pending-операции.
Безопасность данных: карточные реквизиты не проходят через наши сервера; PCI DSS покрывает платёжный сервис.
Логирование: сквозные корреляционные идентификаторы для быстрого дебага цепочки запросов.
UX и поддержка
Баланс → Пополнить: выбор метода (Карта/СБП), прозрачно показываем комиссию и статус.
История операций: фильтры по типу/статусу, выгрузка квитанций.
Возвраты: инициируются из деталей заказа; на бэкенде — частичный/полный, с протоколированием.
Комплаенс и безопасность
3-D Secure 2.2: современный фреймворк аутентификации, меньше frictions для «хороших» транзакций.
Токенизация: возможность one-click при повторных платежах без хранения PAN у нас.
Антифрод-сигналы: учитываем при скоринге и пост-аудите спорных операций.
PCI DSS: зона ответственности карточных данных — на стороне платёжного сервиса.
Что дальше в дорожной карте
One-click через токены.
Платёжные ссылки (сбор на депозит в один шаг).
Расширенная отчётность (акты/квитанции в пару кликов, экспорт в бухгалтерию).
Обогащение антифрода на основании пост-аналитики.
FAQ (коротко)
Это эскроу? Мы не обрабатываем карточные данные. Денежные операции выполняются платёжным сервисом; зачисления отражаются на балансе пользователя после подтверждения payment.succeeded.
Какие методы доступны? Банковские карты (3-D Secure 2.2) и СБП.
Как устроены возвраты? Частичные и полные возвраты запускаются из интерфейса; статусы тянутся по API. Вебхуки обновляют историю операций и баланс.
Источник: habr.com