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