Как запретить возврат на другую карту при использовании эквайринга в 1С?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Мы часто сталкиваемся с ситуацией, когда владельцы торговых точек бьют тревогу: недобросовестные кассиры могут осуществлять фиктивные возвраты товаров, переводя деньги на свои личные банковские карты. Это серьезная уязвимость, способная нанести ощутимый финансовый ущерб бизнесу. В этой статье мы подробно разберем, как технически и организационно решить эту проблему в 1С:Управление торговлей 11 (или 1С:Розница) при работе с подключенным эквайринговым терминалом. Выясним, действительно ли эту задачу нужно решать исключительно силами программиста 1С, или банк лукавит, отправляя нас дорабатывать систему.

---

Юридический аспект: что говорит закон и ЦБ РФ?

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

  1. Запрет на выдачу наличных: Согласно Указанию Банка России № 5348-У «О правилах наличных расчетов», если товар был оплачен по безналичному расчету (картой), вернуть за него наличные денежные средства из кассы нельзя. Это жесткое требование налогового законодательства и ЦБ для борьбы с незаконным обналичиванием денег. Возврат должен осуществляться строго в безналичном порядке.
  2. Можно ли вернуть на другую карту или счет? С точки зрения Закона РФ «О защите прав потребителей» (ЗоЗПП), покупатель имеет право получить деньги за возвращенный товар безналичным путем на любые предоставленные им реквизиты. Закон прямо не обязывает использовать ту же самую физическую пластиковую карту.
  3. Что делать при утере или блокировке карты? Если карта клиента была утеряна, заблокирована или у нее истек срок действия, магазин обязан принять заявление на возврат. В этом случае покупатель указывает в заявлении новые реквизиты своего банковского счета (БИК, расчетный счет, ФИО), и бухгалтерия отправляет деньги платежным поручением. Отказать клиенту в возврате на этом основании торговая точка не имеет права.
  4. Риски по 115-ФЗ (противодействие легализации доходов): Банки-эквайеры крайне подозрительно относятся к транзакциям, когда покупка совершена по одной карте, а возврат идет на другую. Банк может расценить это как схему обналичивания кредитных лимитов или накрутку кешбэка и заблокировать терминал до выяснения обстоятельств. Именно поэтому банки требуют от торгово-сервисных предприятий (ТСП) возвращать деньги на ту же карту.

---

Техническая реализация в 1С: почему система «из коробки» не сверяет карты?

Проанализируем, почему в типовых конфигурациях 1С (УТ 11, Розница 3.0) по умолчанию нет жесткого сравнения номеров физических карт в момент возврата.

Дело в том, что сама программа 1С напрямую не считывает данные вашей банковской карты (ее полный номер, CVV и т.д.). Она лишь обменивается командами с эквайринговым терминалом через специальный драйвер. При совершении продажи 1С передает на терминал сумму, а терминал возвращает в 1С статус операции и маскированный номер карты (например, 4111******1111) для печати чека. Сами платежные данные хранятся и обрабатываются внутри защищенного контура банковского терминала.

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

---

Современное решение: Механизм «Ссылочного возврата» (Referenced Refund)

Рассмотрим самый надежный способ защиты от фрода кассиров, который поддерживается большинством современных банков-эквайеров и интегрирован в последние релизы 1С.

Этот механизм называется ссылочным возвратом (Referenced Refund). Разберем по шагам, как он работает:

  1. При продаже товара в 1С и ОФД фиксируется уникальный номер банковской транзакции — RRN (Retrieval Reference Number) или ID транзакции (идентификатор операции). Он сохраняется в документе продажи (например, в чеке ККМ).
  2. При оформлении возврата на основании чека продажи 1С не просто отправляет на терминал команду «сделай возврат на сумму X», а передает уникальный идентификатор исходной транзакции RRN.
  3. Эквайринговый терминал передает этот RRN в банк-эквайер. Банк на своей стороне мгновенно находит исходную операцию продажи и автоматически направляет деньги на ту карту, с которой была совершена покупка.
  4. Важное преимущество: При таком возврате прикладывать физическую карту к терминалу вообще не требуется! Деньги возвращаются по цепочке транзакции в автоматическом режиме. Кассир физически не сможет подставить свою карту, так как терминал даже не предложит ее считать.

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

