Проверка, от которой зависит, будет ли исполнен заказ по ваучеру, — это запрос в партнёрском портале или телефонный звонок, который делает человек, в компанию, выпустившую ваучер. Это самая медленная часть сервиса и та, на которой держится всё остальное.
Что на самом деле хранит эмитент
Пластиковая карта или напечатанный талон у вас в руках — это квитанция. Сам инструмент — это код, и код что-то значит только потому, что эмитент ведёт по нему запись. Эта запись содержит небольшой набор фактов:
- существует ли код вообще
- его номинал и валюта
- его статус: не использован, использован частично, погашен полностью или заблокирован
- остаток на нём
- привязано ли к нему что-либо — запись об активации, заморозка, заявление о мошенничестве
Только запись эмитента может сказать, действует ли код. Квитанция, фотография квитанции и слово клиента этого сказать не могут, какими бы честными ни были все трое.
Что происходит до обращения к эмитенту
Сначала происходят четыре вещи, и ни одна из них не требует, чтобы человек прочитал код.
Код шифруется в момент поступления. Он хранится в отдельной таблице, отдельно от заказа, зашифрованным алгоритмом AES-256-GCM. Тот, у кого есть доступ к базе данных, видит шифротекст и последние четыре символа.
Для него вычисляется отпечаток, который сверяется со всеми когда-либо поданными кодами. Отпечаток — это односторонняя функция от кода в сочетании с секретным значением, и на него наложено ограничение уникальности в рамках всей системы. Один и тот же ваучер, поданный дважды — на одном аккаунте, на двух аккаунтах, с разницей в недели, — даёт совпадение по этому отпечатку и отклоняется. Сравнение происходит без расшифровки чего-либо, поэтому ради поиска дубликатов ничей код никто не читает.
Формат сверяется с брендом. У каждого бренда своя характерная длина и структура кода. Код, который не может принадлежать этому бренду, почти всегда является ошибкой при переписывании, и выявление этого здесь избавляет от бессмысленного звонка эмитенту и экономит клиенту день. Список брендов приведён на странице поддерживаемые ваучеры.
Проверяются условия допуска заказа. Личность подтверждена и подтверждение не истекло, скрининг актуален, страна обслуживается, лимиты не превышены, открытых комплаенс-дел нет. Заказ, который не был бы исполнен даже с безупречным ваучером, не расходует обращение к эмитенту.
Сама проверка
Сотрудник открывает заказ и расшифровывает код. Эта расшифровка фиксируется — кто её выполнил, когда и сколько раз код просматривался в общей сложности, — так что ни один просмотр клиентского ваучера не является анонимным.
Затем он пользуется тем каналом, который эмитент предоставляет для этого бренда. У одних эмитентов есть партнёрская страница проверки баланса. У других — партнёрская линия поддержки, где человек зачитывает код и ждёт. Третьи дают окончательный ответ только по телефону, в свои рабочие часы, в своём часовом поясе. Вопросы во всех случаях одни и те же: существует ли этот код, действует ли он, сколько на нём осталось и привязано ли к нему что-либо.
Полученный ответ фиксируется в заказе — результат, канал, время, любой номер обращения, который даёт эмитент, и имя сотрудника, проводившего проверку. Сам код в эту запись не переносится.
Почему это делает человек, а не программа
Общего интерфейса не существует. Шесть брендов — это несколько эмитентов, несколько каналов, несколько наборов партнёрских условий и ни одного общего API, под который можно было бы писать. Единой автоматической проверки, охватывающей их все, не существует, потому что не существует того, к чему она обращалась бы.
Эмитенты намеренно ограничивают проверку торговыми партнёрами, а зачастую и людьми. Автоматический процесс, подающий коды на скорости, неотличим от атаки перебором карт — метода массового прогона украденных или подобранных кодов ради поиска действующих. Эмитенты отслеживают такую картину и отсекают источник. Бизнес, который агрессивно автоматизировал бы проверку, потерял бы возможность проверять вообще.
Человек к тому же замечает то, чего нет в поле статуса: пометку по счёту, которую портал не показывает, расхождение между кассовым чеком и кодом, оператора поддержки, который медлит с ответом. Ничто из этого не приходит в виде данных.
И сама проверка — это и есть продукт. Комиссия в 5%, изложенная на странице курсы и лимиты, оплачивает реальное время человека, который устанавливает, что один код является тем, чем он себя объявляет, чтобы последующий платёж мог быть окончательным.
Каким может быть ответ
Ответов четыре, и это не вариации на одну тему.
- Действует, полный баланс, ничего не привязано. Заказ исполняется. Сотрудник инициирует расчёт и фиксирует в заказе идентификатор операции, где клиент может его увидеть.
- Действует, но баланс ниже заявленного. Ваучер частично израсходован. Расчёт по заявленному номиналу невозможен, поэтому заказ либо пересчитывается по остатку, подтверждённому эмитентом, либо отклоняется, и выбирает клиент.
- Уже погашен либо такого кода нет. Заказ отклоняется с указанием причины.
- Заблокирован, заморожен или по нему подано заявление о мошенничестве. Заказ не отклоняется и не закрывается; он замораживается, и открывается комплаенс-дело. Материал что происходит, когда ваучер не проходит проверку подробно разбирает все четыре исхода, включая этот.
Сколько это занимает
Часы, а не секунды, а иногда и дольше. Это зависит от того, какой эмитент, который час там, где этот эмитент отвечает на звонки, и был ли первый ответ окончательным. Ваучер, поданный в пятницу вечером, может ждать понедельника эмитента.
Этот шаг нельзя сделать быстрым, не сделав его бессмысленным. Любая быстрая альтернатива — поверить квитанции, поверить клиенту, сначала рассчитаться, а проверить потом — перекладывает риск на того, кому заплатят следующим.
Что происходит с кодом потом
Зашифрованный код удаляется после исполнения заказа, а также при его отклонении. Запись сохраняется — с последними четырьмя символами, отпечатком и историей доступа, потому что именно это запись обязана хранить. Кода в ней нет.
Практическое следствие: ваш код не может быть зачитан вам обратно позднее. Сфотографируйте квитанцию до подачи и сохраните фотографию там, где вы её снова найдёте.
Что помогает проверке пройти гладко
- Не расходуйте никакую часть ваучера после его подачи. Баланс, снизившийся посреди проверки, читается как частичное погашение.
- Пока заказ открыт, не сообщайте код никому другому, включая тех, кто звонит и представляется сотрудником обменного сервиса. Ни один сотрудник этого сервиса никогда не позвонит с просьбой зачитать код, который вы уже подали.
- Вводите код ровно так, как он напечатан. Путаница между цифрой 0 и буквой O или между 1 и I — обычная причина ошибки формата.
- Сохраняйте кассовый чек. Он показывает, где и когда был куплен ваучер, и это единственное полезное доказательство, если окажется, что код так и не был активирован на кассе.
- Указывайте номинал, который действительно указан на ваучере, а не цену, которую вы за него заплатили.
Как обстоят дела сейчас
Приём ваучеров не открыт. Заявка на лицензию находится в процессе рассмотрения, и продукт по каждому бренду остаётся отключённым, пока в письменном виде не будет урегулирован вопрос о погашении кодов этого эмитента третьим лицом: условия эмитентов, как правило, ограничивают передачу кода, и на этот вопрос следует ответить до начала деятельности, а не после.
Последовательность, по которой проходит реальный заказ, изложена в разделе как это работает, а шаг с подтверждением личности, который предшествует всему перечисленному, — в материале почему подтверждение личности предшествует любой выплате.