Yandex Pay API
version: 1.0.0
Transmit the following HTTP headers in your requests:
- X-Request-Id:
- X-Request-Timeout:
- X-Request-Attempt: <Attempt number (0 — the first attempt, 1, 2 etc. are repeat attempts)>
X-Request-Id
is needed to debug requests and to ensure idempotency of write requests.
That's why the same value of X-Request-Id
must be maintained in all the repeat requests when receiving
errors with HTTP codes 5xx or 429 in response.
X-Request-Timeout
is needed for deadline propagation
while processing a request in the system.
Avoid timeout values that are less than one second. Recommended timeout values are 10-20 seconds.
X-Request-Attempt
is useful for general diagnostics.
Authenticating the merchant's request
To use the API, you need to obtain an authentication API key.
Pass the token in each request in the HTTP Authorization
header.
The keys can be managed from the [Yandex Pay](https://console.pay.yandex.ru/settings console).
In the sandbox environment, the API key is equal to the merchant_id
value.
--header 'Authorization: Api-Key <key value>'
If the token passed in the request is invalid or missing,
the server returns the 401 Unauthorized
HTTP status.
Sections
Specification
Open API
{
"components": {
"schemas": {
"Agent": {
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
},
"BillingReport": {
"properties": {
"branchId": {
"default": null,
"description": "The field is required for offline stores only. ID of the point of sale",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "The field is required for offline stores only. Manager ID",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"CancelOrderRequest": {
"properties": {
"externalOperationId": {
"description": "Operation ID",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "Cancellation reason",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
},
"CaptureRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Final cart"
},
"externalOperationId": {
"description": "Operation ID",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Amount to be debited. If not specified, the total amount of the passed cart items will be debited",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
],
"description": "Final delivery method."
}
},
"type": "object"
},
"Cart": {
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart item",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"finalPrice": {
"description": "Price per product unit with all discounts per item and on the cart",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Total cart cost that the customer is to pay"
}
},
"required": [
"items"
],
"type": "object"
},
"CartItem": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"finalPrice": {
"description": "Price per product unit with all discounts per item and on the cart",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"CartItemWithoutFinalPriceCamelCase": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"CartTotal": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
},
"CartWithRequiredTotalWithoutFinalPrice": {
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
},
"CheckSubscriptionUserCardActivated": {
"properties": {
"check_card_active": {
"description": "Allows checking if the card is linked",
"type": "boolean"
}
},
"type": "object"
},
"Coupon": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"CourierOption": {
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "ID of the selected delivery method in the merchant system",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Date and interval selected by the user. Only for `type: FLEXIBLE`"
},
"fromDate": {
"description": "Closest delivery date for `type: PLAIN`. Start of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Start of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Delivery service type.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.\nExample: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` is treated as a set of intervals: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "For the `GRID` type, fill in the `grid` field. If the `VALUES` type is specified, set the `values` field.",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20",
"items": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Codes the intervals of the delivery time available for selection. Only for `type: FLEXIBLE`"
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Latest delivery date for `type: PLAIN`. End of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "End of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Option type.\nFor `FLEXIBLE` delivery options, the user can select the desirable date and interval:\n- The delivery date is selected by the user in the interval `[fromDate, toDate]`\n- To give the user an option to select an interval within a day, fill out `timeIntervals`\nNo such choice is provided for `PLAIN` options.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
},
"CreateOrderRequest": {
"properties": {
"availablePaymentMethods": {
"default": null,
"description": "Payment methods available in the Yandex Pay payment form.\n\nIf you are integrating payments only with one method (for example, Card), specify a single method (`[\"CARD\"]`). To enable payments by bank cards and using Yandex Split, pass: `[\"CARD\", \"SPLIT\"]`.",
"items": {
"enum": [
"CARD",
"SPLIT"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"billingPhone": {
"description": "Customer phone number.\n\nUsed for simplified authorization and may make Split approval more likely.\n\nRecommended phone number format: `+71234567890` or `71234567890`. The string may contain other characters. However, any characters, except numbers, are ignored. If a phone number starts with `8`, it is handled as a similar number where `8` is replaced with `+7`.\n\nFor example, passed values such as `71234567890`, `+71234567890`, `81234567890`, and `+7 (123) 456-78-90` will be handled as `71234567890`.",
"maxLength": 2048,
"type": "string"
},
"cart": {
"allOf": [
{
"properties": {
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart items that the customer pays for.",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Final order cost."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Cart"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"extensions": {
"allOf": [
{
"properties": {
"billingReport": {
"allOf": [
{
"properties": {
"branchId": {
"default": null,
"description": "The field is required for offline stores only. ID of the point of sale",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "The field is required for offline stores only. Manager ID",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Information about where the order was placed and who placed it."
},
"qrData": {
"allOf": [
{
"properties": {
"token": {
"description": "QR token",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
}
],
"description": "Additional parameters for sending a link for payment via QR code"
},
"smsOffer": {
"allOf": [
{
"properties": {
"phone": {
"description": "Customer phone number (e.g., `+71234567890`) for SMS notification. For offline store merchantId only.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
}
],
"description": "Additional parameters for sending a link for payment via SMS.\n\nThe field is required for offline stores only."
}
},
"type": "object"
}
],
"default": null,
"description": "Additional parameters for placing an offline order"
},
"isPrepayment": {
"description": "Whether to transfer an order based on the \"deferred payment\" flow.\n\nIf the parameter value is set to `true`, the order is placed as that with deferred payment. For details, see \"Payment methods and payment mechanisms\".",
"type": "boolean"
},
"metadata": {
"description": "Arbitrary order data for internal use",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Order ID on the merchant side (it should be unique). Further interaction on the payment request will be carried out using this ID. The ID will also be used at reconciliation",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Indicates where order creation was initialized\n\nUsed for subsequent analysis\n\n---\n\n**WEBSITE**: The button is placed on the website. A payment link is generated after certain user actions (clicking the button) on the website\n\n**APP**: The button is placed in the mobile app. A payment link is generated after certain user actions (tapping the button) in the app\n\n**CRM**: A payment link is generated by a manager in the CRM system or another admin panel\n\n**CASH_REGISTER**: A payment link is generated to be displayed in the offline cash register.",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER"
],
"type": "string"
},
"preferredPaymentMethod": {
"description": "Preferred payment method.\n\nThe passed method will be selected automatically in the payment form provided that it is on the list of allowed payment methods. Card by default.",
"enum": [
"FULLPAYMENT",
"SPLIT"
],
"type": "string"
},
"publicConstructor": {
"description": "Constructor of the preselected Split payment plan.\n\n_Available only upon approval_",
"enum": [
"2",
"4",
"6",
null
],
"type": "string"
},
"purpose": {
"description": "Purpose of payment",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"properties": {
"onAbort": {
"description": "Link to redirect the user on payment cancellation. Payment can be canceled by the user in the payment form.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "The field is required for online stores only. A link to redirect the user in case of a payment error or TTL expiry for a payment link",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "The field is required for online stores only. Link to redirect the user on payment success.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Links for redirecting the user from the payment form. Required for online stores"
},
"risk": {
"allOf": [
{
"properties": {
"billingPhone": {
"description": "**DEPRECATED** Customer phone number.<br/>*Use the same-name field one level up instead.*",
"maxLength": 2048,
"type": "string"
},
"deviceId": {
"description": "Customer device ID (device_id/gaid/idfa/ifv)",
"maxLength": 2048,
"type": "string"
},
"shippingAddress": {
"description": "Delivery address",
"maxLength": 2048,
"type": "string"
},
"shippingPhone": {
"description": "Recipient phone number (e.g., +71234567890)",
"maxLength": 2048,
"type": "string"
},
"shippingType": {
"description": "Order delivery method",
"enum": [
"COURIER",
"PICKUP",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Additional info specifying which may make Split approval more likely. Fully available for online stores only."
},
"ttl": {
"default": 1800,
"description": "The parameter sets the time that the user is given to follow the link to the order payment form.\n\nWhen expired, the user will see a message saying \"Payment time expired\".\n\nIf the user follows the link before the expiry, they will be given another 15 minutes to make a payment. If no payment is made during the additional time, the order is finally considered unpaid.\n\nThis is indicated in the `Order.paymentStatus` value that changes to `FAILED`. In addition, a [notification](../custom/backend/merchant-api/webhook) about the order payment status change is sent. If the merchant booked the product, the order can be canceled after the status changes.\n\nTime-to-live (seconds): `180 <= ttl <= 604800`\n\nTime-to-live (when generating a link in the personal account, seconds): `86400`",
"format": "int32",
"type": "integer"
},
"uniqrMetadata": {
"allOf": [
{
"properties": {
"uniQrId": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"uniQrId"
],
"type": "object"
}
],
"description": "Additional uniqr data"
}
},
"required": [
"cart",
"currencyCode",
"orderId"
],
"type": "object"
},
"CreateOrderResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
},
"CreateOrderResponseData": {
"properties": {
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl"
],
"type": "object"
},
"CreateSubscriptionRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart items that the customer pays for.",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Final order cost."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Cart"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"futureWriteOffAmount": {
"description": "Amount to be debited in the future",
"example": "123.45",
"format": "double",
"type": "string"
},
"intervalCount": {
"description": "The number of subscription periods, such as \"debit every 6 months\"\n\nRequired if `isBinding=True` is not specified",
"format": "int32",
"type": "integer"
},
"intervalUnit": {
"description": "Subscription frequency time unit\n\nRequired if `isBinding=True` is not specified",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"isBinding": {
"default": false,
"description": "Allows linking the user's card with no items added to the cart\n\nIf the first time a payment is debited only requires the card binding, pass isBinding=true in your request.\n\nNo cart items and subscription frequency need to be passed in this scenario.",
"type": "boolean"
},
"metadata": {
"description": "Arbitrary order data for internal use",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Order ID on the merchant side (it should be unique). Further interaction on the payment request will be carried out using this ID. The ID will also be used at reconciliation",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Indicates where order creation was initialized\n\nUsed for subsequent analysis\n\n---\n\n**WEBSITE**: The button is placed on the website. A payment link is generated after certain user actions (clicking the button) on the website\n\n**APP**: The button is placed in the mobile app. A payment link is generated after certain user actions (tapping the button) in the app\n\n**CRM**: A payment link is generated by a manager in the CRM system or another admin panel\n\n**CASH_REGISTER**: A payment link is generated to be displayed in the offline cash register.",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER"
],
"type": "string"
},
"purpose": {
"description": "Purpose of payment",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"properties": {
"onAbort": {
"description": "Link to redirect the user on payment cancellation. Payment can be canceled by the user in the payment form.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "The field is required for online stores only. A link to redirect the user in case of a payment error or TTL expiry for a payment link",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "The field is required for online stores only. Link to redirect the user on payment success.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Links for redirecting the user from the payment form. Required for online stores"
},
"title": {
"description": "Subscription name",
"maxLength": 30,
"type": "string"
},
"trialCount": {
"description": "The number of periods in a trial period, such as \"7 days\"",
"format": "int32",
"type": "integer"
},
"trialEndAt": {
"description": "Trial period end date. Mutually exclusive with the `trial_unit` + `trial_count` fields",
"format": "date-time",
"type": "string"
},
"trialUnit": {
"description": "Time unit of the trial period frequency",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"ttl": {
"default": 1800,
"description": "Order time-to-live (seconds)\n\n`180 <= ttl <= 604800`",
"format": "int32",
"type": "integer"
}
},
"required": [
"currencyCode",
"orderId"
],
"type": "object"
},
"CreateSubscriptionResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
},
"subscriptionId": {
"description": "Subscription ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl",
"subscriptionId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
},
"CreateSubscriptionResponseData": {
"properties": {
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
},
"subscriptionId": {
"description": "Subscription ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl",
"subscriptionId"
],
"type": "object"
},
"CustomerSubscriptionResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"cancelledAt": {
"description": "Subscription cancellation time",
"format": "date-time",
"type": "string"
},
"customerSubscriptionId": {
"description": "Subscription ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"isCardActive": {
"description": "Linked card's status",
"type": "boolean"
},
"nextWriteOff": {
"description": "Date of next debit",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Subscription type",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "Subscription plan ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"status",
"subscriptionPlanId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"CustomerSubscriptionResponseData": {
"properties": {
"cancelledAt": {
"description": "Subscription cancellation time",
"format": "date-time",
"type": "string"
},
"customerSubscriptionId": {
"description": "Subscription ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"isCardActive": {
"description": "Linked card's status",
"type": "boolean"
},
"nextWriteOff": {
"description": "Date of next debit",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Subscription type",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "Subscription plan ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"status",
"subscriptionPlanId"
],
"type": "object"
},
"Delivery": {
"properties": {
"actualPrice": {
"description": "Delivery cost for the merchant",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the delivery was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Delivery cost for the customer",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Delivery status",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Date and time when the delivery was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"Discount": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"FlexibleCustomerChoice": {
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
},
"FlexibleTimeIntervals": {
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.\nExample: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` is treated as a set of intervals: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "For the `GRID` type, fill in the `grid` field. If the `VALUES` type is specified, set the `values` field.",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20",
"items": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
},
"FlexibleTimeIntervalsGridDescriptor": {
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
},
"ItemQuantity": {
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
},
"ItemReceipt": {
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
},
"Location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"MarkQuantity": {
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
},
"Measurements": {
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
},
"MerchantOperationResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"MerchantOrderResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"delivery": {
"properties": {
"actualPrice": {
"description": "Delivery cost for the merchant",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the delivery was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Delivery cost for the customer",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Delivery status",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Date and time when the delivery was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"operations": {
"items": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Code of transaction confirmation received from the processing center.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"type": "array"
},
"order": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart item",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"finalPrice": {
"description": "Price per product unit with all discounts per item and on the cart",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Total cart cost that the customer is to pay"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Cart"
},
"created": {
"description": "Date and time when the order was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Flag indicating if the \"deferred payment\" flow is used for the order",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Arbitrary data transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total cost of the order to be paid, including refunds, delivery costs, discounts, and promo codes",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "ID assigned to the existing order on the merchant side and transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"allOf": [
{
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Payment system",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected payment method"
},
"paymentStatus": {
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Payment for the order has been authorized. Funds locked on the payer account",
"CAPTURED": "The order has been paid for successfully. Funds debited from the payer account",
"CONFIRMED": "Order placed successfully",
"FAILED": "Order payment failed",
"PARTIALLY_REFUNDED": "Funds were partially refunded for the order",
"PENDING": "Pending payment",
"REFUNDED": "Funds were refunded for the order",
"VOIDED": "The payment has been canceled (voided). No funds were debited"
}
},
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "reason (applicable to the VOIDED/FAILED statuses)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "ID of the selected delivery method in the merchant system",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Date and interval selected by the user. Only for `type: FLEXIBLE`"
},
"fromDate": {
"description": "Closest delivery date for `type: PLAIN`. Start of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Start of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Delivery service type.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.\nExample: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` is treated as a set of intervals: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "For the `GRID` type, fill in the `grid` field. If the `VALUES` type is specified, set the `values` field.",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20",
"items": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Codes the intervals of the delivery time available for selection. Only for `type: FLEXIBLE`"
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Latest delivery date for `type: PLAIN`. End of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "End of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Option type.\nFor `FLEXIBLE` delivery options, the user can select the desirable date and interval:\n- The delivery date is selected by the user in the interval `[fromDate, toDate]`\n- To give the user an option to select an interval within a day, fill out `timeIntervals`\nNo such choice is provided for `PLAIN` options.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "if methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Address in string format",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Cost of delivery to the location",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Additional description",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Closest possible delivery date",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Contact phone numbers",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Unique pickup point ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Pickup point's type.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "Pickup point's schedule",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "For example, \"Mon-Fri\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Optional. Storage period at the pickup point, in days.",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Pickup point's name",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Latest delivery date",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "if methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "ID of the Yandex Delivery offer",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "if methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected delivery method."
},
"updated": {
"description": "Date and time when the order was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"MerchantRedirectUrls": {
"properties": {
"onAbort": {
"description": "Link to redirect the user on payment cancellation. Payment can be canceled by the user in the payment form.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "The field is required for online stores only. A link to redirect the user in case of a payment error or TTL expiry for a payment link",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "The field is required for online stores only. Link to redirect the user on payment success.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
},
"MerchantRiskInfo": {
"properties": {
"billingPhone": {
"description": "**DEPRECATED** Customer phone number.<br/>*Use the same-name field one level up instead.*",
"maxLength": 2048,
"type": "string"
},
"deviceId": {
"description": "Customer device ID (device_id/gaid/idfa/ifv)",
"maxLength": 2048,
"type": "string"
},
"shippingAddress": {
"description": "Delivery address",
"maxLength": 2048,
"type": "string"
},
"shippingPhone": {
"description": "Recipient phone number (e.g., +71234567890)",
"maxLength": 2048,
"type": "string"
},
"shippingType": {
"description": "Order delivery method",
"enum": [
"COURIER",
"PICKUP",
null
],
"type": "string"
}
},
"type": "object"
},
"Operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"OperationResponseData": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"Order": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart item",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"finalPrice": {
"description": "Price per product unit with all discounts per item and on the cart",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Total cart cost that the customer is to pay"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Cart"
},
"created": {
"description": "Date and time when the order was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Flag indicating if the \"deferred payment\" flow is used for the order",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Arbitrary data transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total cost of the order to be paid, including refunds, delivery costs, discounts, and promo codes",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "ID assigned to the existing order on the merchant side and transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"allOf": [
{
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Payment system",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected payment method"
},
"paymentStatus": {
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Payment for the order has been authorized. Funds locked on the payer account",
"CAPTURED": "The order has been paid for successfully. Funds debited from the payer account",
"CONFIRMED": "Order placed successfully",
"FAILED": "Order payment failed",
"PARTIALLY_REFUNDED": "Funds were partially refunded for the order",
"PENDING": "Pending payment",
"REFUNDED": "Funds were refunded for the order",
"VOIDED": "The payment has been canceled (voided). No funds were debited"
}
},
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "reason (applicable to the VOIDED/FAILED statuses)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "ID of the selected delivery method in the merchant system",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Date and interval selected by the user. Only for `type: FLEXIBLE`"
},
"fromDate": {
"description": "Closest delivery date for `type: PLAIN`. Start of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Start of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Delivery service type.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.\nExample: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` is treated as a set of intervals: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "For the `GRID` type, fill in the `grid` field. If the `VALUES` type is specified, set the `values` field.",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20",
"items": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Codes the intervals of the delivery time available for selection. Only for `type: FLEXIBLE`"
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Latest delivery date for `type: PLAIN`. End of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "End of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Option type.\nFor `FLEXIBLE` delivery options, the user can select the desirable date and interval:\n- The delivery date is selected by the user in the interval `[fromDate, toDate]`\n- To give the user an option to select an interval within a day, fill out `timeIntervals`\nNo such choice is provided for `PLAIN` options.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "if methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Address in string format",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Cost of delivery to the location",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Additional description",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Closest possible delivery date",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Contact phone numbers",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Unique pickup point ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Pickup point's type.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "Pickup point's schedule",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "For example, \"Mon-Fri\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Optional. Storage period at the pickup point, in days.",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Pickup point's name",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Latest delivery date",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "if methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "ID of the Yandex Delivery offer",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "if methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected delivery method."
},
"updated": {
"description": "Date and time when the order was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
},
"OrderExtensions": {
"properties": {
"billingReport": {
"allOf": [
{
"properties": {
"branchId": {
"default": null,
"description": "The field is required for offline stores only. ID of the point of sale",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "The field is required for offline stores only. Manager ID",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Information about where the order was placed and who placed it."
},
"qrData": {
"allOf": [
{
"properties": {
"token": {
"description": "QR token",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
}
],
"description": "Additional parameters for sending a link for payment via QR code"
},
"smsOffer": {
"allOf": [
{
"properties": {
"phone": {
"description": "Customer phone number (e.g., `+71234567890`) for SMS notification. For offline store merchantId only.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
}
],
"description": "Additional parameters for sending a link for payment via SMS.\n\nThe field is required for offline stores only."
}
},
"type": "object"
},
"OrderResponseData": {
"properties": {
"delivery": {
"properties": {
"actualPrice": {
"description": "Delivery cost for the merchant",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the delivery was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Delivery cost for the customer",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Delivery status",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Date and time when the delivery was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"operations": {
"items": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Code of transaction confirmation received from the processing center.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"type": "array"
},
"order": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart item",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"finalPrice": {
"description": "Price per product unit with all discounts per item and on the cart",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Total cart cost that the customer is to pay"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Cart"
},
"created": {
"description": "Date and time when the order was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Flag indicating if the \"deferred payment\" flow is used for the order",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Arbitrary data transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total cost of the order to be paid, including refunds, delivery costs, discounts, and promo codes",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "ID assigned to the existing order on the merchant side and transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"allOf": [
{
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Payment system",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected payment method"
},
"paymentStatus": {
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Payment for the order has been authorized. Funds locked on the payer account",
"CAPTURED": "The order has been paid for successfully. Funds debited from the payer account",
"CONFIRMED": "Order placed successfully",
"FAILED": "Order payment failed",
"PARTIALLY_REFUNDED": "Funds were partially refunded for the order",
"PENDING": "Pending payment",
"REFUNDED": "Funds were refunded for the order",
"VOIDED": "The payment has been canceled (voided). No funds were debited"
}
},
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "reason (applicable to the VOIDED/FAILED statuses)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "ID of the selected delivery method in the merchant system",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Date and interval selected by the user. Only for `type: FLEXIBLE`"
},
"fromDate": {
"description": "Closest delivery date for `type: PLAIN`. Start of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Start of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Delivery service type.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.\nExample: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` is treated as a set of intervals: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "For the `GRID` type, fill in the `grid` field. If the `VALUES` type is specified, set the `values` field.",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20",
"items": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Codes the intervals of the delivery time available for selection. Only for `type: FLEXIBLE`"
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Latest delivery date for `type: PLAIN`. End of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "End of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Option type.\nFor `FLEXIBLE` delivery options, the user can select the desirable date and interval:\n- The delivery date is selected by the user in the interval `[fromDate, toDate]`\n- To give the user an option to select an interval within a day, fill out `timeIntervals`\nNo such choice is provided for `PLAIN` options.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "if methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Address in string format",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Cost of delivery to the location",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Additional description",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Closest possible delivery date",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Contact phone numbers",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Unique pickup point ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Pickup point's type.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "Pickup point's schedule",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "For example, \"Mon-Fri\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Optional. Storage period at the pickup point, in days.",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Pickup point's name",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Latest delivery date",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "if methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "ID of the Yandex Delivery offer",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "if methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected delivery method."
},
"updated": {
"description": "Date and time when the order was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
}
},
"type": "object"
},
"OrderResponseOperation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Code of transaction confirmation received from the processing center.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"PaymentMethod": {
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Payment system",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
},
"PaymentsOperator": {
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"PickupOption": {
"properties": {
"address": {
"description": "Address in string format",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Cost of delivery to the location",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Additional description",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Closest possible delivery date",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Contact phone numbers",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Unique pickup point ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Pickup point's type.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "Pickup point's schedule",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "For example, \"Mon-Fri\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Optional. Storage period at the pickup point, in days.",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Pickup point's name",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Latest delivery date",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
},
"PickupSchedule": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "For example, \"Mon-Fri\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"QRData": {
"properties": {
"token": {
"description": "QR token",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
},
"RecurSubscriptionRequest": {
"properties": {
"amount": {
"description": "Amount to be debited",
"example": "123.45",
"format": "double",
"type": "string"
},
"cart": {
"allOf": [
{
"properties": {
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart items that the customer pays for.",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Final order cost."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Cart"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Arbitrary order data for internal use",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "The order ID on the merchant side (it should be unique).",
"maxLength": 2048,
"type": "string"
},
"parentOrderId": {
"description": "ID of the initial order",
"maxLength": 2048,
"type": "string"
},
"purpose": {
"description": "Purpose of payment",
"maxLength": 1000,
"type": "string"
}
},
"required": [
"amount",
"cart",
"currencyCode",
"orderId",
"parentOrderId"
],
"type": "object"
},
"RecurSubscriptionResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"operationId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"RecurSubscriptionResponseData": {
"properties": {
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"operationId"
],
"type": "object"
},
"RefundRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Final cart"
},
"externalOperationId": {
"description": "Operation ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total amount of the order. It's equal to `cart.total.amount` + `shipping.amount`",
"example": "123.45",
"format": "double",
"type": "string"
},
"refundAmount": {
"description": "Amount to be refunded.",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"properties": {
"amount": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
},
"required": [
"orderAmount",
"refundAmount"
],
"type": "object"
},
"RefundV2Request": {
"properties": {
"branchId": {
"description": "ID of the point of sale",
"maxLength": 2048,
"type": "string"
},
"externalOperationId": {
"description": "Refund operation ID in the merchant system. The ID must be unique.\n\nPass this parameter to be able to track the refund operation status via the [operations/{external_operation_id}](../operation/merchant_v1_operations-get) method.\n\nIf the operation is not completed (is either in progress or stopped), calling the method again with the same arguments and the same `externalOperationId` ID will be idempotent: the response will return the same operation. Or else, an error is returned.\n\nIf the refund process is launched successfully, calling the refund method with the same `externalOperationId` again will return an error with the \"reasonCode\": \"DUPLICATE_EXTERNAL_OPERATION_ID\" ",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"description": "Manager ID",
"maxLength": 2048,
"type": "string"
},
"motive": {
"description": "Refund reason",
"maxLength": 2048,
"type": "string"
},
"refundAmount": {
"description": "Amount to be refunded.",
"example": "123.45",
"format": "double",
"type": "string"
},
"targetCart": {
"allOf": [
{
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Price per product/service unit after the operation is completed.\nSpecify if the unit price gets lower as a result of the operation.\nThis may be helpful if part of the money paid for the product needs to be refunded or when confirming the order.\nIf the field is not specified in the request, the price is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Cart item ID as of order creation.\nIf you pass an ID that was not present in the initial cart, an error occurs.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "The number of product/service units the user gets after the operation is completed.\nIf the field is not specified in the request, the number is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "Describes the final cart status after the refund.\n If the field is not specified, it's considered that the cart is refunded in full."
},
"targetShipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cost of delivery after the operation is completed",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
}
],
"description": "Applicable to Yandex Pay Checkout only. In other cases, leave the field blank.\n\nDescribes the final delivery status after the refund.\nIf the field is not specified or is `null`, it's considered that the delivery cost is refunded in full."
}
},
"required": [
"refundAmount"
],
"type": "object"
},
"RenderedCart": {
"properties": {
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart items that the customer pays for.",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Final order cost."
}
},
"required": [
"items",
"total"
],
"type": "object"
},
"RenderedCartItem": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"SMSOffer": {
"properties": {
"phone": {
"description": "Customer phone number (e.g., `+71234567890`) for SMS notification. For offline store merchantId only.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
},
"ShippingMethod": {
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "ID of the selected delivery method in the merchant system",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Date and interval selected by the user. Only for `type: FLEXIBLE`"
},
"fromDate": {
"description": "Closest delivery date for `type: PLAIN`. Start of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Start of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Delivery service type.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.\nExample: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` is treated as a set of intervals: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "For the `GRID` type, fill in the `grid` field. If the `VALUES` type is specified, set the `values` field.",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20",
"items": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Codes the intervals of the delivery time available for selection. Only for `type: FLEXIBLE`"
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Latest delivery date for `type: PLAIN`. End of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "End of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Option type.\nFor `FLEXIBLE` delivery options, the user can select the desirable date and interval:\n- The delivery date is selected by the user in the interval `[fromDate, toDate]`\n- To give the user an option to select an interval within a day, fill out `timeIntervals`\nNo such choice is provided for `PLAIN` options.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "if methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Address in string format",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Cost of delivery to the location",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Additional description",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Closest possible delivery date",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Contact phone numbers",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Unique pickup point ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Pickup point's type.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "Pickup point's schedule",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "For example, \"Mon-Fri\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Optional. Storage period at the pickup point, in days.",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Pickup point's name",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Latest delivery date",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "if methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "ID of the Yandex Delivery offer",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "if methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
},
"ShippingPrice": {
"properties": {
"amount": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
},
"SubmitRequest": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Final cart"
},
"externalOperationId": {
"description": "Operation ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total amount of the order. It's equal to `cart.total.amount`. The field is required if `cart` is passed",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"externalOperationId"
],
"type": "object"
},
"SuccessResponse": {
"properties": {
"code": {
"default": 200
},
"data": {
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
},
"Supplier": {
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"TargetCart": {
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Price per product/service unit after the operation is completed.\nSpecify if the unit price gets lower as a result of the operation.\nThis may be helpful if part of the money paid for the product needs to be refunded or when confirming the order.\nIf the field is not specified in the request, the price is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Cart item ID as of order creation.\nIf you pass an ID that was not present in the initial cart, an error occurs.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "The number of product/service units the user gets after the operation is completed.\nIf the field is not specified in the request, the number is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"TargetCartItem": {
"properties": {
"price": {
"description": "Price per product/service unit after the operation is completed.\nSpecify if the unit price gets lower as a result of the operation.\nThis may be helpful if part of the money paid for the product needs to be refunded or when confirming the order.\nIf the field is not specified in the request, the price is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Cart item ID as of order creation.\nIf you pass an ID that was not present in the initial cart, an error occurs.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "The number of product/service units the user gets after the operation is completed.\nIf the field is not specified in the request, the number is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"TargetShipping": {
"properties": {
"amount": {
"description": "Cost of delivery after the operation is completed",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
},
"TimeInterval": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"TransferOperator": {
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"UniqrMetadata": {
"properties": {
"uniQrId": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"uniQrId"
],
"type": "object"
},
"YandexDeliveryOption": {
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "ID of the Yandex Delivery offer",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
},
"securitySchemes": {
"ApiKey": {
"in": "header",
"name": "Authorization",
"type": "apiKey"
}
}
},
"info": {
"description": "\nTransmit the following HTTP headers in your requests:\n\n- X-Request-Id: <Unique request ID>\n- X-Request-Timeout: <Request timeout in milliseconds>\n- X-Request-Attempt: <Attempt number (0 — the first attempt, 1, 2 etc. are repeat attempts)>\n\n`X-Request-Id` is needed to debug requests and to ensure idempotency of write requests.\nThat's why the same value of `X-Request-Id` must be maintained in all the repeat requests when receiving\nerrors with HTTP codes 5xx or 429 in response.\n\n`X-Request-Timeout` is needed for [deadline propagation](https://sre.google/sre-book/addressing-cascading-failures/#deadline-propagation-1)\nwhile processing a request in the system.\nAvoid timeout values that are less than one second. Recommended timeout values are 10-20 seconds.\n\n`X-Request-Attempt` is useful for general diagnostics.\n\n### Authenticating the merchant's request {#auth}\n\nTo use the API, you need to obtain an authentication API key.\nPass the token in each request in the HTTP `Authorization` header.\nThe keys can be managed from the [Yandex Pay](https://console.pay.yandex.ru/settings console).\nIn the sandbox environment, the API key is equal to the `merchant_id` value.\n\n```text\n--header 'Authorization: Api-Key <key value>'\n```\n\nIf the token passed in the request is invalid or missing,\nthe server returns the `401 Unauthorized` HTTP status.",
"title": "Yandex Pay API",
"version": "1.0.0"
},
"openapi": "3.0.3",
"paths": {
"/api/merchant/v1/orders": {
"post": {
"description": "Request to create a link for order payment.\n\nThe request is used to create and obtain a link to pay for the order.",
"operationId": "merchant_v1_orders-post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"availablePaymentMethods": {
"default": null,
"description": "Payment methods available in the Yandex Pay payment form.\n\nIf you are integrating payments only with one method (for example, Card), specify a single method (`[\"CARD\"]`). To enable payments by bank cards and using Yandex Split, pass: `[\"CARD\", \"SPLIT\"]`.",
"items": {
"enum": [
"CARD",
"SPLIT"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"billingPhone": {
"description": "Customer phone number.\n\nUsed for simplified authorization and may make Split approval more likely.\n\nRecommended phone number format: `+71234567890` or `71234567890`. The string may contain other characters. However, any characters, except numbers, are ignored. If a phone number starts with `8`, it is handled as a similar number where `8` is replaced with `+7`.\n\nFor example, passed values such as `71234567890`, `+71234567890`, `81234567890`, and `+7 (123) 456-78-90` will be handled as `71234567890`.",
"maxLength": 2048,
"type": "string"
},
"cart": {
"allOf": [
{
"properties": {
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart items that the customer pays for.",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Final order cost."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Cart"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"extensions": {
"allOf": [
{
"properties": {
"billingReport": {
"allOf": [
{
"properties": {
"branchId": {
"default": null,
"description": "The field is required for offline stores only. ID of the point of sale",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"default": null,
"description": "The field is required for offline stores only. Manager ID",
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
],
"description": "Information about where the order was placed and who placed it."
},
"qrData": {
"allOf": [
{
"properties": {
"token": {
"description": "QR token",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
}
],
"description": "Additional parameters for sending a link for payment via QR code"
},
"smsOffer": {
"allOf": [
{
"properties": {
"phone": {
"description": "Customer phone number (e.g., `+71234567890`) for SMS notification. For offline store merchantId only.",
"maxLength": 2048,
"pattern": "^\\+\\d+$",
"type": "string"
}
},
"required": [
"phone"
],
"type": "object"
}
],
"description": "Additional parameters for sending a link for payment via SMS.\n\nThe field is required for offline stores only."
}
},
"type": "object"
}
],
"default": null,
"description": "Additional parameters for placing an offline order"
},
"isPrepayment": {
"description": "Whether to transfer an order based on the \"deferred payment\" flow.\n\nIf the parameter value is set to `true`, the order is placed as that with deferred payment. For details, see \"Payment methods and payment mechanisms\".",
"type": "boolean"
},
"metadata": {
"description": "Arbitrary order data for internal use",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Order ID on the merchant side (it should be unique). Further interaction on the payment request will be carried out using this ID. The ID will also be used at reconciliation",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Indicates where order creation was initialized\n\nUsed for subsequent analysis\n\n---\n\n**WEBSITE**: The button is placed on the website. A payment link is generated after certain user actions (clicking the button) on the website\n\n**APP**: The button is placed in the mobile app. A payment link is generated after certain user actions (tapping the button) in the app\n\n**CRM**: A payment link is generated by a manager in the CRM system or another admin panel\n\n**CASH_REGISTER**: A payment link is generated to be displayed in the offline cash register.",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER"
],
"type": "string"
},
"preferredPaymentMethod": {
"description": "Preferred payment method.\n\nThe passed method will be selected automatically in the payment form provided that it is on the list of allowed payment methods. Card by default.",
"enum": [
"FULLPAYMENT",
"SPLIT"
],
"type": "string"
},
"publicConstructor": {
"description": "Constructor of the preselected Split payment plan.\n\n_Available only upon approval_",
"enum": [
"2",
"4",
"6",
null
],
"type": "string"
},
"purpose": {
"description": "Purpose of payment",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"properties": {
"onAbort": {
"description": "Link to redirect the user on payment cancellation. Payment can be canceled by the user in the payment form.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "The field is required for online stores only. A link to redirect the user in case of a payment error or TTL expiry for a payment link",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "The field is required for online stores only. Link to redirect the user on payment success.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Links for redirecting the user from the payment form. Required for online stores"
},
"risk": {
"allOf": [
{
"properties": {
"billingPhone": {
"description": "**DEPRECATED** Customer phone number.<br/>*Use the same-name field one level up instead.*",
"maxLength": 2048,
"type": "string"
},
"deviceId": {
"description": "Customer device ID (device_id/gaid/idfa/ifv)",
"maxLength": 2048,
"type": "string"
},
"shippingAddress": {
"description": "Delivery address",
"maxLength": 2048,
"type": "string"
},
"shippingPhone": {
"description": "Recipient phone number (e.g., +71234567890)",
"maxLength": 2048,
"type": "string"
},
"shippingType": {
"description": "Order delivery method",
"enum": [
"COURIER",
"PICKUP",
null
],
"type": "string"
}
},
"type": "object"
}
],
"description": "Additional info specifying which may make Split approval more likely. Fully available for online stores only."
},
"ttl": {
"default": 1800,
"description": "The parameter sets the time that the user is given to follow the link to the order payment form.\n\nWhen expired, the user will see a message saying \"Payment time expired\".\n\nIf the user follows the link before the expiry, they will be given another 15 minutes to make a payment. If no payment is made during the additional time, the order is finally considered unpaid.\n\nThis is indicated in the `Order.paymentStatus` value that changes to `FAILED`. In addition, a [notification](../custom/backend/merchant-api/webhook) about the order payment status change is sent. If the merchant booked the product, the order can be canceled after the status changes.\n\nTime-to-live (seconds): `180 <= ttl <= 604800`\n\nTime-to-live (when generating a link in the personal account, seconds): `86400`",
"format": "int32",
"type": "integer"
},
"uniqrMetadata": {
"allOf": [
{
"properties": {
"uniQrId": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"uniQrId"
],
"type": "object"
}
],
"description": "Additional uniqr data"
}
},
"required": [
"cart",
"currencyCode",
"orderId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}": {
"get": {
"description": "Request to retrieve the order details.\n\nThe request returns the order details and the refund transactions.",
"operationId": "merchant_v1_order-get",
"parameters": [
{
"description": "Order ID on the merchant's side that was passed in response to /order/create.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"delivery": {
"properties": {
"actualPrice": {
"description": "Delivery cost for the merchant",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the delivery was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"price": {
"description": "Delivery cost for the customer",
"example": "123.45",
"format": "double",
"type": "string"
},
"status": {
"default": "NEW",
"description": "Delivery status",
"enum": [
"NEW",
"ESTIMATING",
"EXPIRED",
"READY_FOR_APPROVAL",
"COLLECTING",
"PREPARING",
"DELIVERING",
"DELIVERED",
"RETURNING",
"RETURNED",
"FAILED",
"CANCELLED"
],
"type": "string"
},
"updated": {
"description": "Date and time when the delivery was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"price"
],
"type": "object"
},
"operations": {
"items": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"approvalCode": {
"description": "Code of transaction confirmation received from the processing center.",
"readOnly": true,
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
},
"type": "array"
},
"order": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart item",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"finalPrice": {
"description": "Price per product unit with all discounts per item and on the cart",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"default": null,
"description": "Total cart cost that the customer is to pay"
}
},
"required": [
"items"
],
"type": "object"
}
],
"description": "Cart"
},
"created": {
"description": "Date and time when the order was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"isPrepayment": {
"default": false,
"description": "Flag indicating if the \"deferred payment\" flow is used for the order",
"type": "boolean"
},
"merchantId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Arbitrary data transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total cost of the order to be paid, including refunds, delivery costs, discounts, and promo codes",
"example": "123.45",
"format": "double",
"type": "string"
},
"orderId": {
"description": "ID assigned to the existing order on the merchant side and transmitted at button initialization",
"maxLength": 2048,
"type": "string"
},
"paymentMethod": {
"allOf": [
{
"properties": {
"cardLast4": {
"maxLength": 2048,
"type": "string"
},
"cardNetwork": {
"description": "Payment system",
"enum": [
"AMEX",
"DISCOVER",
"JCB",
"MASTERCARD",
"MAESTRO",
"VISAELECTRON",
"VISA",
"MIR",
"UNIONPAY",
"UZCARD",
"HUMOCARD",
"UNKNOWN",
"UNDEFINED",
null
],
"type": "string"
},
"methodType": {
"enum": [
"CARD",
"SPLIT",
"SBP",
"SPLIT_SBP",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected payment method"
},
"paymentStatus": {
"enum": [
"PENDING",
"AUTHORIZED",
"CAPTURED",
"VOIDED",
"REFUNDED",
"CONFIRMED",
"PARTIALLY_REFUNDED",
"FAILED",
null
],
"type": "string",
"x-enumDescriptions": {
"AUTHORIZED": "Payment for the order has been authorized. Funds locked on the payer account",
"CAPTURED": "The order has been paid for successfully. Funds debited from the payer account",
"CONFIRMED": "Order placed successfully",
"FAILED": "Order payment failed",
"PARTIALLY_REFUNDED": "Funds were partially refunded for the order",
"PENDING": "Pending payment",
"REFUNDED": "Funds were refunded for the order",
"VOIDED": "The payment has been canceled (voided). No funds were debited"
}
},
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "reason (applicable to the VOIDED/FAILED statuses)",
"maxLength": 2048,
"type": "string"
},
"shippingMethod": {
"allOf": [
{
"properties": {
"courierOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"courierOptionId": {
"description": "ID of the selected delivery method in the merchant system",
"maxLength": 2048,
"type": "string"
},
"customerChoice": {
"allOf": [
{
"properties": {
"date": {
"format": "date",
"type": "string"
},
"time": {
"allOf": [
{
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
}
]
}
},
"required": [
"date"
],
"type": "object"
}
],
"description": "Date and interval selected by the user. Only for `type: FLEXIBLE`"
},
"fromDate": {
"description": "Closest delivery date for `type: PLAIN`. Start of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"fromTime": {
"description": "Start of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"provider": {
"description": "Delivery service type.",
"enum": [
"BOXBERRY",
"CDEK",
"RUSSIAN_POST",
"EMS",
"COURIER",
"DHL",
"EXPRESS_DELIVERY",
"FIVEPOST",
"OZON_ROCKET",
"DPD",
"SBER_LOGISTICS",
"PEK",
"PICKPOINT",
"KCE",
"PONY_EXPRESS",
"YANDEX_DELIVERY",
null
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"timeIntervals": {
"allOf": [
{
"properties": {
"grid": {
"allOf": [
{
"properties": {
"duration": {
"description": "Duration of each interval",
"type": "string"
},
"end": {
"description": "Maximum start time for the latest interval",
"type": "string"
},
"start": {
"description": "Start time for the very first interval",
"type": "string"
},
"step": {
"description": "Difference in time between the starts of two neighboring intervals",
"type": "string"
}
},
"required": [
"duration",
"end",
"start",
"step"
],
"type": "object"
}
],
"description": "Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.\nExample: `{\"start\": \"09:00\", \"end\": \"21:00\", \"duration\": \"00:20\", \"step\": \"01:00\"}` is treated as a set of intervals: `[{\"start\": \"09:00\", \"end\": \"09:20\"}, {\"start\": \"10:00\", \"end\": \"10:20\"}, ..., {\"start\": \"20:00\", \"end\": \"20:20\"}]`"
},
"type": {
"description": "For the `GRID` type, fill in the `grid` field. If the `VALUES` type is specified, set the `values` field.",
"enum": [
"GRID",
"VALUES"
],
"type": "string"
},
"values": {
"description": "Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20",
"items": {
"properties": {
"end": {
"description": "Interval end time",
"type": "string"
},
"start": {
"description": "Interval start time",
"type": "string"
}
},
"required": [
"end",
"start"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"type"
],
"type": "object"
}
],
"description": "Codes the intervals of the delivery time available for selection. Only for `type: FLEXIBLE`"
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "Latest delivery date for `type: PLAIN`. End of the interval of the delivery date selection for `type: FLEXIBLE`",
"format": "date",
"type": "string"
},
"toTime": {
"description": "End of the delivery time interval. Only for `type: PLAIN`",
"type": "string"
},
"type": {
"default": "PLAIN",
"description": "Option type.\nFor `FLEXIBLE` delivery options, the user can select the desirable date and interval:\n- The delivery date is selected by the user in the interval `[fromDate, toDate]`\n- To give the user an option to select an interval within a day, fill out `timeIntervals`\nNo such choice is provided for `PLAIN` options.",
"enum": [
"PLAIN",
"FLEXIBLE"
],
"type": "string"
}
},
"required": [
"amount",
"category",
"courierOptionId",
"title"
],
"type": "object"
}
],
"description": "if methodType == COURIER"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
},
"pickupOption": {
"allOf": [
{
"properties": {
"address": {
"description": "Address in string format",
"maxLength": 2048,
"type": "string"
},
"allowedPaymentMethods": {
"description": "Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Cost of delivery to the location",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Additional description",
"maxLength": 2048,
"type": "string"
},
"fromDate": {
"description": "YYYY-MM-DD. Closest possible delivery date",
"format": "date",
"type": "string"
},
"location": {
"properties": {
"latitude": {
"format": "float",
"type": "number"
},
"longitude": {
"format": "float",
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"phones": {
"description": "Contact phone numbers",
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"pickupPointId": {
"description": "Unique pickup point ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"provider": {
"description": "Pickup point's type.",
"enum": [
"YANDEX_MARKET",
"BOXBERRY",
"CDEK",
"IN_STORE",
"RUSSIAN_POST",
"PICKPOINT",
"DPD"
],
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"schedule": {
"description": "Pickup point's schedule",
"items": {
"properties": {
"fromTime": {
"description": "HH:mm, \"08:00\"",
"type": "string"
},
"label": {
"description": "For example, \"Mon-Fri\"",
"maxLength": 2048,
"type": "string"
},
"toTime": {
"description": "HH:mm, \"20:00\"",
"type": "string"
}
},
"required": [
"fromTime",
"label",
"toTime"
],
"type": "object"
},
"type": "array"
},
"storagePeriod": {
"description": "Optional. Storage period at the pickup point, in days.",
"format": "int32",
"type": "integer"
},
"title": {
"description": "Pickup point's name",
"maxLength": 2048,
"type": "string"
},
"toDate": {
"description": "YYYY-MM-DD. Latest delivery date",
"format": "date",
"type": "string"
}
},
"required": [
"address",
"location",
"pickupPointId",
"title"
],
"type": "object"
}
],
"description": "if methodType == PICKUP"
},
"yandexDeliveryOption": {
"allOf": [
{
"properties": {
"allowedPaymentMethods": {
"description": "Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in `availablePaymentMethods`. If the parameter is omitted, all the payment methods listed in `availablePaymentMethods` are used.",
"items": {
"enum": [
"CARD",
"SPLIT",
"CASH_ON_DELIVERY",
"CARD_ON_DELIVERY"
],
"type": "string"
},
"type": "array"
},
"amount": {
"description": "Delivery cost",
"example": "123.45",
"format": "double",
"type": "string"
},
"category": {
"enum": [
"EXPRESS",
"TODAY",
"STANDARD"
],
"type": "string"
},
"fromDatetime": {
"format": "date-time",
"type": "string"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
]
},
"title": {
"description": "Delivery method name. Shown to the user in the option list",
"maxLength": 2048,
"type": "string"
},
"toDatetime": {
"format": "date-time",
"type": "string"
},
"yandexDeliveryOptionId": {
"description": "ID of the Yandex Delivery offer",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"category",
"title",
"yandexDeliveryOptionId"
],
"type": "object"
}
],
"description": "if methodType == YANDEX_DELIVERY"
}
},
"required": [
"methodType"
],
"type": "object"
}
],
"description": "Selected delivery method."
},
"updated": {
"description": "Date and time when the order was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"cart",
"currencyCode"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/cancel": {
"post": {
"description": "Request to cancel the payment.\n\nAvailable only for payments in `AUTHORIZED` status.\nOn success, the payment status will change to `VOIDED`.",
"operationId": "merchant_v1_cancel-post",
"parameters": [
{
"description": "Order ID on the merchant's side that was passed in response to /order/create.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"externalOperationId": {
"description": "Operation ID",
"maxLength": 2048,
"type": "string"
},
"reason": {
"description": "Cancellation reason",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"reason"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/cancel",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/refund": {
"post": {
"description": "Request for refund.\n\nInitiating a refund for the order.\n\nAvailable only for payments in `CAPTURED` or `PARTIALLY_REFUNDED` status.\nOn success, the payment status will change to `REFUNDED` or `PARTIALLY_REFUNDED` depending on the amount\nand the `ORDER_STATUS_UPDATED` event will be sent.\nThe `OPERATION_STATUS_UPDATED` event is sent both if the refund succeeds\nand fails.\n\nIn the request, pass the final cart of the provided products and services.\nThe final cart is created from the current cart by excluding some items\nor by revising the costs of the existing items that were refunded.\nThe cart's total must be equal to the total payment amount minus the refund amount.",
"operationId": "merchant_v1_refund-post",
"parameters": [
{
"description": "Order ID on the merchant's side that was passed in response to /order/create.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Final cart"
},
"externalOperationId": {
"description": "Operation ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total amount of the order. It's equal to `cart.total.amount` + `shipping.amount`",
"example": "123.45",
"format": "double",
"type": "string"
},
"refundAmount": {
"description": "Amount to be refunded.",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"properties": {
"amount": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
},
"required": [
"orderAmount",
"refundAmount"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/refund",
"tags": [
"order"
]
}
},
"/api/merchant/v2/orders/{order_id}/refund": {
"post": {
"description": "Request for refund.\n\nAvailable only for payments in `CAPTURED` or `PARTIALLY_REFUNDED` status.\nOn success, the payment status changes as follows:\n* to `REFUNDED` if the full amount was refunded\n* or `PARTIALLY_REFUNDED` if the cart has some items left after the refund.\n\nThe method is asynchronous.\nYou can find out the refund result by using the [event mechanism](../../merchant-api/webhook)\nor calling the [operation status method](../operation/merchant_v1_operations-get).\nThe `OPERATION_STATUS_UPDATED` event is sent both if the refund succeeds\nand fails.\n\nIf a full refund is required, just pass `refundAmount` set to the order amount.\n\nFor a partial refund, you should additionally pass the final cart of the provided\nproducts and services in the request. The final cart is created from the current cart by excluding some items\nor by revising the quantity/costs of the items that were refunded.\n\n{% note info %}\n\nPlease note that you should specify the cart status after the refund\nrather than the list of products or services to be refunded.\n\n{% endnote %}\n\nThe `targetCart` field describes the final cart status after the refund.\nIf the field is not specified, it's considered that the cart is refunded in full.\n\nThe `targetShipping` field is only applicable to Yandex Pay Checkout. In other cases, leave the field\nblank.\nThe field describes the final delivery status after the refund.\nIf the field is not specified or is `null`, it's considered that the delivery cost is refunded in full.\n\n## Примеры вызовов {#refund-examples}\nLet's take an example of an order with the `orderId = Order-123` and the following cart:\n```(json)\n{\n \"items\": [\n {\n \"productId\": \"id-1\",\n \"price\": \"50\",\n \"title\": \"Ballpoint pen\",\n \"quantity\": {\n \"count\": \"10\"\n },\n },\n {\n \"productId\": \"id-2\",\n \"price\": \"200\",\n \"title\": \"Notepad\",\n \"quantity\": {\n \"count\": \"2\"\n },\n }\n ]\n}\n```\n\n### Пример полного возврата {#refund-examples-full}\n{% list tabs %}\n- httpie\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" 'refundAmount:=\"900.00\"'\n ```\n{% endlist %}\n\n### Примеры частичного возврата {#refund-examples-partial}\n\n#### Возврат единиц товара {#refund-examples-partial-single-item}\n\nSuppose that two ballpoint pens need to be refunded. This is done using the following request\n\n{% list tabs %}\n- httpie\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" \\\n 'targetCart[items][0]:={\"productId\": \"id-1\", \"quantityCount\": \"8\"}' \\\n 'targetCart[items][1]:={\"productId\": \"id-2\", \"quantityCount\": \"2\"}' \\\n 'refundAmount:=\"100.00\"'\n ```\n{% endlist %}\n\nIn this example:\n* The quantity of ballpoint pens is decreased by 2, from 10 to 8 units.\n* The `price` field is skipped in the request, but it's quite acceptable to specify it.\n* `quantityCount` of the notepad item remains unchanged, it could have been omitted.\n\n#### Возврат части денег {#refund-examples-partial-price-update}\n\nLet's say a refund of RUB 30 is requested for each notepad. This is achieved by reducing the item price.\n\n{% list tabs %}\n- httpie\n ```(bash)\n http POST https://sandbox.pay.yandex.ru/api/merchant/v2/orders/Order-123/refund \\\n \"Authorization: Api-Key ${API_KEY}\" \\\n 'targetCart[items]:=[{\"productId\": \"id-1\"}, {\"productId\": \"id-2\", \"price\": \"170\"}]' \\\n 'refundAmount:=\"60.00\"'\n ```\n{% endlist %}\n\nIn this example:\n* The notepad price is decreased by 30, from RUB 200 to RUB 170.\n* That is, a refund of RUB 60 is made, since there're two notepads.\n* The `quantityCount` fields are missing, but it's quite acceptable to specify their previous values.",
"operationId": "merchant_v2_refund-post",
"parameters": [
{
"description": "Order ID on the merchant's side that was passed in response to /order/create.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"branchId": {
"description": "ID of the point of sale",
"maxLength": 2048,
"type": "string"
},
"externalOperationId": {
"description": "Refund operation ID in the merchant system. The ID must be unique.\n\nPass this parameter to be able to track the refund operation status via the [operations/{external_operation_id}](../operation/merchant_v1_operations-get) method.\n\nIf the operation is not completed (is either in progress or stopped), calling the method again with the same arguments and the same `externalOperationId` ID will be idempotent: the response will return the same operation. Or else, an error is returned.\n\nIf the refund process is launched successfully, calling the refund method with the same `externalOperationId` again will return an error with the \"reasonCode\": \"DUPLICATE_EXTERNAL_OPERATION_ID\" ",
"maxLength": 2048,
"type": "string"
},
"managerId": {
"description": "Manager ID",
"maxLength": 2048,
"type": "string"
},
"motive": {
"description": "Refund reason",
"maxLength": 2048,
"type": "string"
},
"refundAmount": {
"description": "Amount to be refunded.",
"example": "123.45",
"format": "double",
"type": "string"
},
"targetCart": {
"allOf": [
{
"properties": {
"items": {
"items": {
"properties": {
"price": {
"description": "Price per product/service unit after the operation is completed.\nSpecify if the unit price gets lower as a result of the operation.\nThis may be helpful if part of the money paid for the product needs to be refunded or when confirming the order.\nIf the field is not specified in the request, the price is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
},
"productId": {
"description": "Cart item ID as of order creation.\nIf you pass an ID that was not present in the initial cart, an error occurs.",
"maxLength": 2048,
"type": "string"
},
"quantityCount": {
"description": "The number of product/service units the user gets after the operation is completed.\nIf the field is not specified in the request, the number is considered unchanged.",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
],
"description": "Describes the final cart status after the refund.\n If the field is not specified, it's considered that the cart is refunded in full."
},
"targetShipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cost of delivery after the operation is completed",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"type": "object"
}
],
"description": "Applicable to Yandex Pay Checkout only. In other cases, leave the field blank.\n\nDescribes the final delivery status after the refund.\nIf the field is not specified or is `null`, it's considered that the delivery cost is refunded in full."
}
},
"required": [
"refundAmount"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v2/orders/{order_id}/refund",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/capture": {
"post": {
"description": "Request to debit funds for the order.\n\nDebiting of locked funds. Available only for payments in `AUTHORIZED` status.\nIf the request result is successful, the payment status changes to `CAPTURED`.\n\nIf the authorized amount is smaller than the original amount, the remaining part of the payment will be refunded.\nIn that case, you need to pass the final cart of the provided products and services.\nThe final cart is created from the current cart by excluding some items\nthat were refunded.",
"operationId": "merchant_v1_capture-post",
"parameters": [
{
"description": "Order ID on the merchant's side that was passed in response to /order/create.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Final cart"
},
"externalOperationId": {
"description": "Operation ID",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Amount to be debited. If not specified, the total amount of the passed cart items will be debited",
"example": "123.45",
"format": "double",
"type": "string"
},
"shipping": {
"allOf": [
{
"properties": {
"amount": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"methodType": {
"enum": [
"DIRECT",
"PICKUP",
"COURIER",
"YANDEX_DELIVERY"
],
"type": "string"
}
},
"required": [
"amount",
"methodType"
],
"type": "object"
}
],
"description": "Final delivery method."
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/capture",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/rollback": {
"post": {
"description": "Request for payment cancellation.\n\nAvailable for payments in any status.\nDisables further payment for the order and, if the payment has been made,\nrefunds the full amount to the customer.\nIf the request is successful, the payment status changes to `FAILED`.",
"operationId": "merchant_v1_rollback-post",
"parameters": [
{
"description": "Order ID on the merchant's side that was passed in response to /order/create.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/rollback",
"tags": [
"order"
]
}
},
"/api/merchant/v1/orders/{order_id}/submit": {
"post": {
"description": "Request for Split payment confirmation in the event of payment on delivery.\n\nAvailable for payments in the `CONFIRMED` status. If the request is successful, the status changes to `CAPTURED`.\n\nIf the cart items at the order confirmation stage differ from those at the order placement stage,\npass new values for the `cart` and `orderAmount` fields.",
"operationId": "merchant_v1_submit-post",
"parameters": [
{
"description": "Order ID on the merchant's side that was passed in response to /order/create.",
"in": "path",
"name": "order_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"cartId": {
"description": "The internal ID of the Yandex Pay cart.\n\nThe store's backend must use this parameter as the ID of the customer cart and the idempotency key for the `/order/create` request. If the store's backend receives a repeat `/order/create` request, return the existing order ID. The store's backend can create no more than one order (`orderId`) per cart (`cartId`).",
"maxLength": 2048,
"type": "string"
},
"coupons": {
"description": "Coupons applied to the cart",
"items": {
"properties": {
"description": {
"description": "Description For example, \"3% discount\"",
"maxLength": 2048,
"type": "string"
},
"status": {
"enum": [
"VALID",
"INVALID",
"EXPIRED",
null
],
"type": "string"
},
"value": {
"description": "Coupon code",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
},
"type": "array"
},
"discounts": {
"description": "Discounts applied to the cart",
"items": {
"properties": {
"amount": {
"description": "Discount amount",
"example": "123.45",
"format": "double",
"type": "string"
},
"description": {
"description": "Text description",
"maxLength": 2048,
"type": "string"
},
"discountId": {
"description": "Discount ID in the merchant system",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"amount",
"description",
"discountId"
],
"type": "object"
},
"type": "array"
},
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
],
"description": "Product dimensions and weight. Required for the `PHYSICAL` product"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"type": {
"default": "UNSPECIFIED",
"description": "Product type. Important for integrating with delivery services",
"enum": [
"PHYSICAL",
"DIGITAL",
"UNSPECIFIED"
],
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity"
],
"type": "object"
},
"type": "array"
},
"measurements": {
"allOf": [
{
"properties": {
"height": {
"description": "Height, in meters",
"format": "float",
"type": "number"
},
"length": {
"description": "Length, in meters",
"format": "float",
"type": "number"
},
"weight": {
"description": "Weight, in kilograms",
"format": "float",
"type": "number"
},
"width": {
"description": "Width, in meters",
"format": "float",
"type": "number"
}
},
"required": [
"height",
"length",
"weight",
"width"
],
"type": "object"
}
]
},
"total": {
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Final cart"
},
"externalOperationId": {
"description": "Operation ID in the merchant's system",
"maxLength": 2048,
"type": "string"
},
"orderAmount": {
"description": "Total amount of the order. It's equal to `cart.total.amount`. The field is required if `cart` is passed",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"externalOperationId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/orders/{order_id}/submit",
"tags": [
"order"
]
}
},
"/api/merchant/v1/operations/{external_operation_id}": {
"get": {
"description": "Request to get details about the payment authorization, debiting, refund, or cancellation operations.",
"operationId": "merchant_v1_operations-get",
"parameters": [
{
"description": "Operation ID on the merchant side",
"in": "path",
"name": "external_operation_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operation": {
"properties": {
"amount": {
"description": "Transaction amount in a fiat currency",
"example": "123.45",
"format": "double",
"type": "string"
},
"created": {
"description": "Date and time when the operation was created (ISO 8601)",
"format": "date-time",
"type": "string"
},
"externalOperationId": {
"description": "Operation ID on the merchant side",
"maxLength": 2048,
"type": "string"
},
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"operationType": {
"enum": [
"AUTHORIZE",
"BIND_CARD",
"REFUND",
"CAPTURE",
"VOID",
"RECURRING",
"PREPAYMENT",
"SUBMIT"
],
"type": "string"
},
"orderId": {
"maxLength": 2048,
"type": "string"
},
"params": {
"type": "object"
},
"pointsAmount": {
"description": "Transaction amount in Plus points",
"example": "123.45",
"format": "double",
"type": "string"
},
"reason": {
"description": "Error cause",
"maxLength": 2048,
"type": "string"
},
"status": {
"default": "PENDING",
"enum": [
"PENDING",
"SUCCESS",
"FAIL"
],
"type": "string"
},
"updated": {
"description": "Date and time when the operation was updated (ISO 8601)",
"format": "date-time",
"type": "string"
}
},
"required": [
"amount",
"operationId",
"operationType",
"orderId"
],
"type": "object"
}
},
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/operations/{external_operation_id}",
"tags": [
"operation"
]
}
},
"/api/merchant/v1/subscriptions": {
"post": {
"description": "Request for subscription creation.\n\nThe request is used to create a subscription and and obtain a link to start it.",
"operationId": "merchant_v1_subscriptions-post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"cart": {
"allOf": [
{
"properties": {
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart items that the customer pays for.",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Final order cost."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Cart"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"futureWriteOffAmount": {
"description": "Amount to be debited in the future",
"example": "123.45",
"format": "double",
"type": "string"
},
"intervalCount": {
"description": "The number of subscription periods, such as \"debit every 6 months\"\n\nRequired if `isBinding=True` is not specified",
"format": "int32",
"type": "integer"
},
"intervalUnit": {
"description": "Subscription frequency time unit\n\nRequired if `isBinding=True` is not specified",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"isBinding": {
"default": false,
"description": "Allows linking the user's card with no items added to the cart\n\nIf the first time a payment is debited only requires the card binding, pass isBinding=true in your request.\n\nNo cart items and subscription frequency need to be passed in this scenario.",
"type": "boolean"
},
"metadata": {
"description": "Arbitrary order data for internal use",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "Order ID on the merchant side (it should be unique). Further interaction on the payment request will be carried out using this ID. The ID will also be used at reconciliation",
"maxLength": 2048,
"type": "string"
},
"orderSource": {
"default": null,
"description": "Indicates where order creation was initialized\n\nUsed for subsequent analysis\n\n---\n\n**WEBSITE**: The button is placed on the website. A payment link is generated after certain user actions (clicking the button) on the website\n\n**APP**: The button is placed in the mobile app. A payment link is generated after certain user actions (tapping the button) in the app\n\n**CRM**: A payment link is generated by a manager in the CRM system or another admin panel\n\n**CASH_REGISTER**: A payment link is generated to be displayed in the offline cash register.",
"enum": [
"WEBSITE",
"APP",
"CRM",
"CASH_REGISTER"
],
"type": "string"
},
"purpose": {
"description": "Purpose of payment",
"maxLength": 1000,
"type": "string"
},
"redirectUrls": {
"allOf": [
{
"properties": {
"onAbort": {
"description": "Link to redirect the user on payment cancellation. Payment can be canceled by the user in the payment form.",
"maxLength": 2048,
"type": "string"
},
"onError": {
"description": "The field is required for online stores only. A link to redirect the user in case of a payment error or TTL expiry for a payment link",
"maxLength": 2048,
"type": "string"
},
"onSuccess": {
"description": "The field is required for online stores only. Link to redirect the user on payment success.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"onError",
"onSuccess"
],
"type": "object"
}
],
"description": "Links for redirecting the user from the payment form. Required for online stores"
},
"title": {
"description": "Subscription name",
"maxLength": 30,
"type": "string"
},
"trialCount": {
"description": "The number of periods in a trial period, such as \"7 days\"",
"format": "int32",
"type": "integer"
},
"trialEndAt": {
"description": "Trial period end date. Mutually exclusive with the `trial_unit` + `trial_count` fields",
"format": "date-time",
"type": "string"
},
"trialUnit": {
"description": "Time unit of the trial period frequency",
"enum": [
"SECOND",
"DAY",
"WEEK",
"MONTH",
"YEAR",
null
],
"type": "string"
},
"ttl": {
"default": 1800,
"description": "Order time-to-live (seconds)\n\n`180 <= ttl <= 604800`",
"format": "int32",
"type": "integer"
}
},
"required": [
"currencyCode",
"orderId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"paymentUrl": {
"description": "Link to paying for the order",
"maxLength": 2048,
"type": "string"
},
"subscriptionId": {
"description": "Subscription ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"paymentUrl",
"subscriptionId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"required": [
"data"
],
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/subscriptions",
"tags": [
"subscriptions"
]
}
},
"/api/merchant/v1/subscriptions/recur": {
"post": {
"description": "Request to debit a regular subscription fee.\n\nThe request is used to perform a direct debit from the account or card linked to the subscription.\nTo debit funds, pass the order ID, cart, debit amount, and ID of the initial order\nthat was used at subscription creation.",
"operationId": "merchant_v1_subscriptions_recur-post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"amount": {
"description": "Amount to be debited",
"example": "123.45",
"format": "double",
"type": "string"
},
"cart": {
"allOf": [
{
"properties": {
"externalId": {
"description": "Cart ID passed by the merchant",
"maxLength": 2048,
"type": "string"
},
"items": {
"description": "Cart items that the customer pays for.",
"items": {
"properties": {
"description": {
"description": "Product description",
"maxLength": 2048,
"type": "string"
},
"discountedUnitPrice": {
"description": "Price per product unit with discount per item",
"example": "123.45",
"format": "double",
"type": "string"
},
"pointsAmount": {
"description": "Number of Plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
},
"productId": {
"description": "Product ID in the merchant system Make sure that each `productId` in the request parameters is unique.",
"maxLength": 2048,
"type": "string"
},
"quantity": {
"allOf": [
{
"properties": {
"available": {
"description": "Maximum available product quantity",
"example": "123.45",
"format": "double",
"type": "string"
},
"count": {
"description": "Product quantity in the order",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"count"
],
"type": "object"
}
],
"description": "Product quantity in the order"
},
"receipt": {
"allOf": [
{
"properties": {
"agent": {
"allOf": [
{
"properties": {
"agentType": {
"description": "Agent type by taxable object. See [values](https://pay.yandex.ru/ru/docs/custom/fns#agent-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7
],
"type": "integer"
},
"operation": {
"maxLength": 2048,
"type": "string"
},
"paymentsOperator": {
"allOf": [
{
"properties": {
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
},
"transferOperator": {
"allOf": [
{
"properties": {
"address": {
"maxLength": 2048,
"type": "string"
},
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
}
},
"required": [
"agentType"
],
"type": "object"
}
]
},
"excise": {
"description": "It shouldn't include more than two decimal digits.\nFor example: 1.12, 5.1, 10, 11.00 .",
"example": "123.45",
"format": "double",
"type": "string"
},
"markQuantity": {
"allOf": [
{
"properties": {
"denominator": {
"format": "int32",
"type": "integer"
},
"numerator": {
"format": "int32",
"type": "integer"
}
},
"required": [
"denominator",
"numerator"
],
"type": "object"
}
]
},
"measure": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#measure-code)",
"enum": [
0,
10,
11,
12,
20,
21,
22,
30,
31,
32,
40,
41,
42,
50,
51,
70,
71,
72,
73,
80,
81,
82,
83,
255,
null
],
"type": "integer"
},
"paymentMethodType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-method-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
null
],
"type": "integer"
},
"paymentSubjectType": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#payment-subject-type)",
"enum": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
null
],
"type": "integer"
},
"productCode": {
"description": "Product code (a base64-encoded array of 1 to 32 bytes)",
"format": "base64",
"type": "string"
},
"supplier": {
"allOf": [
{
"properties": {
"inn": {
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 2048,
"type": "string"
},
"phones": {
"items": {
"maxLength": 2048,
"type": "string"
},
"type": "array"
}
},
"type": "object"
}
]
},
"tax": {
"description": "Value description: [Link](https://pay.yandex.ru/ru/docs/custom/backend/fns#tax)",
"enum": [
1,
2,
3,
4,
5,
6
],
"type": "integer"
},
"title": {
"maxLength": 2048,
"type": "string"
}
},
"required": [
"tax"
],
"type": "object"
}
],
"description": "Data for receipt generation"
},
"subtotal": {
"description": "Total price per item without discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"title": {
"description": "Product name",
"maxLength": 2048,
"type": "string"
},
"total": {
"description": "Total price per item with item discount",
"example": "123.45",
"format": "double",
"type": "string"
},
"unitPrice": {
"description": "Total price per product unit without discount",
"example": "123.45",
"format": "double",
"type": "string"
}
},
"required": [
"productId",
"quantity",
"title",
"total"
],
"type": "object"
},
"type": "array"
},
"total": {
"allOf": [
{
"properties": {
"amount": {
"description": "Cart cost with all discounts",
"example": "123.45",
"format": "double",
"type": "string"
},
"label": {
"description": "Name of measurement units, for example, \"kg\" or \"pcs\"",
"maxLength": 2048,
"type": "string"
},
"pointsAmount": {
"description": "Number of plus points",
"example": "123.45",
"format": "double",
"readOnly": true,
"type": "string"
}
},
"required": [
"amount"
],
"type": "object"
}
],
"description": "Final order cost."
}
},
"required": [
"items",
"total"
],
"type": "object"
}
],
"description": "Cart"
},
"currencyCode": {
"description": "Three-letter code of the order currency code (ISO 4217)",
"enum": [
"RUB"
],
"maxLength": 2048,
"type": "string"
},
"metadata": {
"description": "Arbitrary order data for internal use",
"maxLength": 2048,
"type": "string"
},
"orderId": {
"description": "The order ID on the merchant side (it should be unique).",
"maxLength": 2048,
"type": "string"
},
"parentOrderId": {
"description": "ID of the initial order",
"maxLength": 2048,
"type": "string"
},
"purpose": {
"description": "Purpose of payment",
"maxLength": 1000,
"type": "string"
}
},
"required": [
"amount",
"cart",
"currencyCode",
"orderId",
"parentOrderId"
],
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"operationId": {
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"operationId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/subscriptions/recur",
"tags": [
"subscriptions"
]
}
},
"/api/merchant/v1/subscriptions/{customer_subscription_id}": {
"get": {
"description": "Request to obtain subscription details.\n\nReturns the subscription ID and status and the linked payment method.",
"operationId": "merchant_v1_customer_subscription-get",
"parameters": [
{
"description": "Subscription ID",
"in": "path",
"name": "customer_subscription_id",
"required": true,
"schema": {
"maxLength": 2048,
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"check_card_active": {
"description": "Allows checking if the card is linked",
"type": "boolean"
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"default": 200
},
"data": {
"properties": {
"cancelledAt": {
"description": "Subscription cancellation time",
"format": "date-time",
"type": "string"
},
"customerSubscriptionId": {
"description": "Subscription ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
},
"isCardActive": {
"description": "Linked card's status",
"type": "boolean"
},
"nextWriteOff": {
"description": "Date of next debit",
"format": "date-time",
"type": "string"
},
"status": {
"description": "Subscription type",
"enum": [
"NEW",
"ACTIVE",
"CANCELLED",
"EXPIRED"
],
"type": "string"
},
"subscriptionPlanId": {
"description": "Subscription plan ID",
"format": "uuid",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"status",
"subscriptionPlanId"
],
"type": "object"
},
"status": {
"default": "success",
"enum": [
"success"
],
"type": "string"
}
},
"type": "object"
}
}
},
"description": ""
}
},
"security": [
{
"ApiKey": []
}
],
"summary": "/v1/subscriptions/{customer_subscription_id}",
"tags": [
"subscriptions"
]
}
}
},
"security": [
{}
],
"servers": [
{
"description": "Production",
"url": "https://pay.yandex.ru"
},
{
"description": "Sandbox",
"url": "https://sandbox.pay.yandex.ru"
}
]
}