---

Разница между отменой операции (сторно) и возвратом

Проанализируем еще один важный нюанс работы платежных систем. Важно разделять две операции:

---

Как настроить безопасную работу с возвратами: пошаговый регламент

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

Шаг 1. Перевод терминалов в интегрированный режим

Если у вас используются автономные терминалы (когда кассир вручную вбивает сумму на терминале, а в 1С просто нажимает кнопку «Оплачено картой»), риск фрода максимален. Необходимо связаться с вашим банком-эквайером и перевести терминалы в интегрированный режим работы с 1С (по протоколам Arus, СБП, DualConnector и др.). Это позволит автоматически передавать параметры транзакций и использовать RRN для ссылочных возвратов.

Шаг 2. Разграничение прав доступа в 1С

Обычный кассир не должен иметь возможности самостоятельно оформлять документы возврата. Настройте права доступа в 1С так, чтобы операция создания документа ВозвратТоваровОтКлиента или проведение чека на возврат требовали авторизации старшего кассира, администратора или ввода специального пароля/карты доступа руководителя.

Шаг 3. Внедрение регламента письменных заявлений

Установите жесткое правило: любой возврат товара осуществляется только при предъявлении паспорта покупателя и заполнении бумажного заявления. ФИО в заявлении должно совпадать с ФИО владельца карты (если она именная). Кассир не сможет незаметно провести возврат на свою карту, так как при проверке у него не окажется подписанного покупателем заявления с паспортными данными.

Шаг 4. Использование безналичных переводов по реквизитам при отсутствии оригинальной карты

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

Вместо этого торговая точка должна принять у покупателя заявление с указанием полных реквизитов его банковского счета. Данное заявление передается в бухгалтерию, которая производит возврат платежным поручением из базы 1С:Бухгалтерия. Рядовой кассир на кассе физически не имеет доступа к проведению таких банковских платежей, что сводит риск фрода к нулю.

---

Вариант доработки 1С для контроля маски карты (для программистов)

Если ваш банк-эквайер по какой-то причине не поддерживает ссылочные возвраты (RRN), а терминал подключен в интегрированном режиме, можно заказать программисту небольшую доработку системы 1С.

Рассмотрим логику работы такой доработки:

  1. При проведении документа продажи 1С получает от терминала слип-чек, из которого извлекается маскированный номер карты (например, 5412********9999) и записывается в реквизит чека.
  2. При оформлении возврата на основании этой продажи программа принудительно требует от кассира считать карту через терминал.
  3. В момент получения ответа от терминала при возврате, 1С программно сравнивает маску возвращаемой карты с сохраненной маской из документа продажи.
  4. Если маски не совпадают (кассир приложил другую карту), 1С блокирует проведение документа возврата и выдает предупреждение.

Посмотрим на пример концептуального кода, который можно внедрить в модуль обработки проведения чека на возврат:


Процедура ПередЗаписьюДокументаВозврата(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
    
    // Проверяем, что это документ возврата и он проводится
    Если Источник.Проведен ИЛИ НЕ РежимПроведения Тогда
        Возврат;
    КонецЕсли;
    
    // Получаем маску карты из исходного чека продажи
    МаскаКартыПродажи = Источник.ДокументОснование.ЭквайринговаяТранзакция.МаскаКарты;
    
    // Получаем маску карты, считанную при оформлении текущего возврата
    МаскаКартыВозврата = Источник.ЭквайринговаяТранзакция.МаскаКарты;
    
    // Сравниваем маски карт
    Если ЗначениеЗаполнено(МаскаКартыПродажи) И ЗначениеЗаполнено(МаскаКартыВозврата) Тогда
        Если МаскаКартыПродажи <> МаскаКартыВозврата Тогда
            Отказ = Истина;
            ВызватьИсключение "Ошибка! Номер карты возврата не совпадает с картой, которой производилась оплата. Операция заблокирована.";
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры

Применение такой программной проверки совместно с административным регламентом позволит вам полностью обезопасить свой бизнес от мошеннических действий персонала на кассовых узлах.

← На главную