/v1/orders/{order_id}/refund
Deprecated
Важно
Этот метод устарел. Используйте новую версию v2/orders/{order_id}/refund.
Запрос на возврат средств за заказ.
Доступно только для платежей в статусе CAPTURED и PARTIALLY_REFUNDED.
В случае успеха статус платежа изменится на REFUNDED или PARTIALLY_REFUNDED в зависимости от суммы
и будет отправлено событие ORDER_STATUS_UPDATED.
Событие OPERATION_STATUS_UPDATED будет отправлено как в случае успеха, так и при возникновении ошибки
в процессе совершения возврата.
В запросе нужно передать итоговую корзину предоставляемых товаров и услуг. Итоговая корзина должна формироваться из текущей корзины исключением некоторых позиций, либо корректировкой стоимости имеющихся позиций, по которым производился возврат. Сумма корзины должна совпадать с текущей суммой платежа за вычетом суммы возврата.
Примечание
Сумма возврата не может быть менее 1 рубля, после частичного возврата оставшаяся сумма корзины не может быть менее 1 рубля
Request
POST
https://pay.yandex.ru/api/merchant/v1/orders/{order_id}/refund
Production
POST
https://sandbox.pay.yandex.ru/api/merchant/v1/orders/{order_id}/refund
Sandbox
Path parameters
|
Name |
Description |
|
order_id |
Type: string Уникальный идентификатор заказа на стороне продавца, который был передан в /orders при создании заказа. Max length: Example: `` |
Body
application/json
{
"cart": {
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"features": null,
"measurements": null,
"productId": "example",
"quantity": null,
"receipt": null,
"skuId": "example",
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"total": {
"amount": "123.45",
"externalAmount": "123.45"
}
},
"externalOperationId": "example",
"orderAmount": "123.45",
"refundAmount": "123.45",
"refundExternalAmount": 123.45,
"shipping": {
"amount": "123.45",
"methodType": "DIRECT"
}
}
|
Name |
Description |
|
orderAmount |
Type: string<double> Итоговая сумма заказа. Равна Example: |
|
refundAmount |
Type: string<double> Сумма к возврату. Минимальная сумма возврата — 1 рубль. Example: |
|
cart |
All of 1 type
Итоговая корзина Example
|
|
externalOperationId |
Type: string Идентификатор операции в системе продавца Max length: Example: |
|
refundExternalAmount |
Type: number | null Сумма внешней оплаты, которую вы вернули покупателю (сертификаты, подарочные карты, баллы лояльности). Может быть не указана, равна 0 или больше 0. Ограничение: Не должна превышать значение Min value: |
|
shipping |
Type: ShippingPrice Example
|
Coupon
|
Name |
Description |
|
value |
Type: string Код купона Max length: Example: |
|
description |
Type: string Описание. Например, "Скидка 3%" Max length: Example: |
|
status |
Type: string Enum: Example: |
Example
{
"description": "example",
"status": "VALID",
"value": "example"
}
Discount
|
Name |
Description |
|
amount |
Type: string<double> Сумма скидки Example: |
|
description |
Type: string Текстовое описание Max length: Example: |
|
discountId |
Type: string Идентификатор скидки в системе мерчанта Max length: Example: |
Example
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
CartItemFeatures
|
Name |
Description |
|
pointsDisabled |
Type: boolean Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар Default: |
|
tariffModifier |
Type: string Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине. Enum: Example: |
Example
{
"pointsDisabled": false,
"tariffModifier": "VERY_LOW"
}
Measurements
|
Name |
Description |
|
height |
Type: number Высота, в метрах |
|
length |
Type: number Длина, в метрах |
|
weight |
Type: number Вес, в килограммах |
|
width |
Type: number Ширина, в метрах |
Example
{
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
}
ItemQuantity
|
Name |
Description |
|
count |
Type: string<double> Количество товара в заказе. Это поле обязательно для формирования чека, если в личном кабинете подключена фискализация через Яндекс Пэй. Example: |
|
available |
Type: string<double> Максимально доступное количество товара Example: |
Example
{
"available": "123.45",
"count": "123.45"
}
PaymentsOperator
|
Name |
Description |
|
phones |
Type: string[] Example
|
Example
{
"phones": [
"example"
]
}
TransferOperator
|
Name |
Description |
|
address |
Type: string Max length: Example: |
|
inn |
Type: string Max length: Example: |
|
name |
Type: string Max length: Example: |
|
phones |
Type: string[] Example
|
Example
{
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
Agent
|
Name |
Description |
|
agentType |
Type: integer Признак агента по предмету расчёта. См. значения Enum: |
|
operation |
Type: string Max length: Example: |
|
paymentsOperator |
Type: PaymentsOperator Example
|
|
phones |
Type: string[] Example
|
|
transferOperator |
Type: TransferOperator Example
|
Example
{
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
}
MarkQuantity
|
Name |
Description |
|
denominator |
Type: integer |
|
numerator |
Type: integer |
Example
{
"denominator": 0,
"numerator": 0
}
Supplier
|
Name |
Description |
|
inn |
Type: string Max length: Example: |
|
name |
Type: string Max length: Example: |
|
phones |
Type: string[] Example
|
Example
{
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
ItemReceipt
Данные для формирования чека.
|
Name |
Description |
|
tax |
Type: integer Ставка НДС. Описание значений: Ссылка. Это поле обязательно для формирования чека, если в личном кабинете подключена фискализация через Яндекс Пэй. Enum: |
|
agent |
Type: Agent Example
|
|
excise |
Type: string<double> Не должно содержать больше двух знаков после запятой. Например: 1.12, 5.1, 10, 11.00 . Example: |
|
markQuantity |
Type: MarkQuantity Example
|
|
measure |
Type: integer Описание значений: Ссылка Enum: |
|
paymentMethodType |
Type: integer Описание значений: Ссылка Enum: |
|
paymentSubjectType |
Type: integer Описание значений: Ссылка Enum: |
|
productCode |
Type: string<base64> Код товара (base64 кодированный массив от 1 до 32 байт) Example: |
|
supplier |
Type: Supplier Example
|
|
title |
Type: string Max length: Example: |
Example
{
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
}
CartItemWithoutFinalPriceCamelCase
|
Name |
Description |
|
productId |
Type: string Id товара в системе продавца. В параметрах запроса каждый идентификатор товара Max length: Example: |
|
quantity |
All of 1 type
Количество товара в заказе Example
|
|
description |
Type: string Описание товара Max length: Example: |
|
discountedUnitPrice |
Type: string<double> Цена за единицу товара с учётом скидок на позицию Example: |
|
features |
All of 1 type
Промо параметры товара Example
|
|
measurements |
All of 1 type
Размеры и вес товара. Обязательно для товара типа Example
|
|
receipt |
All of 1 type
Данные для формирования чека. Example
|
|
skuId |
Type: string Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа. Max length: Example: |
|
subtotal |
Type: string<double> Суммарная цена за позицию без учета скидок Example: |
|
title |
Type: string Наименование товара Max length: Example: |
|
total |
Type: string<double> Итоговая цена позиции с учетом примененных скидок. Важно Убедитесь, что цена за единицу товара ( Чтобы избежать ошибок, вынесите товары в отдельные позиции с разными ПримерПравильно:
Цена за единицу Неправильно:
Цена за единицу В таком случае разбейте на две позиции:
Example: |
|
type |
Type: string Тип товара. Важен для интеграции с доставками Default: Enum: |
|
unitPrice |
Type: string<double> Полная цена за единицу товара без учетка скидки Example: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"features": {
"pointsDisabled": false,
"tariffModifier": "VERY_LOW"
},
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
null
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
null
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"skuId": "example",
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
CartTotal
|
Name |
Description |
|
amount |
Type: string<double> Стоимость корзины с учетом всех скидок. Это поле обязательно для формирования чека, если в личном кабинете подключена фискализация через Яндекс Пэй. Example: |
|
externalAmount |
Type: string<double> Сумма внешней оплаты (сертификаты, подарочные карты, баллы лояльности). Может быть не указана, равна 0 или больше 0. Ограничения:
Example: |
Example
{
"amount": "123.45",
"externalAmount": "123.45"
}
CartWithRequiredTotalWithoutFinalPrice
|
Name |
Description |
|
items |
Type: CartItemWithoutFinalPriceCamelCase[] Example
|
|
total |
Type: CartTotal Example
|
|
cartId |
Type: string Внутренний идентификатор корзины на стороне Яндекс Пэй. Max length: Example: |
|
coupons |
Type: Coupon[] Купоны, применённые к корзине Example
|
|
discounts |
Type: Discount[] Скидки, применённые к корзине Example
|
|
externalId |
Type: string Идентификатор корзины на стороне продавца. Max length: Example: |
|
measurements |
Type: Measurements Example
|
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"features": {
"pointsDisabled": false,
"tariffModifier": "VERY_LOW"
},
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45"
},
"receipt": {
"agent": {},
"excise": "123.45",
"markQuantity": {},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {},
"tax": 1,
"title": "example"
},
"skuId": "example",
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": {
"amount": "123.45",
"externalAmount": "123.45"
}
}
ShippingPrice
|
Name |
Description |
|
amount |
Type: string<double> Не должно содержать больше двух знаков после запятой. Например: 1.12, 5.1, 10, 11.00 . Example: |
|
methodType |
Type: string Enum: |
Example
{
"amount": "123.45",
"methodType": "DIRECT"
}
Responses
200 OK
Body
application/json
{
"code": 200,
"data": {
"operation": {
"amount": "123.45",
"created": "2025-01-01T00:00:00Z",
"externalOperationId": "example",
"operationId": "123e4567-e89b-12d3-a456-426614174000",
"operationType": "AUTHORIZE",
"orderId": "example",
"params": {},
"pointsAmount": "123.45",
"reason": "example",
"status": "PENDING",
"updated": "2025-01-01T00:00:00Z"
}
},
"status": "success"
}
|
Name |
Description |
|
code |
Type: unknown Default: |
|
data |
Type: OperationResponseData Example
|
|
status |
Type: string Default: Const: |
CartItemWithoutFinalPriceCamelCase
|
Name |
Description |
|
productId |
Type: string Id товара в системе продавца. В параметрах запроса каждый идентификатор товара Max length: Example: |
|
quantity |
All of 1 type
Количество товара в заказе Example
|
|
description |
Type: string Описание товара Max length: Example: |
|
discountedUnitPrice |
Type: string<double> Цена за единицу товара с учётом скидок на позицию Example: |
|
features |
All of 1 type
Промо параметры товара Example
|
|
measurements |
All of 1 type
Размеры и вес товара. Обязательно для товара типа Example
|
|
pointsAmount |
Type: string<double> Количество баллов Плюса Поле только для чтения. Переданные значения будут проигнорированы. Example: |
|
receipt |
All of 1 type
Данные для формирования чека. Example
|
|
skuId |
Type: string Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа. Max length: Example: |
|
subtotal |
Type: string<double> Суммарная цена за позицию без учета скидок Example: |
|
title |
Type: string Наименование товара Max length: Example: |
|
total |
Type: string<double> Итоговая цена позиции с учетом примененных скидок. Важно Убедитесь, что цена за единицу товара ( Чтобы избежать ошибок, вынесите товары в отдельные позиции с разными ПримерПравильно:
Цена за единицу Неправильно:
Цена за единицу В таком случае разбейте на две позиции:
Example: |
|
type |
Type: string Тип товара. Важен для интеграции с доставками Default: Enum: |
|
unitPrice |
Type: string<double> Полная цена за единицу товара без учетка скидки Example: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"features": {
"pointsDisabled": false,
"tariffModifier": "VERY_LOW"
},
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
null
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
null
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"skuId": "example",
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
CartTotal
|
Name |
Description |
|
amount |
Type: string<double> Стоимость корзины с учетом всех скидок. Это поле обязательно для формирования чека, если в личном кабинете подключена фискализация через Яндекс Пэй. Example: |
|
externalAmount |
Type: string<double> Сумма внешней оплаты (сертификаты, подарочные карты, баллы лояльности). Может быть не указана, равна 0 или больше 0. Ограничения:
Example: |
|
pointsAmount |
Type: string<double> Количество баллов Плюса Поле только для чтения. Переданные значения будут проигнорированы. Example: |
Example
{
"amount": "123.45",
"externalAmount": "123.45",
"pointsAmount": "123.45"
}
CartWithRequiredTotalWithoutFinalPrice
|
Name |
Description |
|
items |
Type: CartItemWithoutFinalPriceCamelCase[] Example
|
|
total |
Type: CartTotal Example
|
|
cartId |
Type: string Внутренний идентификатор корзины на стороне Яндекс Пэй. Max length: Example: |
|
coupons |
Type: Coupon[] Купоны, применённые к корзине Example
|
|
discounts |
Type: Discount[] Скидки, применённые к корзине Example
|
|
externalId |
Type: string Идентификатор корзины на стороне продавца. Max length: Example: |
|
measurements |
Type: Measurements Example
|
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"features": {
"pointsDisabled": false,
"tariffModifier": "VERY_LOW"
},
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45"
},
"receipt": {
"agent": {},
"excise": "123.45",
"markQuantity": {},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {},
"tax": 1,
"title": "example"
},
"skuId": "example",
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": {
"amount": "123.45",
"externalAmount": "123.45",
"pointsAmount": "123.45"
}
}
Operation
|
Name |
Description |
|
amount |
Type: string<double> Сумма операции в фиатной валюте Example: |
|
operationId |
Type: string<uuid> Max length: Example: |
|
operationType |
Type: string Enum: |
|
orderId |
Type: string Уникальный идентификатор заказа на стороне продавца. Используется:
Max length: Example: |
|
created |
Type: string<date-time> Дата и время создания операции (ISO 8601) Example: |
|
externalOperationId |
Type: string Идентификатор операции на стороне продавца Max length: Example: |
|
params |
Type: object Дополнительные параметры операции. Список полей отличается в зависимости от типа операции. При возврате сохраняются
При отмене сохраняется
Example
|
|
pointsAmount |
Type: string<double> Сумма операции в баллах Плюса Example: |
|
reason |
Type: string Причина ошибки Max length: Example: |
|
status |
Type: string Default: Enum: |
|
updated |
Type: string<date-time> Дата и время обновления операции (ISO 8601) Example: |
Example
{
"amount": "123.45",
"created": "2025-01-01T00:00:00Z",
"externalOperationId": "example",
"operationId": "123e4567-e89b-12d3-a456-426614174000",
"operationType": "AUTHORIZE",
"orderId": "example",
"params": {},
"pointsAmount": "123.45",
"reason": "example",
"status": "PENDING",
"updated": "2025-01-01T00:00:00Z"
}
OperationResponseData
|
Name |
Description |
|
operation |
Type: Operation Example
|
Example
{
"operation": {
"amount": "123.45",
"created": "2025-01-01T00:00:00Z",
"externalOperationId": "example",
"operationId": "123e4567-e89b-12d3-a456-426614174000",
"operationType": "AUTHORIZE",
"orderId": "example",
"params": {},
"pointsAmount": "123.45",
"reason": "example",
"status": "PENDING",
"updated": "2025-01-01T00:00:00Z"
}
}
No longer supported, please use an alternative and newer version.