SetKit ◾️ Выдача заказов по QR-коду с проверкой по коду верификации

Публичное пространство

SetKit ◾️ Выдача заказов по QR-коду с проверкой по коду верификации

https://crystals.atlassian.net/browse/KIT-179

https://crystals.atlassian.net/browse/CR-11364

10.4.5.0

Описание

Начиная с версии 10.4.5.0 появилась возможность валидировать восстановление мягкого чека на кассе проверочным кодом, который передается в составе мягкого чека с помощью опционального признака verificationCode.

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

Ценность

Преимущества выдачи заказов по QR-коду с проверкой по коду верификации:

  • снижение рисков фрода при запуске онлайн-оплаты заказов;

  • сохранение скорости обслуживания покупателей;

  • удобство покупателей при получении заказов.

Логика работы

Код верификации, передаваемый в мягком чеке, может использоваться при выдаче онлайн-заказа по QR-коду или обычным способом по номеру заказа/телефона.

Выдача заказа по QR-коду

В QR-код должен быть "зашит" номер заказа и код верификации (подробнее - в главе Настройка).

При сканировании QR-кода на кассе происходит сверка кода верификации с тем, который указан в составе мягкого чека:

  • если коды совпадают, то касса добавляет заказ в чек;

  • если не сопадают, то касса выводит сообщение кассиру и запрашивает ввод кода верификации;

  • если кассир закрывает окно без ввода кода верификации, то заказ не добавляется в чек.

Выдача заказа по номеру заказа/телефона

При получении заказа по номеру заказа/телефона касса выводит окно для ввода кода верификации. Кассир запрашивает у покупателя код и вводит его на кассе.

  • если введеный код совпадает с тем, который указзан в мягком чеке, то касса добавляет заказ в чек;

  • если не совпадает, то касса выводит соответсвующее сообщение и заправшивает код верификации еще раз;

  • если кассир закрывает окно без ввода кода верификации, то заказ не добавляется в чек.

Примеры работы

Состав мягкого чека

Внешняя система присылает в SetKit созданный заказ с указанием кода верификации, передаваемый с помощью признака verificationCode.

Код верификации для получения данного заказа: 5678.

{ "status": "READY_TO_PAYMENT", "dateCreated": "2023-02-05 14:00", "isEditable": true, "receiptEditable": true, "totalPrice": 148.96, "discountsValue": 0.0, "verificationCode": "5678", "positions": [ { "positionOrder": 1, "code": "45034", "barcode": "4810167000258", "quantity": 1, "unitPrice": 18.00, "discountValue": 0.0, "totalPrice": 18.00 , "canChangePrice": false, "isFixedPrice": false, "isFixedDiscounts": false }, { "positionOrder": 2, "code": "45010", "barcode": "4607141310333", "quantity": 1, "unitPrice": 102.16, "discountValue": 0.0, "totalPrice": 102.16, "canChangePrice": false, "isFixedPrice": false, "isFixedDiscounts": false }, { "positionOrder": 3, "code": "45033", "barcode": "4607141310331", "quantity": 1, "unitPrice": 28.80, "discountValue": 0.0, "totalPrice": 28.80, "canChangePrice": false, "isFixedPrice": false, "isFixedDiscounts": false } ], "client": { "guid": "100021", "phone": "9111500964", "cardNumber": "9000000010", "email": "test@test.ru", "firstName": "Oleg", "lastName": "Olegov" } }

Работа на клавиатурной кассе

Положительные сценарии

Выдача заказа по QR-коду

1. Покупатель предъявляет QR-код для получения заказа (с "зашитым" номером заказа и проверочным кодом: 16357159796&5678).

2. Кассир сканирует QR-код в чек или в окне поиска заказа.

3. Касса распознает номер заказа и код верификации.

4. Касса добавляет заказ в чек.

Выдача заказа по номеру заказа/телефона

1. Покупатель сообщает кассиру номер заказа/телефона.

2. Кассир сканирует/вводит вручную номер заказа в окне поиска мягкого чека или производит поиск заказа по номеру телефона.

3. Касса запрашивает код верификации.

4. Кассир вводит продиктованный покупателем код и нажимает ВВОД.

 

5. Касса добавляет заказ в чек.

Отрицательные сценарии

Код верификации не соответствует указанному в заказе

