Протокол оплаты по NFC меткам для терминалов Vendista
Оплата по NFC метке происходит при поднесении к терминалу устройства, которое может хранить и передавать данные по технологии NFC. Для того, чтобы произошла оплата, терминал должен находится в режиме оплаты, а используемая метка должна быть предварительно добавлена в личном кабинете. Основная пользовательская инструкция по NFC меткам находится тут.
Передача данных о попытке оплаты происходит по протоколу HTTP на указанный в настройках шлюз (далее URL клиента). Данные содержаться в теле запроса с заголовком Content-Type: application/json.
Оплата
Метод |
POST |
URL |
URL клиента |
Тело запроса:
Cmd |
string |
константа со значением Sale |
CardNumber |
string |
считанное терминалом шестнадцатеричное значение NFC метки, например AABB1122 |
TID |
string |
номер терминала, к которому была приложена NFC метка. |
ProductId |
uint |
номер кнопки в торговом автомате. |
Amount |
string |
сумма к оплате. |
Пример:
В качестве ответа на данный запрос, необходимо передать данные о результатах проведения платежа в следующем формате:
id | string |
Необязательное поле. Используется для передачи подтверждения выдачи товара. |
result | bool |
Результат платежа. Обязательное поле. При значении true платеж будет считаться успешным и произойдет выдача товара. |
error |
объект error |
объект ошибки. Необязательное поле. Передавать если результат платежа false. Содержит в себе поля code и message |
error - code |
int |
код ошибки в вашей системе |
error - message |
string |
текст ошибки |
Пример успешного платежа:
Пример неуспешного платежа:
Подтверждение выдачи
Запрос инициируется в случае, если при оплате был передан идентификатор платежа и терминал зафиксировал выдачу (пакет vendReport/vendReportMulty в логах терминала).
Метод |
POST |
URL |
{URL клиента}/{id}/vendreport |
В качестве ответа достаточно передать успешный Status code: 200 (OK).