/v1/subscriptions/recur
Запрос для очередного списания по подписке.
Запрос используется для безакцептного списания денежных средств с привязанного к подписке счета или карты. Для списания нужно передать номер заказа, корзину, сумму списания, и номер стартового заказа, который был использован при создании подписки.
Request
POST
https://pay.yandex.ru/api/merchant/v1/subscriptions/recur
Production
POST
https://sandbox.pay.yandex.ru/api/merchant/v1/subscriptions/recur
Sandbox
Body
application/json
{
"amount": "123.45",
"cart": {
"externalId": "string",
"items": [
{
"description": "string",
"discountedUnitPrice": "123.45",
"features": {
"pointsDisabled": false
},
"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",
"unitPrice": "123.45"
}
],
"total": {
"amount": "123.45",
"pointsAmount": "123.45"
}
},
"currencyCode": "RUB",
"metadata": "string",
"orderId": "string",
"parentOrderId": "string",
"purpose": "string"
}
Name |
Description |
amount* |
Type: string<double> Сумма списания Example: |
cart* |
Type: RenderedCart Корзина |
currencyCode* |
Type: string Трехбуквенный код валюты заказа (ISO 4217) Max length: Enum: |
orderId* |
Type: string Идентификатор заказа на стороне продавца (должен быть уникальным) Max length: |
parentOrderId* |
Type: string Идентификатор стартового заказа Max length: |
metadata |
Type: string Произвольные данные по заказу для внутреннего использования Max length: |
purpose |
Type: string Назначение платежа Max length: |
RenderedCart
Name |
Description |
items* |
Type: RenderedCartItem[] Корзина товаров, которую оплачивает покупатель. |
total* |
Type: CartTotal Итоговая информация о стоимости заказа. |
externalId |
Type: string Переданный продавцом идентификатор корзины Max length: |
RenderedCartItem
Name |
Description |
productId* |
Type: string Id товара в системе продавца. В параметрах запроса каждый идентификатор товара Max length: |
quantity* |
Type: ItemQuantity Количество товара в заказе |
title* |
Type: string Наименование товара Max length: |
total* |
Type: string<double> Суммарная цена за позицию с учётом скидок на позицию Example: |
description |
Type: string Описание товара Max length: |
discountedUnitPrice |
Type: string<double> Цена за единицу товара с учётом скидок на позицию Example: |
features |
Type: CartItemFeatures Промо параметры товара |
pointsAmount |
Type: string<double> Количество баллов Плюса Поле только для чтения. Переданные значения будут проигнорированы. Example: |
receipt |
Type: ItemReceipt Данные для формирования чека |
subtotal |
Type: string<double> Суммарная цена за позицию без учета скидок Example: |
unitPrice |
Type: string<double> Полная цена за единицу товара без учетка скидки Example: |
CartTotal
Name |
Description |
amount* |
Type: string<double> Стоимость корзины с учетом всех скидок. Example: |
pointsAmount |
Type: string<double> Количество баллов Плюса Поле только для чтения. Переданные значения будут проигнорированы. Example: |
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": {
"operationId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b"
},
"status": "success"
}
Name |
Description |
code |
Type: number Default: |
data |
|
status |
Type: string Default: Enum: |
RecurSubscriptionResponseData
Name |
Description |
operationId* |
Type: string<uuid> Max length: |
No longer supported, please use an alternative and newer version.