На рынке появляются новые способы безналичной оплаты, помимо оплаты картой, такие как оплата по «СБП», оплата «Улыбкой» (по биометрии) и так далее. В некоторых случаях все эти способы оплаты реализованы в одном драйвере платёжных систем, например, драйвер Сбербанка. Так же комиссия при выполнении операции может отличаться в зависимости способа платежа.
Соответственно у пользователей Эвотор возникают задачи:
Однако, сейчас все оплаты безналичным платежом (Плати QR, Оплата «улыбкой» на пинпаде, простой платеж банковской картой) уходят в облако с одним типом “Безналичными”, в некоторых случаях есть детализация по приложению, с помощью которого производили платеж, но возможности разделить платежи внутри одного приложения нет.
Мы хотим дать возможность сторонним разработчикам драйверов и платежных приложений передавать в товароучётные системы через наше облако подробную детализацию по способам этих платежей.
Для передачи расширенных способов оплаты потребуется доработка драйверов и приложений для оплат, выложенных на market.evotor.ru. В SDK для разработчиков этих приложений будут добавлены новые объекты, которые нужно будет заполнить в зависимости от способа безналичной оплаты.
Для получения этих данных на стороне облачных приложений в API Документов будут добавлены новые поля, они описаны в разделе Описание новых полей в чеке.
Атрибут | Обязателен | Тип | Представление | Описание |
---|---|---|---|---|
cashless_info |
Нет | Объект | object | Расширенная информация о платеже. Присутствует в случае типа оплаты “ELECTRON” и если разработчик драйвера или приложения для оплаты поддержал передачу этого поля. |
driver_info |
Нет | Объект | object | Информация о драйвере, который использовался для оформления платежа. Присутствует в случае типа оплаты “ELECTRON” и если оплата производилась через встроенный или подключеный к Эвотору банковский терминал. |
Атрибут | Обязателен | Тип | Представление | Описание |
---|---|---|---|---|
method |
Да | Строка | string | Способ безналичной оплаты. Список возможных значений |
description |
Да | Строка | string | Расширенное описание способа безналичной оплаты. Например: SberPay, MtsPay, AliPay. |
uuid |
Да | Строка | string | Уникальный uuid способа безналичной оплаты. |
Способ оплаты (payment.cashlessInfo.method) | Описание |
---|---|
QR |
Оплата по QR коду, внутри своей банковской системы (Например: SberPay). |
BIOMETRY |
Оплата по биометрии (Например: оплата Улыбкой). |
CARD |
Обычная оплата картой. |
INTERNET_ACQUIRING |
В маркете у нас есть множество приложений для оплаты через интернет эквайринг. |
BANK_TRANSFER |
Банковский перевод на счёт. |
UNKNOWN |
Тип оплаты не перечисленный в таблице. Желательно использовать перечисленные типы, если не один из них точно не подходит для ваших целей - обратитесь в поддержку разработчиков Эвотор с предложением расширить список. |
Атрибут | Обязателен | Тип | Представление | Описание |
---|---|---|---|---|
app_id |
Нет | Строка | string | Идентификатор драйвера в EvotorMarket, через который производился платеж безналичными средствами. |
name |
Нет | Строка | string | Наименование драйвера |
Ниже приведен пример чека с несколькими оплатами:
cashlessInfo.uuid
по причине того, что использовался одинаковый способ платежа и комиссия не отличается).cashlessInfo.uuid
и описанием этой оплаты. (Обратите внимание, что у этого способа cashlessInfo.uuid
отличается от первых двух, так как это необходимо для того, чтобы выделить отличие по комиссии).cashlessInfo.description
дано для понимания того, чем эти способы между собой отличаются.{
"type": "SELL",
"id": "c6f2b79b-4738-47wd-8577-ae0b7be9b1cf",
"number": 13489,
"close_date": "2024-08-06T11:28:42.000+0000",
"time_zone_offset": 14400000,
"session_id": "c734d750-c6f8-452e-b43e-864963wdwd8f",
"session_number": 629,
"close_user_id": "20240710-FFFF-4046-80D6-FFFFFFF17CC",
"device_id": "20220914-FFFF-4099-80B9-29AFFFFFF",
"store_id": "20220927-FFFF-4057-80FC-FFFFFFF",
"user_id": "01-000000000000",
"body": {
"doc_discounts": [],
"payments": [
{
"id": "272c0434-37d4-4e0d-a983-3da57a1125e1",
"sum": 1000,
"type": "ELECTRON",
"parts": [
{
"print_group_id": "46dd89f0-3a54-470a-a166-ad01fa34b86a",
"part_sum": 4000,
"change": 0
}
],
"cashless_info": {
"method": "CARD",
"description": "Оплата картой с комиссией 1,5%",
"uuid": "c8a7297a-8051-4fc6-aacd-f4ceaea9ab71"
},
"driver_info": {
"appId": "7f228ef8-64b6-4080-b5c5-8a171c762a0a",
"name": "Универсальный драйвер"
}
},
{
"id": "16edcd36-6ef2-4021-a50e-9204a81a10a8",
"sum": 1000,
"type": "ELECTRON",
"parts": [
{
"print_group_id": "46dd89f0-3a54-470a-a166-ad01fa34b86a",
"part_sum": 4000,
"change": 0
}
],
"cashless_info": {
"method": "CARD",
"description": "Оплата картой с комиссией 1,5%",
"uuid": "c8a7297a-8051-4fc6-aacd-f4ceaea9ab71"
},
"driver_info": {
"appId": "7f228ef8-64b6-4080-b5c5-8a171c762a0a",
"name": "Универсальный драйвер"
}
},
{
"id": "3079bd35-c21a-4d00-bee9-ab545f5747a0",
"sum": 1000,
"type": "ELECTRON",
"parts": [
{
"print_group_id": "46dd89f0-3a54-470a-a166-ad01fa34b86a",
"part_sum": 4000,
"change": 0
}
],
"cashless_info": {
"method": "CARD",
"description": "Оплата картой с комиссией 1,3%",
"uuid": "ee2e3f57-30ef-4ef3-af92-820d1d0ff503"
},
"driver_info": {
"appId": "7f228ef8-64b6-4080-b5c5-8a171c762a0a",
"name": "Универсальный драйвер"
}
},
{
"id": "c14ca3e7-8711-49b5-8bc2-db54b69dfbbc",
"sum": 1000,
"type": "ELECTRON",
"parts": [
{
"print_group_id": "46dd89f0-3a54-470a-a166-ad01fa34b86a",
"part_sum": 4000,
"change": 0
}
],
"cashless_info": {
"method": "QR",
"description": "Оплата QR кодом СБП с комиссией 0,5%",
"uuid": "31b20e33-75cc-4a77-aa21-9fa26cb57c01"
},
"driver_info": {
"appId": "7f228ef8-64b6-4080-b5c5-8a171c762a0a",
"name": "Универсальный драйвер"
}
},
{
"id": "89cfdeed-7271-46a1-a9d4-a7343282371a",
"sum": 1000,
"type": "ELECTRON",
"parts": [
{
"print_group_id": "46dd89f0-3a54-470a-a166-ad01fa34b86a",
"part_sum": 4000,
"change": 0
}
],
"cashless_info": {
"method": "QR",
"description": "Оплата AliPay без комиссии",
"uuid": "2ce10ead-c05c-4574-9c41-b0f626a5a203"
},
"app_info": {
"appId": "63d6091e-39f1-46ad-82fd-f7440f5cd40d",
"name": "Универсальная платежная система"
}
},
{
"id": "01289a68-c39f-4661-9324-0959dcc58d39",
"sum": 1000,
"type": "ELECTRON",
"parts": [
{
"print_group_id": "46dd89f0-3a54-470a-a166-ad01fa34b86a",
"part_sum": 4000,
"change": 0
}
],
"cashless_info": {
"method": "QR",
"description": "Оплата QR кодом SberPay с комиссией 1%",
"uuid": "08855e3d-46fb-496e-b4d9-37b0f02a74e8"
},
"driver_info": {
"appId": "7f228ef8-64b6-4080-b5c5-8a171c762a0a",
"name": "Универсальный драйвер"
}
}
],
"print_groups": [
{
"id": "46dd89f0-3a54-470a-a166-ad01fa34b86a",
"type": "CASH_RECEIPT"
}
],
"sum": 6000,
"result_sum": 6000
},
"created_at": "2024-08-06T11:28:44.658+0000",
"version": "V2"
}
Для передачи расширенных способов оплаты потребуется доработка драйвера банковского терминала, чтобы он начал передавать новый объект в успешном результате платежа. Сейчас объект платежа выглядит следующим образом: https://github.com/evotor/device-drivers/blob/master/app/src/main/java/ru/evotor/devices/drivers/paysystem/PayResult.java
В конструктор объекта PayResult
предполагается добавить новый необязательный параметр cashlessInfo
, который нужно будет заполнять для передачи расширенной информации о платеже.
Описание объекта cashlessInfo
:
Атрибут | Может быть nul | Тип | Описание |
---|---|---|---|
method |
Нет | Eum | Передается одно значение из списка |
description |
Нет | String | Расширенное описание способа безналичной оплаты. |
uuid |
Нет | String | Уникальный uuid способа безналичной оплаты. Формат обязательно должен быть uuid4, при создании объекта будет добавлена валидация на проверку формата uuid. |