Резервирование средств
Запрос /online/bonuses/debitHold [POST] - зарезервировать средства на бонусном счете клиента для последующего списания
Параметры запроса:
-
customerToken - токен клиента
-
type - тип токена:
- card - карта
- qrGuest - приложение “QR Guest”
- pin - PIN-код
- phone - номер телефона
-
entry - режим ввода токена:
- trackCode - ввод магнитной полосы карты
- barCode - ввод штрих-кода карты
- qrCode - ввод QR-кода с приложения “QR Guest”
- manual - ручной ввод PIN-кода или номера телефона
- key - значение токена
-
type - тип токена:
- date - дата резервирования
- precheck - идентификатор пречека
-
accountType - тип бонусного счета клиента
- accountGuid - идентификатор типа бонусного счета
- amount - сумма резервирования
Параметры ответа:
- balance - баланс бонусного счета клиента
- bonusTransactionId - идентификатор транзакции резервирования
Примеры:
-
Успешное резервирование средств
test@test:~$ curl -i -X POST -u test:test -H "Content-Type:application/json" -d '{"customerToken":{"type":"card","entry":"trackCode","key":"66666600000011=2012"}, "accountType":{"accountGuid":"bonus_account_type-1"}, "amount": 100}' http://test.quickresto.ru/platform/online/bonuses/debitHold HTTP/1.1 200 OK Server: nginx/1.4.6 (Ubuntu) Date: Mon, 08 Feb 2016 08:45:13 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: keep-alive Set-Cookie: JSESSIONID=0AABF008CFA6A124B056FD273F3325CF; Path=/; HttpOnly {"balance":{"ledger":1000.0,"available":900.0,"debitHold":0,"creditHold":0},"bonusTransactionId":2}
-
Недостаточно средств на счете
test@test:~$ curl -i -X POST -u test:test -H "Content-Type:application/json" -d '{"customerToken":{"type":"card","entry":"trackCode","key":"66666600000011=2012"}, "accountType":{"accountGuid":"bonus_account_type-1"}, "amount": 1000}' http://test.quickresto.ru/platform/online/bonuses/debitHold HTTP/1.1 400 Bad Request Server: nginx/1.4.6 (Ubuntu) Date: Mon, 08 Feb 2016 08:45:19 GMT Content-Length: 198 Connection: keep-alive Set-Cookie: JSESSIONID=071E5FDF006D337D8B3CBC2B8E80868C; Path=/; HttpOnly {"errorCode":"insufficientFunds","errorDescription":"Account bonus_account_type-1 of customer Иван null Лобанов has insufficient funds: available balance 900.00, transaction amount 1000"}