Статья

Депозит в автопрокате: блокировка карты не равна поступлению денег

5 мин чтения

Блокировка 10000 разделяется на списание 2500 и освобождение 7500 без списания. После возврата 500 из списанных 2500 остаётся 2000. Закрытая авторизация не восстанавливается возвратом.
Освобождение неиспользованной авторизации и возврат ранее списанной суммы — разные операции. В этой модели частичный capture завершает авторизацию. Открыть схему крупнее

В карточке аренды стоит «депозит 10 000», и менеджер считает эту сумму поступившими деньгами. На самом деле банк мог только заблокировать её на карте клиента. Когда машина возвращается, нужно либо снять блокировку, либо выполнить согласованное списание, а не оформлять одинаковый «возврат депозита» во всех случаях. Одного денежного поля для таких сценариев недостаточно.

Сначала определите способ приёма депозита

Передача денег и карточная блокировка создают разные состояния. При отдельной авторизации сумма резервируется на платёжном средстве до последующего списания или завершения блокировки. Adyen описывает авторизацию и capture как разные этапы, а запрос списания обрабатывается асинхронно. Само наличие ответа на запрос ещё не позволяет назвать деньги окончательно зачисленными на расчётный счёт.

Поэтому в CRM полезно хранить способ обеспечения, идентификатор авторизации, доступную к списанию сумму и подтверждённые результаты операций. Название «депозит» говорит о бизнес-назначении, но не заменяет технический статус платежа.

Учебная авторизация 10 000 ₽ с единственным списанием и частичным возвратом
Состояние после событияЕщё заблокированоВсего списаноОсвобождено без списанияВозвращено из списанногоСписано минус возвраты
Начальная авторизация10 0000000
capture на 2 50002 5007 50002 500
refund на 50002 5007 5005002 000

В таблице выбран режим одного списания. Частичный capture закрывает авторизацию: 2500 переходят в учтённое списание модели, остальные 7500 освобождаются без списания. Последующий refund на 500 относится к ранее списанным деньгам. Он не увеличивает обратно доступный лимит этой закрытой авторизации.

Режим частичного списания нужно уточнять отдельно

В документации Stripe описан обычный сценарий, где частичное списание освобождает остаток и второе списание той же авторизации не выполняется. При этом существуют отдельно поддерживаемые варианты нескольких списаний. Нельзя по одному слову «частичный» определить, останется ли остаток доступным для следующего действия.

Учебный инструмент намеренно поддерживает только единственный capture. Если после 2500 попытаться списать ещё 1000 по той же авторизации, последовательность будет отклонена. Это проверка выбранной схемы, а не утверждение, что все банки и платёжные системы устроены только так.

capture
Одно положительное списание, не больше ещё открытой блокировки. В модели завершает её полностью.
release
Снятие всей открытой блокировки без списания; сумма в строке события равна нулю.
expire
Подтверждённое истечение открытой авторизации с освобождением суммы; отдельный код причины завершения.
refund
Положительный возврат из ранее списанной суммы, не больше её невозвращённой части.

Освобождение блокировки и возврат не взаимозаменяемы

Если из авторизованных 10 000 ничего не списали, учебное release оставляет ноль блокировки и ноль списания. Refund здесь не возникает: возвращать из списанного нечего. И наоборот, после полного списания снять старую блокировку вместо возврата уже нельзя — она завершена.

Документация Stripe по возвратам отделяет отмену незавершённого платежа от возврата после списания. В рабочем процессе нужно смотреть актуальный статус конкретной операции. Формулировка для клиента также должна соответствовать выполненному действию, без обещания точного времени изменения банковского баланса по одному локальному событию.

Как проверить арифметику модели

Начальная авторизация всегда равна сумме трёх величин: ещё открытой блокировки, всего списанного и освобождённого без списания. Отдельно всё списанное равно сумме возвратов и оставшегося списания. Возврат не следует одновременно прибавлять к освобождённой части: это разные ветви движения.

Эти равенства помогают обнаружить двойной учёт в учебной истории. Они не подтверждают поступление на банковский счёт, платёжеспособность клиента или корректность введённых событий. Сумма необходимого списания поступает извне: инструмент не определяет ущерб и не назначает удержания.

Почему в форме нет автоматического срока блокировки

Срок зависит от платёжного метода, схемы и условий авторизации. Источник Stripe показывает разные окна и отдельные условия продления. Поэтому модель не подставляет всем семь дней и не решает по календарю, что деньги освободились. Событие expire вводят как подтверждённый результат; реальная система должна получать применимый срок и статус из своего платёжного процесса.

Что показать на демонстрации CRM

  1. Авторизацию без списания, которая не увеличивает поступления.
  2. Снятие блокировки и отдельный возврат после capture.
  3. Частичное списание с понятным состоянием оставшейся суммы.
  4. Отказ повторного действия, если режим его не допускает.
  5. Сверку идентификаторов и статусов с выбранным провайдером, включая ошибки и ожидание.

На главной AUTO555 описаны учёт оплат и депозитов. Это не подтверждает наличие интеграции с названными в статье провайдерами или выбранного режима авторизации на любом тарифе. Подготовьте такие примеры при обсуждении платёжного сценария: они помогут отделить бизнес-запись о депозите от реально поддерживаемых банковских действий.

Разделить блокировку, списание, снятие остатка и возврат

Учебная одна авторизация с единственным списанием: capture закрывает блокировку и освобождает незахваченную часть. release/expire снимают всю открытую блокировку, сумма события0. refund возвращает уже списанную сумму. События считаются подтверждёнными и успешными; нет pending/failed, нескольких capture, продления, реального эквайринга, сроков банка или проверки зачисления. Это не функция, заявленная как уже подключённая в AUTO555. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.

По теме на сайте

Auto555 — CRM для автопроката Залог в автопрокате: сколько брать, как удерживать и возвращать без споров

Источники и проверка

Auto555 — облачная CRM для автопроката: брони, договоры, выдача и приёмка, депозиты и финансы в одном окне.

Начать бесплатно