Возврат с комиссией/штрафом
Иногда при возврате нужно удержать штраф, комиссию за возврат или сервисный сбор — и провести удержание в финансовой отчётности. Такой возврат происходит в два этапа через корректировочный заказ на комиссию, штраф или сервисный сбор:
Сумма возврата из первого шага пересчитывается на сумму корректировочного заказа — её и получает покупатель.
Процесс оформления возврата через корректировочный заказ
sequenceDiagram
autonumber
participant Покупатель
participant Магазин
participant Инвойсбокс
participant Онлайн касса
rect rgba(107, 70, 193, 0.13)
Покупатель->>Магазин: Обращается за возвратом по заказу
Магазин-->Инвойсбокс: Получение списка позиций в заказе
Магазин->>Инвойсбокс: Вызов метода оформления возврата
Магазин->>Инвойсбокс: Вызов метода создания корректировочного заказа
Инвойсбокс->>Покупатель: Осуществление возврата денежных средств
Инвойсбокс->>Онлайн касса: Чек "ВОЗВРАТ 100%"
Инвойсбокс->>Покупатель: Предоставление чека "ВОЗВРАТ 100%"
Инвойсбокс->>Онлайн касса: Чек "ОПЛАТА 100%" по корректировочному заказу
Инвойсбокс->>Покупатель: Предоставление чека "ОПЛАТА 100%"
end
- Покупатель обращается в Магазин для оформления возврата заказа.
- Опционально, Магазин запрашивает через метод API доступные к возврату позиции в заказе.
- Магазин формирует возврат в системе Инвойсбокс через метод API.
- Магазин формирует корректировочный заказ в системе Инвойсбокс с указанием позиции комиссии, штрафа или сервисного сбора через метод API.
- Система Инвойсбокс возвращает денежных средств покупателю на сумму возврата за минусом суммы корректировочного заказа.
- Система Инвойсбокс формирует и регистрирует чек "ВОЗВРАТ 100%" в онлайн кассе (при оплате физическим лицом).
- Система Инвойсбокс направляет чек "ВОЗВРАТ 100%" покупателю (физическому лицу).
- Система Инвойсбокс формирует и регистрирует чек "ОПЛАТА 100%" по корректировочному заказу в онлайн кассе (при оплате физическим лицом).
- Система Инвойсбокс направляет чек "ОПЛАТА 100%" покупателю (физическому лицу).
Формирование возврата
Сформируйте возврат со специальным статусом draft и получите его идентификатор (id) через метод API создания возврата
Формирование корректировочного заказа
Сформируйте корректировочный заказ с указанием новых позиций (штрафов, комиссий, сервисных сборов) со ссылкой на возврат из пункта 1. через поле parentId,
т.е. укажите в поле parentId полученный идентификатор id возврата.
Корректировочный заказ создаётся своим методом:
- метод:
POST - ресурс:
/v3/billing/api/order/correction-order - тело запроса — объект CorrectionOrderRequest:
parentId,amount,vatAmount,description,basketItems(все обязательные) - тело ответа - объект OrderResponse
- Возможные ошибки
Пример запроса и ответа
POST /v3/billing/api/order/correction-order
Authorization: Bearer b37c4c689295904ed21eee5d9a48d42e
Content-Type: application/json
User-Agent: MyApp 1.0
Accept: application/json
{
"amount": 100.5,
"vatAmount": 100.5,
"basketItems": [
{
"sku": "string",
"name": "string",
"groupName": "string",
"measureCode": "string",
"originCountry": "string",
"originCountryCode": "string",
"grossWeight": 100.5,
"netWeight": 100.5,
"quantity": 100.5,
"amount": 100.5,
"amountWoVat": 100.5,
"totalAmount": 100.5,
"totalVatAmount": 100.5,
"vatCode": "RUS_VAT22",
"type": "string",
"gtdNumber": "string",
"paymentType": "string",
"excise": 100.5,
"metaData": {},
"tnved": "string",
"rnpt": "string",
"gtin": "string",
"category": "string",
"categoryType": "string",
"serviceDate": "2026-08-03T12:00:00+03:00"
}
],
"parentId": "01771534-1a57-f184-dee3-ebeb91dded75",
"description": "string"
}
Ответ (по схеме):
{
"data": {
"id": "01771534-1a57-f184-dee3-ebeb91dded75",
"description": "string",
"currencyId": "RUB",
"amount": 100.5,
"vatAmount": 100.5,
"basketItems": [
{
"sku": "string",
"name": "string",
"groupName": "string",
"measure": "string",
"measureCode": "string",
"originCountry": "string",
"originCountryCode": "string",
"grossWeight": 100.5,
"netWeight": 100.5,
"quantity": 100.5,
"amount": 100.5,
"amountWoVat": 100.5,
"totalAmount": 100.5,
"totalVatAmount": 100.5,
"vatCode": "RUS_VAT22",
"type": "string",
"gtdNumber": "string",
"paymentType": "string",
"excise": 100.5,
"metaData": {},
"tnved": "string",
"rnpt": "string",
"gtin": "string",
"category": "string",
"categoryType": "string",
"serviceDate": "2026-08-03T12:00:00+03:00"
}
],
"merchantId": "01771534-1a57-f184-dee3-ebeb91dded75",
"status": "string",
"shipmentStatus": "string",
"subtype": "string",
"processingStatus": "string",
"createdAt": "2026-08-03T12:00:00+03:00",
"merchantOrderId": "01771534-1a57-f184-dee3-ebeb91dded75",
"merchantOrderIdVisible": "string",
"expirationDate": "2026-08-03T12:00:00+03:00",
"metaData": {},
"customerData": {},
"notificationUrl": "string",
"orderSetting": {
"roundPolicy": "string",
"disableValidate": false
},
"internalProperty": {
"guarantee": false,
"hold": false,
"rtp": false,
"agent": false,
"rtpExternal": false
},
"tags": {},
"shopId": 1,
"sourceId": "l3",
"paidAt": "2026-08-03T12:00:00+03:00",
"parentId": "01771534-1a57-f184-dee3-ebeb91dded75",
"returnUrl": "string",
"successUrl": "string",
"failUrl": "string",
"paymentUrl": "string",
"paymentUrlType": "redirect",
"paymentPageUrl": "string",
"customer": {
"type": "string",
"name": "string",
"phone": "string",
"email": "string",
"vatNumber": "string",
"countryId": "01771534-1a57-f184-dee3-ebeb91dded75",
"registrationAddress": "string",
"taxRegistrationReasonCode": "string"
},
"languageId": "01771534-1a57-f184-dee3-ebeb91dded75",
"contactId": 1,
"contactCounterpartyId": 1,
"processable": false,
"userAccountId": "01771534-1a57-f184-dee3-ebeb91dded75",
"invoiceSetting": {
"customerLocked": false,
"customerLockedFields": {},
"customerHiddenFields": {},
"paymentMethodIdLocked": false,
"paymentMethodId": 1,
"savePaymentData": false,
"clientId": "01771534-1a57-f184-dee3-ebeb91dded75",
"paymentToken": "string",
"paymentMethodCode": "string",
"paymentMethodAutosubmit": false,
"bankDetailId": 1
},
"orderContainerId": "01771534-1a57-f184-dee3-ebeb91dded75",
"paymentInfo": {},
"holdTill": "2026-08-03T12:00:00+03:00",
"additionalOrderId": "01771534-1a57-f184-dee3-ebeb91dded75",
"shipmentTotalAmount": "string",
"shipmentTotalVatAmount": "string"
},
"metaData": {
"totalCount": 1,
"pageSize": 1,
"page": 1
},
"extendedData": [
{
"type": "string",
"data": {}
}
]
}