Возвраты и отмены: частичные, полные, чек возврата

Получить CloudPayments бесплатно

Возвраты и отмены: частичные, полные, чек возврата


Зачем нужен возврат платежа в API и чем он отличается от отмены

Возвраты и отмены — ключевые операции жизненного цикла платежа в интернет-эквайринге. Через возврат платежа API вы можете вернуть средства клиенту после списания, а через отмену — прервать авторизованный, но ещё не списанный платеж. Правильное различие терминов помогает выстроить корректную логику, бухгалтерию и фискализацию.

  • Отмена платежа (cancel/void): применяется, когда платёж авторизован, но ещё не захвачен (не списан). Деньги не уходят со счёта клиента окончательно, удержание снимается.
  • Возврат (refund): применяется после списания (capture). Возможен полный или частичный возврат на карту/кошелёк/счёт клиента.

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

Коротко о терминах

  • Authorize — блокировка суммы на карте.
  • Capture — окончательное списание. Возможен полный или частичный capture.
  • Refund — возврат списанной суммы. Возможен полный или частичный refund.
  • Void (cancel) — отмена авторизации до списания.

Схема потоков отмены и возврата

Сценарии: полный, частичный refund и частичный capture

Разные бизнес-сценарии требуют гибких операций. Ниже — базовые варианты работы refund API платежи.

  • Полный возврат: клиент отменил заказ целиком — возвращаете 100% суммы.
  • Частичный возврат: отгружена часть заказа, клиент возвратил один из товаров, предоставили скидку постфактум и т. п.
  • Частичный capture и refund: сценарий «сплит-отгрузки». Сначала делаете частичный capture на фактически отгруженную часть, позже — дополнительный capture, либо отменяете остаток авторизации. Если захватили больше — делаете частичный возврат на разницу.
  • Отмена до списания (void): клиент отказался до подтверждения, товар отсутствует, проверка antifraud не пройдена и т. д.

Сравнение операций:

Действие Когда применяется Банковская логика Денежный поток Фискализация
Отмена (void) До capture Снимается холд Денег «туда‑обратно» нет Чек не выбивается
Полный refund После capture Полный возврат −100% к обороту Чек возврата обязателен
Частичный refund После capture Возврат части −X% к обороту Чек возврата на позицию/сумму
Частичный capture После authorize Списывается часть Денег удерживается ровно на списание Чек на фактическую отгрузку

Подробнее о поддерживаемых платёжных сценариях смотрите в разделе Методы оплат и гайд по двухстадийным операциям в Документации API.

Потоки в API, статусы и ограничения

Ниже — типичный жизненный цикл с точки зрения API. Нотация описательная, детали — в Документации API.

  1. Инициация платежа: создаёте payment с amount и capture=false (двухстадийный) или capture=true (одностадийный).
  2. Захват (capture): списываете полностью или частично.
  3. Отмена (cancel/void): возможна только если capture не выполнялся (или на неиспользованный остаток авторизации при частичном capture).
  4. Возврат (refund): создаёте refund на весь или на часть ранее списанной суммы.

Ключевые статусы:

  • payment: pending → authorized → captured → canceled/expired/failed
  • refund: pending → succeeded/failed

Ограничения и правила:

  • Сумма refund не может превышать суммарно захваченную сумму по платежу.
  • Допускается несколько частичных refund до исчерпания исходной суммы.
  • Валюта refund совпадает с валютой исходного платежа.
  • Возврат доступен только для статуса captured (или для захваченной части при частичном capture).
  • Для рекуррентных операций действуют те же правила; см. Рекуррентные платежи.

Советы по устойчивости интеграции:

  • Используйте идемпотентность для команд refund/cancel, чтобы избежать дублей при сетевых ретраях.
  • Подписывайтесь на вебхуки, а не полагайтесь только на опрос статусов; см. Вебхуки и события.
  • Сверяйте операции через Отчеты и выгрузки для бухгалтерии и учёта комиссий (см. Тарифы и комиссии).

Фискализация: чек возврата по 54-ФЗ

При возврате средств по 54‑ФЗ требуется сформировать и отправить в ОФД «чек возврата прихода». Это релевантно для всех операций refund (полных и частичных), включая возврат по частично захваченным платежам.

Что важно учесть:

  • В чеке возврата должны быть корректные позиции (номенклатура, ставка НДС, признак способа расчёта «возврат прихода»).
  • Для частичного возврата укажите только возвращаемые позиции или пропорционально уменьшенную сумму.
  • Данные о связи с исходным чеком (номер/фискальный признак) помогают покупателю и бухгалтерии.

Мы поддерживаем автоматическую фискализацию возвратов через интеграцию с кассами. Детали по форматам и ошибкам — в разделе Фискализация 54‑ФЗ. Термин «чек возврата 54‑ФЗ» фигурирует также в ответах API и логах фискализации.

Сроки возврата платежей по методам оплаты

Сроки возврата платежей зависят от метода оплаты и банка‑эмитента. Ниже ориентировочные значения; точные SLA — в вашем договоре и в разделе SLA и поддержка.

Метод оплаты Ориентировочный срок зачисления клиенту Комментарии
Банковские карты 1–7 рабочих дней Зависит от эмитента, иногда до 10 дней
СБП Мгновенно – 3 рабочих дня Чаще быстрее карт, но бывают задержки на стороне банка
Электронные кошельки Мгновенно – 1 рабочий день По провайдеру
Банковский перевод 1–5 рабочих дней С учётом межбанка

