Loyalty

  1. Домой
  2. Документация
  3. Loyalty
  4. API процессинга покупок
  5. refund

refund

Метод осуществляет возврат товаров в покупке и пересчитывает начисления бонусных баллов.

Схема работы метода

Метод refund проверяет id покупки (purchaseId), по которой пользователь совершает возврат. В случае, если id покупки не существует, возврат не будет совершен. Возврат возможен только при заполненном параметре purchaseId.

В случае успешного вызова метода происходит перерасчёт начисленных на покупку бонусных баллов. Потраченные при покупке бонусные баллы не возвращаются.

На стороне процессинга не ограничены возможности:

  • вернуть продукты, не входящие в состав покупки
  • вернуть товары на сумму, отличную от суммы покупки
  • совершить возврат в точке продаж, отличной от точки продаж покупки

При необходимости, данные проверки могут быть реализованы на стороне кассового ПО/cайта.

Запрос

URL: https://<адрес сервиса процессинга>/purchase/refund
Метод: POST

Заголовки

Authorization: Bearer <token>
Content-Type: application/json

Пример запроса

{
  "id": "r070",
  "purchaseId": "070",
  "date": "2019-04-04T13:13:55Z",
  "shopCode": "3",
  "refundProducts": [
    {
			"index": 1,
			"price": 10990.00,
			"productCode": "NB996",
			"quantity": 1.000,
			"amount": 10990.00
		}
  ]
}

Описание параметров

Параметр
Тип Описание
idstring
Идентификатор документа возврата
Длина строки должна быть меньше или равна 50
purchaseIdstring Идентификатор покупки
Длина строки должна быть меньше или равна 50
datestringДата и время возврата
Длина строки должна быть больше или равна 1
Значение должно иметь формат «дата-время»
shopCodestringКод точки продаж, где осуществляется возврат
Длина строки должна быть меньше или равна 50

refundProducts
array Возвращаемые товары
indexnumberПорядковый номер товара в покупке
Число должно быть меньше или равно 10000
Значение должно иметь формат int32
productCode numberКод товара
Длина строки должна быть меньше или равна 50
price numberЦена товара
Число должно быть меньше или равно 100000000
Значение должно иметь формат ‘double’
quantity numberКоличество товара в позиции
Число должно быть меньше или равно 1000000
Значение должно иметь формат ‘double’
amount
numberРезультат запроса

Ответ

Пример ответа

{
  "data": {},
  "success": true
}

Описание параметров

Параметр
Тип Описание
dataobjectДанные ответа на запрос
succesboolean Результат запроса

Запрос может быть отправлен без блока «refundProducts», в данном случае будет создан возврат на всю покупку.

Примечания

  • После вызова метода возврата покупки будет произведен перерасчет начисляемых бонусных баллов согласно обновленному набору продуктов
  • После вызова метода возврата покупки будет произведен возврат бонусных баллов списанных в покупке(при установке соответствующей настройке в справочнике «Тип бонусных баллов»):
    1. Если произведен полный возврат, будут возвращены все списанные баллы
    2. Если возврат частичный, будет произведен пересчет списанных баллов, и возвращена часть бонусных баллов
Материал был полезен? Да 2 Нет