1. Покупатель предъявляет QR-код из приложения для получения заказа (с "зашитым" номером заказа и проверочным кодом: 16357159796&2679).

2. Кассир сканирует QR-код в чек или в окне поиска заказа.

3. Касса находит заказ, но код верификации не совпадает с указанным в мягком чеке. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как указан некорректный код заказа".

4. Кассир закрывает окно.

5. Касса выводит окно для ввода кода верификации.

6. Кассир вводит продиктованный покупателем код и нажимает ВВОД.

 

7. Касса добавляет заказ в чек.

Заказ не добавлен в чек, так как не указан код верификации

Шаги 1-5 аналогичны предыдущему сценарию

1. Покупатель предъявляет QR-код из приложения для получения заказа (с "зашитым" номером заказа и проверочным кодом: 16357159796&2679).

2. Кассир сканирует QR-код в чек или в окне поиска заказа.

3. Касса находит заказ, но код верификации не совпадает с указанным в мягком чеке. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как указан некорректный код заказа".

4. Кассир закрывает окно.

5. Касса выводит окно для ввода кода верификации.

6. Покупатель не предъявляет проверочный код и кассир закрывает окно.

7. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как не указан код заказа". Заказ не добавляется в чек.

Работа на SetTouch

Положительные сценарии

Выдача заказа по QR-коду

1. Покупатель предъявляет QR-код для получения заказа (с "зашитым" номером заказа и проверочным кодом: 16357159796&5678).

2. Кассир сканирует QR-код в чек или в окне поиска заказа

3. Касса распознает номер заказа и код верификации.

4. Касса добавляет заказ в чек.

Выдача заказа по номеру заказа/телефона

1. Покупатель сообщает кассиру номер заказа/телефона.

2. Кассир сканирует/вводит вручную номер заказа в окне поиска мягкого чека или производит поиск заказа по номеру телефона.

3. Касса запрашивает код верификации.

4. Кассир вводит продиктованный покупателем код и нажимает ПОДТВЕРДИТЬ.

 

5. Касса добавляет заказ в чек.

Отрицательные сценарии

Код верификации не соответствует указанному в заказе

1. Покупатель предъявляет QR-код из приложения для получения заказа (с "зашитым" номером заказа и проверочным кодом: 16357159796&2679).

2. Кассир сканирует QR-код в чек или в окне поиска заказа.

3. Касса находит заказ, но код верификации не совпадает с указанным в мягком чеке. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как указан некорректный код заказа".

4. Кассир нажимает ОК.

 

5. Касса выводит окно для ввода кода верификации.

6. Кассир вводит продиктованный покупателем код и нажимает ПОДТВЕРДИТЬ.

 

7. Касса добавляет заказ в чек.

Заказ не добавлен в чек, так как не указан код верификации

Шаги 1-5 аналогичны предыдущему сценарию

1. Покупатель предъявляет QR-код из приложения для получения заказа (с "зашитым" номером заказа и проверочным кодом: 16357159796&2679).

2. Кассир сканирует QR-код в чек или в окне поиска заказа.

3. Касса находит заказ, но код верификации не совпадает с указанным в мягком чеке. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как указан некорректный код заказа".

4. Кассир закрывает окно.

5. Касса выводит окно для ввода кода верификации.

6. Покупатель не предъявляет проверочный код и кассир закрывает окно.

7. Касса выводит сообщение "Заказ не может быть добавлен в чек, так как не указан код заказа". Заказ не добавляется в чек.

Ограничения

  • Функциональность доступна для клавиатурных касс и устройств SetTouch. Не предусмотрена реализация для SCO.

  • В QR-коде может быть указан только номер заказа, но не номер комплекта.

  • Код верификации verificationCode может содержать только числовые символы (до 30).

Настройка на сервере

1. Перейдите в раздел Интеграция → Внешние процессинги → Служба мягких чеков SetKit X.

 

2. В поле Разделитель кода верификации (регулярное выражение) укажите маску QR-кода (символ либо регулярное выражение) для распознавания кассой номера заказа и кода верификации.

3. Нажмите 

.

ПримерВ настройках процессинга в качестве разделителя кода верификации указано: 

.

В QR-коде "зашито" значение 16357159796&2679, где 16357159796 - это номер заказа, & - разделитель, а 2679 - код верификации.

Статьи по теме 

SetKit ◾️ Продажа предоплаченного товара