/v1/orders/{order_id}/capture
Запрос на списание средств за заказ.
Списание заблокированных средств. Доступно только для платежей в статусе AUTHORIZED
.
При успешном результате запроса статус платежа изменится на CAPTURED
.
В случае передачи суммы подтверждения меньшей, чем оригинальная, оставшаяся часть платежа будет возвращена. В данном случае нужно передать итоговую корзину предоставляемых товаров и услуг. Итоговая корзина должна формироваться из текущей корзины исключением некоторых позиций, по которым производился возврат.
Request
POST
https://pay.yandex.ru/api/merchant/v1/orders/{order_id}/capture
https://sandbox.pay.yandex.ru/api/merchant/v1/orders/{order_id}/capture
Production
Sandbox
Path parameters
Name |
Type |
Description |
order_id* |
string |
ID заказа на стороне продавца, который был передан в ответе на /order/create. |
Body
{
"cart": {
"cartId": "string",
"coupons": [
{
"description": "string",
"status": "VALID",
"value": "string"
}
],
"discounts": [
{
"amount": "123.45",
"description": "string",
"discountId": "string"
}
],
"externalId": "string",
"items": [
{
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0,
"length": 0,
"weight": 0,
"width": 0
},
"productId": "string",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "string"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "string",
"paymentsOperator": {
"phones": [
"string"
]
},
"phones": [
"string"
],
"transferOperator": {
"address": "string",
"inn": "string",
"name": "string",
"phones": [
"string"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "string",
"supplier": {
"inn": "string",
"name": "string",
"phones": [
"string"
]
},
"tax": 1,
"title": "string"
},
"subtotal": "123.45",
"title": "string",
"total": "123.45",
"type": "PHYSICAL",
"unitPrice": "123.45"
}
],
"measurements": {
"height": 0,
"length": 0,
"weight": 0,
"width": 0
},
"total": {
"amount": "123.45",
"label": "string"
}
},
"externalOperationId": "string",
"orderAmount": "123.45",
"shipping": {
"amount": "123.45",
"methodType": "DIRECT"
}
}
Name |
Type |
Description |
cart |
Итоговая корзина |
|
externalOperationId |
string |
Идентификатор операции |
orderAmount |
string<double> |
Сумма к списанию. Если не указана, будет списана вся заблокированная сумма |
shipping |
Итоговый способ доставки |
CartWithRequiredTotalWithoutFinalPrice
Итоговая корзина
Name |
Type |
Description |
cartId |
string |
Внутренний идентификатор корзины Яндекс Пэй. Бэкенд продавца должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса |
coupons |
Coupon[] |
Купоны, применённые к корзине |
discounts |
Discount[] |
Скидки, применённые к корзине |
externalId |
string |
Переданный продавцом идентификатор корзины |
items |
||
measurements |
Размеры и вес товара. Обязательно для товара типа |
|
total* |
Итоговая стоимость корзины, которая пойдет в оплату |
ShippingPrice
Итоговый способ доставки
Name |
Type |
Description |
amount* |
string<double> |
Не должно содержать больше двух знаков после запятой.
Например: 1.12, 5.1, 10, 11.00 . |
methodType* |
string |
Enum: |
Coupon
Name |
Type |
Description |
description |
string |
Описание. Например, "Скидка 3%" |
status |
string |
Enum: |
value* |
string |
Код купона |
Discount
Name |
Type |
Description |
amount* |
string<double> |
Сумма скидки |
description* |
string |
Текстовое описание |
discountId* |
string |
Идентификатор скидки в системе мерчанта |
CartItemWithoutFinalPriceCamelCase
Name |
Type |
Description |
discountedUnitPrice |
string<double> |
Цена за единицу товара с учётом скидок на позицию |
measurements |
Размеры и вес товара. Обязательно для товара типа |
|
productId* |
string |
Id товара в системе продавца. В параметрах запроса каждый идентификатор товара |
quantity* |
Количество товара в заказе |
|
receipt |
Данные для формирования чека |
|
subtotal |
string<double> |
Суммарная цена за позицию без учета скидок |
title |
string |
Наименование товара |
total |
string<double> |
Суммарная цена за позицию с учётом скидок на позицию |
type |
string |
Тип товара. Важен для интеграции с доставками |
unitPrice |
string<double> |
Полная цена за единицу товара без учетка скидки |
Measurements
Размеры и вес товара. Обязательно для товара типа PHYSICAL
Name |
Type |
Description |
height* |
number<float> |
Высота, в метрах |
length* |
number<float> |
Длина, в метрах |
weight* |
number<float> |
Вес, в килограммах |
width* |
number<float> |
Ширина, в метрах |
CartTotal
Итоговая стоимость корзины, которая пойдет в оплату
Name |
Type |
Description |
amount* |
string<double> |
Стоимость корзины с учетом всех скидок, и без учета доставки |
label |
string |
ItemQuantity
Количество товара в заказе
Name |
Type |
Description |
available |
string<double> |
Максимально доступное количество товара |
count* |
string<double> |
Количество товара в заказе |
label |
string |
Название единиц измерения, например "кг" или "шт" |
ItemReceipt
Данные для формирования чека
Name |
Type |
Description |
agent |
||
excise |
string<double> |
Не должно содержать больше двух знаков после запятой.
Например: 1.12, 5.1, 10, 11.00 . |
markQuantity |
||
measure |
integer |
Описание значений: Ссылка |
paymentMethodType |
integer |
Описание значений: Ссылка |
paymentSubjectType |
integer |
Описание значений: Ссылка |
productCode |
string<base64> |
Код товара (base64 кодированный массив от 1 до 32 байт) |
supplier |
||
tax* |
integer |
Описание значений: Ссылка |
title |
string |
Agent
Name |
Type |
Description |
agentType* |
integer |
Описание значений: Ссылка |
operation |
string |
|
paymentsOperator |
||
phones |
string[] |
|
transferOperator |
MarkQuantity
Name |
Type |
Description |
denominator* |
integer<int32> |
|
numerator* |
integer<int32> |
Supplier
Name |
Type |
Description |
inn |
string |
|
name |
string |
|
phones |
string[] |
PaymentsOperator
Name |
Type |
Description |
phones |
string[] |
TransferOperator
Name |
Type |
Description |
address |
string |
|
inn |
string |
|
name |
string |
|
phones |
string[] |
Responses
200 OK
Body
{
"code": 200,
"data": {
"operation": {
"amount": "123.45",
"created": "2022-12-29T18:02:01Z",
"externalOperationId": "string",
"operationId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
"operationType": "AUTHORIZE",
"orderId": "string",
"params": {},
"reason": "string",
"status": "PENDING",
"updated": "2022-12-29T18:02:01Z"
}
},
"status": "success"
}
Name |
Type |
Description |
code |
number |
Default: |
data |
||
status |
string |
Enum: |
OperationResponseData
Name |
Type |
Description |
operation |
Operation
Name |
Type |
Description |
amount* |
string<double> |
Сумма операции |
created |
string<date-time> |
Дата и время создания операции (ISO 8601) |
externalOperationId |
string |
Идентификатор операции на стороне продавца |
operationId* |
string<uuid> |
|
operationType* |
string |
Enum: |
orderId* |
string |
|
params |
object |
|
reason |
string |
Причина ошибки |
status |
string |
Enum: |
updated |
string<date-time> |
Дата и время обновления операции (ISO 8601) |