Возвраты
Провести через API полноценную операцию возврата средств не получится — обязательно понадобится карта покупателя для проведения денег через эквайринг. Но через API вы можете создать обратную сессию для выполнения возврата. Рассказываем как работать с обратными сессиями.
Оформить возврат
За движения денежных средств в LIFE POS API отвечает объект Сессия. Сессия — это любое ваше взаимодействие с покупателем, в рамках которого передаются деньги или товары. Оплата продавцу, отгрузка товара или предоставление услуги — это прямые сессии, а возврат — обратная. Подробнее о сессиях
Чтобы создать обратную сессию, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal
base_url
— адрес сервиса. Возможные значения:
https://api-dev.life-pos.ru
— тестовый API,https://api.life-pos.ru
— рабочий API.
Возврат должен ссылаться на прямую сессию оплаты, а каждая часть платежа — на соответствующую часть платежа в этой прямой сессии. Для этого в описании операций, проведённых в рамках сессии, в объекте payment parts используются объекты primary_sale session и primary_payment_part соответственно. Передайте в них guid
и type_of
объектов, на которые хотите сослаться.
Когда возврат будет оформлен, поменяйте статус сделки. Как поменять статус сделки
Получить документ возврата
Чтобы получить список всех сессий, связанных с продажей, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions
Данные выводятся постранично, по 20 записей на страницу. Если нужно получить данные второй страницы, возьмите из ответа значе ние параметра next_page_token
и отправьте новый запрос, передав это значение в параметре page_token
. Продолжайте до тех пор, пока параметр next_page_token
не придёт пустым.
Например, вы запросили данные о сотрудниках и получили такой ответ:
“next_page_token”: “OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”,
“page_number”: 1,
“pages_total”: 2,
“items_per_page”: 20,
“items_total”: 27,
В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token=“OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”
.
В запросе есть необязательный параметр selection
. Это фильтр сессий по их статусу. Если параметр не передан, по умолчанию используется значение alive_only
, то есть в ответе придут только данные сессий, не перенесённых в архив. Чтобы посмотреть весь список сессий или только архивные данные, укажите значение all
или archived_only
соответственно.
Чтобы получить данные конкретного возврата, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}
session_guid
— идентификатор сессии. Можно получить в списке всех сессий, связанных с продажей.
Изменить документ возврата
Когда возврат будет фискализирован, добавьте данные чека в описание сессии PATCH-запросом по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}
Удалить и восстановить возврат
Сессию нельзя удалить навсегда, но можно перенести в архив. Она исчезнет из интерфейса вашей учётной программы, но сохранится на сервере LIFE POS. Для этого отправьте DEL-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}
Чтобы восстановить архивную сессию, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}:unarchive
Теперь вы знаете, как работать с возвратами. В следующей статье обсудим сессии коррекции.