Важно заранее коммуницировать сроки клиентам на странице «Политика возвратов» и в письмах. Детали по поддерживаемым методам — в Методы оплат.

Политика возвратов: как настроить правила и коммуникации

Грамотная политика возвратов снижает нагрузку на саппорт и риск чарджбеков.

Рекомендации:

  • Опишите критерии полного и частичного возврата, сроки рассмотрения, каналы обращения.
  • Уточните, как обрабатываются цифровые товары, предзаказы, подписки (см. Рекуррентные платежи).
  • Укажите, кто оплачивает обратную доставку и как рассчитывается сумма refund при частичном возврате.
  • Прозрачно отразите комиссии и возможные удержания; смотрите действующие Тарифы и комиссии.
  • Обеспечьте автокоммуникации по статусам «refund initiated», «вебхук refund succeeded», «refund failed».
  • Сверяйте возвраты в Отчетах и выгрузках и учитывайте их при Выплатах и выводе средств.

Чтобы снизить долю возвратов, используйте правила антифрода и скоринга — раздел Anti‑fraud и риск.

Вебхуки и уведомления: refund succeeded

События вебхуков помогают надёжно реагировать на статусы без периодического опроса API.

Минимальный набор для возвратов и отмен:

  • refund.pending — мы приняли запрос на возврат.
  • refund.succeeded (вебхук refund succeeded) — возврат успешно проведён.
  • refund.failed — возврат не удался (приложите логику повторов/эскалации).
  • payment.canceled — авторизация отменена (void).
  • payment.captured — списание (полное/частичное) завершено.

Подписка, ретраи, подпись запросов и безопасность описаны в разделе Вебхуки и события и Безопасность PCI DSS. Храните секреты вебхуков безопасно, проверяйте подпись и метаданные идемпотентности.

Тестирование в песочнице и быс-тый старт

Перед запуском на продакшене проверьте полный цикл: authorize → частичный capture → cancel остатка → частичный refund → чек возврата.

Типичные ошибки, статусы и best practices

Ниже кратко о частых проблемах и как их избежать при работе с отменами и возвратами.

Типичные ошибки API:

  • invalid_state: попытка refund до capture или после полной отмены.
  • amount_exceeds_captured: сумма возврата больше, чем захваченная.
  • already_refunded: повторный полный возврат.
  • fiscalization_failed: чек возврата не пробит; требуется повтор или ручная обработка (см. Фискализация 54‑ФЗ).
  • webhook_signature_invalid: не прошла проверка подписи вебхука (см. Вебхуки и события).

Лучшие практики интеграции:

  • Покрывайте все ветки: полный/частичный refund, void, частичный capture и refund.
  • Делайте идемпотентные запросы с ключами per‑operation.
  • Храните связь refund ↔ исходный payment, позиции заказа и НДС для чека возврата 54‑ФЗ.
  • Сразу уведомляйте клиента о запуске и результатах возврата, указывайте ориентировочные сроки возврата платежей по методу.
  • Регулярно сверяйте сумму возвратов с отчетами провайдера и с учётом комиссий/коррекций.
  • Для подписок: показывайте в интерфейсе «отмена автопродления» отдельно от «возврата за текущий период» — минимизируйте путаницу (см. Рекуррентные платежи).

Пример статусов и событий для одной операции:

Шаг Сервисный статус Вебхук
Создан refund refund.pending refund.pending
Успех refund.succeeded refund.succeeded
Ошибка refund.failed refund.failed

Если у вас есть специфические требования к очередям, ретраям или гарантиям доставки событий — обратитесь в SLA и поддержку.


Как это выглядит в интерфейсе/отчётах

  • В отчётах провайдера возвраты отражаются как отдельные строки со знаком «минус». Используйте Отчеты и выгрузки для сверки по датам операции и зачёта.
  • В выплатах возвраты уменьшают доступный к выводу баланс; см. Выплаты и вывод средств.

Когда выбирать отмену вместо возврата

  • Если можно отменить авторизацию до списания, выбирайте cancel/void: клиент увидит снятие холда быстрее, а вам не нужно пробивать чек возврата.

Часто задаваемые вопросы (FAQ)

  • Можно ли сделать несколько частичных возвратов? Да, до суммы захвата.
  • Как выполнить возврат на другую карту? Как правило, refund возвращается на исходный источник. Изменение реквизитов — через банк/эмитент, не через API.
  • Поддерживается ли рефанд для СБП? Да, если метод оплаты и банк поддерживают входящие возвраты. Уточняйте в Методы оплат.
  • Что с подписками? Возвраты по повторным списаниям работают аналогично, важно корректно показывать период и основание — см. Рекуррентные платежи.

Итоги и что дальше

Возвраты и отмены — обязательная часть жизненного цикла платежей. В api-platezhi.ru вы можете реализовать отмену платежа API до списания и гибкий возврат платежа API после capture: полный, частичный, а также сценарии «частичный capture и refund» с корректным чеком возврата 54‑ФЗ и уведомлениями через вебхук refund succeeded. Настройте понятную политику возвратов, автоматизируйте фискализацию и отладьте вебхуки — это сократит издержки и повысит лояльность клиентов.

Готовы внедрить? Начните с Быстрого старта, проверьте сценарии в Песочнице и подключите уведомления в Вебхуки и события. Если есть вопросы — мы на связи в разделе SLA и поддержка.

Получить CloudPayments бесплатно