Skip to content
PПромтбук
RUEN
01Платежи

Поток возврата платежа

UX и логика возврата: триггеры, policy, коммуникация, partial vs full, метрики, anti-fraud.

Спроектируй refund flow для {{product}} на {{psp}}.

Шаг 1: триггеры возврата

  • Пользователь сам запросил (self-service в UI)
  • Запрос через support (email/чат)
  • Chargeback от банка
  • Автоматический возврат (failure, сбой сервиса, дубль)
  • Policy-based (free trial → платёж за 1 день до окончания → возврат)

Зафиксируй: кто и как может инициировать. Каждый канал — отдельная воронка.

Шаг 2: policy (документ)

Обязательно описать

  • Окно возврата: 7 / 14 / 30 / 90 дней (выбрать одно по сегменту)
  • Что подлежит: подписка (pro-rated?), один-time, addon
  • Что не подлежит: использованные часы/токены/доставленные товары
  • Кто принимает решение: автомат / support / manager
  • Срок обработки: 1-3 / 5-10 рабочих дней

Региональные правила

  • EU: 14-дневный «cooling-off» для digital — обязателен (если не было opt-out)
  • US: на твоё усмотрение, но публикуй
  • РФ: ЗоЗПП — отдельный анализ

Partial vs full

  • Полный — отмена за окно, никаких возражений
  • Pro-rated — подписка с расчётом использованных дней
  • Частичный — конкретная позиция (e-com), частичная компенсация (квалити-issues)

Шаг 3: self-service UX

Где располагать

  • Billing / Settings → Subscription → «Cancel and refund»
  • НЕ прятать в 4-х кликах — это бесит и ведёт к chargeback'у

Step-by-step

  1. Триггер: кнопка «Request refund» / «Cancel & refund»
  2. Reason picker: 4-6 вариантов причин (не obligatory free text)
    • Слишком дорого / Не нашёл нужного / Технические проблемы / Случайно купил / Перешёл на другое / Другое
  3. Save attempt (если уместно): предложить downgrade / pause / скидку
  4. Подтверждение: показать сумму к возврату, на какую карту, в какой срок
  5. Confirmation screen: refund ID, email на почту, сроки

Шаг 4: коммуникация

Email после запроса

  • Подтверждение получено
  • Сумма
  • Сроки (с конкретной датой)
  • Что произойдёт с аккаунтом (downgrade / cancel / hold)
  • Контакт support если что-то не так

Email после возврата

  • Возврат отправлен в банк
  • Когда ожидать на карте (3-10 раб. дней зависит от банка)
  • Если есть вопросы — куда писать
  • Опросник «почему ушёл» — опционально, не агрессивно

НЕ делать

  • «Подумайте ещё раз» во второй раз, после явного выбора
  • Тон обиды, длинный текст, эмоции

Шаг 5: логика (backend)

Сценарии

  • Subscription, до billing period end → отмена + возврат pro-rated
  • One-time, в окне → полный возврат
  • Подписка, после нескольких циклов → возврат за последний (если есть unused время) или по policy
  • Add-on → отдельно

Технические детали ({{psp}})

  • Stripe: refunds.create({ payment_intent, amount? })
  • Webhook charge.refunded → обновить статус, отозвать доступ
  • Idempotency key — обязателен (двойные клики бывают)
  • Журнал: кто, когда, причина, refund_id, сумма

Шаг 6: отзыв доступа

  • Подписка отменена → доступ до конца оплаченного периода (если не fraud)
  • Если fraud / chargeback → немедленный block
  • Лицензии / API ключи — пометить как inactive (не удалять — для аудита)

Шаг 7: anti-fraud

  • Refund после многократных трансакций с одной карты — флаг
  • Refund + повторная регистрация — флаг
  • Refund на другую карту, чем платил — нет (только на оригинал)
  • High-value refund (>$X) — требует human approval

Шаг 8: метрики

Финансовые

  • Refund rate (% от revenue)
  • Refund rate by reason
  • Time-to-refund (median, p95)
  • Chargeback rate (отдельно — это страшнее)

Качественные

  • Reasons distribution (тренды по месяцам)
  • Repeat refund offenders (segment)
  • Save-attempt acceptance rate (если предлагаешь downgrade)

Алерты

  • Refund rate растёт > 2× baseline за неделю
  • Chargeback rate > 1% — критично (могут отрубить от {{psp}})
  • Один пользователь подал 3+ refund'а за месяц

Формат вывода

  1. Policy document (1 страница для публикации)
  2. Decision tree (что → что → что)
  3. UI wireframes / описания экранов
  4. Email templates (4 штуки: request, processed, denied, fraud)
  5. Backend pseudo-code для основных кейсов
  6. Список метрик и алертов

Анти-паттерны

  • ❌ Прятать refund в 5+ кликов
  • ❌ Требовать звонок / email вместо self-service
  • ❌ Молчать после запроса (юзер пойдёт в банк = chargeback)
  • ❌ Делать возврат на другую карту (fraud)
  • ❌ «Возвращаем только в кредитах на счёт» — формальное жульничество, ведёт к chargeback
  • ❌ Игнорировать chargeback'и (>1% — отрубят от платёжной системы)
  • ❌ Save-attempt в виде wall-of-text — раздражает
  • ❌ Refund без отзыва доступа — теряешь и деньги, и сервис
К подразделу «Платежи»
Похожие промты