/v1/order/render ⦸
- Request
- Body
- Coupon
- Discount
- Measurements
- ItemQuantity
- PaymentsOperator
- TransferOperator
- Agent
- MarkQuantity
- Supplier
- ItemReceipt
- CartItemWithoutFinalPrice
- CartTotal
- CartWithoutFinalPrice
- PaymentMethod
- Location
- Address
- TimeInterval
- FlexibleCustomerChoice
- FlexibleTimeIntervalsGridDescriptor
- FlexibleTimeIntervals
- CourierOption
- PickupSchedule
- PickupOption
- YandexDeliveryOption
- ShippingMethod
- Responses
- 200 OK
- 400 Bad Request
Warning
This endpoint has been deprecated. Avoid using it.
/v1/order/render
Request data to display the cart.
In the request parameters, transmit the product IDs and product quantities or the order number. The response returns the parameters and content for the Yandex Pay form.
Product IDs and quantities are provided as the input.
You can pass arbitrary data in the metadata field from the merchant's frontend
to the store's backend. The method is invoked when adding or removing items from the cart, selecting a delivery address and delivery method,
or applying promo codes. The merchant needs to double check items in the order and fill out detailed information about
products, delivery methods, and promo codes, recalculate product totals and order totals.
Detailed information on the order and products is expected in response:
- Available types of payment methods and delivery methods is in
availablePaymentMethods,shipping.availableMethods, respectively - Additional user data needed for ordering is in
requiredFields - The cost and name of each product. The maximum available quantity of product (optional)
- The information about discounts applied to the cart is in
discounts
Request
POST
https://example.merchant.ru/v1/order/render
Production
POST
https://sandbox.example.merchant.ru/v1/order/render
Sandbox
Body
application/json
{
"cart": {
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": null,
"productId": "example",
"quantity": null,
"receipt": null,
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"total": null
},
"currencyCode": "RUB",
"merchantId": "123e4567-e89b-12d3-a456-426614174000",
"metadata": "example",
"orderId": "example",
"paymentMethod": {
"cardLast4": "example",
"cardNetwork": "AMEX",
"methodType": "CARD"
},
"shippingAddress": {
"addressLine": "example",
"building": "example",
"comment": "example",
"country": "example",
"district": "example",
"entrance": "example",
"floor": "example",
"intercom": "example",
"locale": "example",
"locality": "example",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"region": "example",
"room": "example",
"street": "example",
"zip": "example"
},
"shippingMethod": {
"courierOption": {
"allowedPaymentMethods": [
null
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"customerChoice": null,
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": null,
"timeIntervals": null,
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
},
"methodType": "DIRECT",
"pickupOption": {
"address": "example",
"allowedPaymentMethods": [
null
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": null,
"phones": [
null
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": null,
"schedule": [
null
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
},
"yandexDeliveryOption": {
"allowedPaymentMethods": [
null
],
"amount": "123.45",
"category": "EXPRESS",
"fromDatetime": "2025-01-01T00:00:00Z",
"receipt": null,
"title": "example",
"toDatetime": "2025-01-01T00:00:00Z",
"yandexDeliveryOptionId": "example"
}
}
}
|
Name |
Description |
|
cart |
All of 1 type
Cart with prices, dimensions, and weight of the products Example
|
|
currencyCode |
Type: string Three-letter code of the order currency code (ISO 4217) Const: Example: |
|
merchantId |
Type: string<uuid> Example: |
|
metadata |
Type: string Arbitrary data transmitted at button initialization Example: |
|
orderId |
Type: string ID assigned to the existing order on the merchant side and transmitted at button initialization Example: |
|
paymentMethod |
All of 1 type
Selected payment method Example
|
|
shippingAddress |
All of 1 type
Delivery address is available if the COURIER method is selected Example
|
|
shippingMethod |
All of 1 type
Selected delivery method. Example
|
Coupon
|
Name |
Description |
|
value |
Type: string Coupon code Example: |
|
description |
Type: string Description For example, "3% discount" Example: |
|
status |
Type: string Enum: Example: |
Example
{
"description": "example",
"status": "VALID",
"value": "example"
}
Discount
|
Name |
Description |
|
amount |
Type: string<double> Discount amount Example: |
|
description |
Type: string Text description Example: |
|
discountId |
Type: string Discount ID in the merchant system Example: |
Example
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
Measurements
|
Name |
Description |
|
height |
Type: number Height, in meters |
|
length |
Type: number Length, in meters |
|
weight |
Type: number Weight, in kilograms |
|
width |
Type: number Width, in meters |
Example
{
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
}
ItemQuantity
|
Name |
Description |
|
count |
Type: string<double> Product quantity in the order Example: |
|
available |
Type: string<double> Maximum available product quantity Example: |
|
label |
Type: string Name of measurement units, for example, "kg" or "pcs" Example: |
Example
{
"available": "123.45",
"count": "123.45",
"label": "example"
}
PaymentsOperator
|
Name |
Description |
|
phones |
Type: string[] Example
|
Example
{
"phones": [
"example"
]
}
TransferOperator
|
Name |
Description |
|
address |
Type: string Example: |
|
inn |
Type: string Example: |
|
name |
Type: string Example: |
|
phones |
Type: string[] Example
|
Example
{
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
Agent
|
Name |
Description |
|
agentType |
Type: integer Agent type by taxable object. See values Enum: |
|
operation |
Type: string Example: |
|
paymentsOperator |
Type: PaymentsOperator Example
|
|
phones |
Type: string[] Example
|
|
transferOperator |
Type: TransferOperator Example
|
Example
{
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
}
MarkQuantity
|
Name |
Description |
|
denominator |
Type: integer |
|
numerator |
Type: integer |
Example
{
"denominator": 0,
"numerator": 0
}
Supplier
|
Name |
Description |
|
inn |
Type: string Example: |
|
name |
Type: string Example: |
|
phones |
Type: string[] Example
|
Example
{
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
ItemReceipt
|
Name |
Description |
|
tax |
Type: integer Value description: Link Enum: |
|
agent |
Type: Agent Example
|
|
excise |
Type: string<double> It shouldn't include more than two decimal digits. For example: 1.12, 5.1, 10, 11.00 . Example: |
|
markQuantity |
Type: MarkQuantity Example
|
|
measure |
Type: integer Value description: Link Enum: |
|
paymentMethodType |
Type: integer Value description: Link Enum: |
|
paymentSubjectType |
Type: integer Value description: Link Enum: |
|
productCode |
Type: string<base64> Product code (a base64-encoded array of 1 to 32 bytes) Example: |
|
supplier |
Type: Supplier Example
|
|
title |
Type: string Example: |
Example
{
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
}
CartItemWithoutFinalPrice
|
Name |
Description |
|
productId |
Type: string Product ID in the merchant system Make sure that each Example: |
|
quantity |
All of 1 type
Product quantity in the order Example
|
|
description |
Type: string Product description Example: |
|
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
|
measurements |
All of 1 type
Product dimensions and weight. Required for the Example
|
|
receipt |
All of 1 type
Data for receipt generation Example
|
|
subtotal |
Type: string<double> Total price per item without discount Example: |
|
title |
Type: string Product name Example: |
|
total |
Type: string<double> Total price per item with item discount Example: |
|
type |
Type: string Product type. Important for integrating with delivery services Default: Enum: |
|
unitPrice |
Type: string<double> Total price per product unit without discount Example: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
null
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
null
]
},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
CartTotal
|
Name |
Description |
|
amount |
Type: string<double> Cart cost with all discounts Example: |
|
label |
Type: string Name of measurement units, for example, "kg" or "pcs" Example: |
Example
{
"amount": "123.45",
"label": "example"
}
CartWithoutFinalPrice
|
Name |
Description |
|
cartId |
Type: string The internal ID of the Yandex Pay cart. The store's backend must use this parameter as the ID of the customer cart and the idempotency key for the Example: |
|
coupons |
Type: Coupon[] Coupons applied to the cart Example
|
|
discounts |
Type: Discount[] Discounts applied to the cart Example
|
|
externalId |
Type: string Cart ID passed by the merchant Example: |
|
items |
Type: CartItemWithoutFinalPrice[] Example
|
|
measurements |
Type: Measurements Example
|
|
total |
All of 1 type
Total cart cost that the customer is to pay Default: |
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": null
}
PaymentMethod
|
Name |
Description |
|
methodType |
Type: string Enum: |
|
cardLast4 |
Type: string Example: |
|
cardNetwork |
Type: string Payment system Enum: Example: |
Example
{
"cardLast4": "example",
"cardNetwork": "AMEX",
"methodType": "CARD"
}
Location
|
Name |
Description |
|
latitude |
Type: number |
|
longitude |
Type: number |
Example
{
"latitude": 0.5,
"longitude": 0.5
}
Address
|
Name |
Description |
|
building |
Type: string Example: |
|
country |
Type: string Example: |
|
addressLine |
Type: string Full address Example: |
|
comment |
Type: string Example: |
|
district |
Type: string Example: |
|
entrance |
Type: string Example: |
|
floor |
Type: string Example: |
|
intercom |
Type: string Example: |
|
locale |
Type: string Example: |
|
locality |
Type: string Example: |
|
location |
Type: Location Example
|
|
region |
Type: string Example: |
|
room |
Type: string Example: |
|
street |
Type: string Example: |
|
zip |
Type: string Example: |
Example
{
"addressLine": "example",
"building": "example",
"comment": "example",
"country": "example",
"district": "example",
"entrance": "example",
"floor": "example",
"intercom": "example",
"locale": "example",
"locality": "example",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"region": "example",
"room": "example",
"street": "example",
"zip": "example"
}
TimeInterval
|
Name |
Description |
|
end |
Type: string Interval end time Example: |
|
start |
Type: string Interval start time Example: |
Example
{
"end": "example",
"start": "example"
}
FlexibleCustomerChoice
|
Name |
Description |
|
date |
Type: string<date> Example: |
|
time |
Type: TimeInterval Example
|
Example
{
"date": "2025-01-01",
"time": {
"end": "example",
"start": "example"
}
}
FlexibleTimeIntervalsGridDescriptor
|
Name |
Description |
|
duration |
Type: string Duration of each interval Example: |
|
end |
Type: string Maximum start time for the latest interval Example: |
|
start |
Type: string Start time for the very first interval Example: |
|
step |
Type: string Difference in time between the starts of two neighboring intervals Example: |
Example
{
"duration": "example",
"end": "example",
"start": "example",
"step": "example"
}
FlexibleTimeIntervals
|
Name |
Description |
|
type |
Type: string For the Enum: |
|
grid |
All of 1 type
Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals.
Example: Example
|
|
values |
Type: TimeInterval[] Set the list of intervals directly. Suitable for a small number of delivery intervals. The maximum recommended number of intervals is 20 Example
|
Example
{
"grid": {
"duration": "example",
"end": "example",
"start": "example",
"step": "example"
},
"type": "GRID",
"values": [
{
"end": "example",
"start": "example"
}
]
}
CourierOption
|
Name |
Description |
|
amount |
Type: string<double> Delivery cost Example: |
|
category |
Type: string Enum: |
|
courierOptionId |
Type: string ID of the selected delivery method in the merchant system Example: |
|
title |
Type: string Delivery method name. Shown to the user in the option list Example: |
|
allowedPaymentMethods |
Type: string[] Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in Example
|
|
customerChoice |
All of 1 type
Date and interval selected by the user. Only for Example
|
|
fromDate |
Type: string<date> Closest delivery date for Example: |
|
fromTime |
Type: string Start of the delivery time interval. Only for Example: |
|
provider |
Type: string Delivery service type. Enum: Example: |
|
receipt |
Type: ItemReceipt Example
|
|
timeIntervals |
All of 1 type
Codes the intervals of the delivery time available for selection. Only for Example
|
|
toDate |
Type: string<date> Latest delivery date for Example: |
|
toTime |
Type: string End of the delivery time interval. Only for Example: |
|
type |
Type: string Option type.
For
Default: Enum: |
Example
{
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"customerChoice": {
"date": "2025-01-01",
"time": {
"end": "example",
"start": "example"
}
},
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
"example"
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"timeIntervals": {
"grid": {
"duration": "example",
"end": "example",
"start": "example",
"step": "example"
},
"type": "GRID",
"values": [
null
]
},
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
}
PickupSchedule
|
Name |
Description |
|
fromTime |
Type: string HH:mm, "08:00" Example: |
|
label |
Type: string For example, "Mon-Fri" Example: |
|
toTime |
Type: string HH:mm, "20:00" Example: |
Example
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
PickupOption
|
Name |
Description |
|
address |
Type: string Address in string format Example: |
|
location |
Type: Location Example
|
|
pickupPointId |
Type: string Unique pickup point ID in the merchant's system Example: |
|
title |
Type: string Pickup point's name Example: |
|
allowedPaymentMethods |
Type: string[] 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 Example
|
|
amount |
Type: string<double> Cost of delivery to the location Example: |
|
description |
Type: string Additional description Example: |
|
fromDate |
Type: string<date> YYYY-MM-DD. Closest possible delivery date Example: |
|
phones |
Type: string[] Contact phone numbers Example
|
|
provider |
Type: string Pickup point's type. Enum: |
|
receipt |
Type: ItemReceipt Example
|
|
schedule |
Type: PickupSchedule[] Pickup point's schedule Example
|
|
storagePeriod |
Type: integer Optional. Storage period at the pickup point, in days. |
|
toDate |
Type: string<date> YYYY-MM-DD. Latest delivery date Example: |
Example
{
"address": "example",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"phones": [
"example"
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
"example"
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"schedule": [
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
}
YandexDeliveryOption
|
Name |
Description |
|
amount |
Type: string<double> Delivery cost Example: |
|
category |
Type: string Enum: |
|
title |
Type: string Delivery method name. Shown to the user in the option list Example: |
|
yandexDeliveryOptionId |
Type: string ID of the Yandex Delivery offer Example: |
|
allowedPaymentMethods |
Type: string[] Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in Example
|
|
fromDatetime |
Type: string<date-time> Example: |
|
receipt |
Type: ItemReceipt Example
|
|
toDatetime |
Type: string<date-time> Example: |
Example
{
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"fromDatetime": "2025-01-01T00:00:00Z",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
"example"
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"title": "example",
"toDatetime": "2025-01-01T00:00:00Z",
"yandexDeliveryOptionId": "example"
}
ShippingMethod
|
Name |
Description |
|
methodType |
Type: string Enum: |
|
courierOption |
All of 1 type
if methodType == COURIER Example
|
|
pickupOption |
All of 1 type
if methodType == PICKUP Example
|
|
yandexDeliveryOption |
All of 1 type
if methodType == YANDEX_DELIVERY Example
|
Example
{
"courierOption": {
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"customerChoice": {
"date": "2025-01-01",
"time": null
},
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"timeIntervals": {
"grid": null,
"type": "GRID",
"values": [
null
]
},
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
},
"methodType": "DIRECT",
"pickupOption": {
"address": "example",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"phones": [
"example"
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": null,
"schedule": [
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
},
"yandexDeliveryOption": {
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"fromDatetime": "2025-01-01T00:00:00Z",
"receipt": null,
"title": "example",
"toDatetime": "2025-01-01T00:00:00Z",
"yandexDeliveryOptionId": "example"
}
}
Responses
200 OK
success
Body
application/json
{
"data": {
"availablePaymentMethods": [
"CARD"
],
"cart": {
"coupons": [
{}
],
"discounts": [
{}
],
"externalId": "example",
"items": [
{}
],
"measurements": null,
"total": null
},
"currencyCode": "RUB",
"enableCommentField": true,
"enableCoupons": true,
"metadata": "example",
"orderAmount": "123.45",
"requiredFields": {
"billingContact": null,
"shippingContact": null
},
"shipping": {
"availableCourierOptions": [
{}
],
"availableMethods": [
"DIRECT"
],
"courierOptionsError": "WRONG_ADDRESS",
"yandexDelivery": null
}
},
"status": "example"
}
|
Name |
Description |
|
data |
Type: MerchantRenderOrderResponseData Example
|
|
status |
Type: string Example: |
CartItemWithoutFinalPrice
|
Name |
Description |
|
productId |
Type: string Product ID in the merchant system Make sure that each Example: |
|
quantity |
All of 1 type
Product quantity in the order Example
|
|
description |
Type: string Product description Example: |
|
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
|
measurements |
All of 1 type
Product dimensions and weight. Required for the Example
|
|
pointsAmount |
Type: string<double> Number of Plus points Read-only field. Input values will be ignored. Example: |
|
receipt |
All of 1 type
Data for receipt generation Example
|
|
subtotal |
Type: string<double> Total price per item without discount Example: |
|
title |
Type: string Product name Example: |
|
total |
Type: string<double> Total price per item with item discount Example: |
|
type |
Type: string Product type. Important for integrating with delivery services Default: Enum: |
|
unitPrice |
Type: string<double> Total price per product unit without discount Example: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
null
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
null
]
},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
CartTotal
|
Name |
Description |
|
amount |
Type: string<double> Cart cost with all discounts Example: |
|
label |
Type: string Name of measurement units, for example, "kg" or "pcs" Example: |
|
pointsAmount |
Type: string<double> Number of Plus points Read-only field. Input values will be ignored. Example: |
Example
{
"amount": "123.45",
"label": "example",
"pointsAmount": "123.45"
}
CartWithoutFinalPrice
|
Name |
Description |
|
cartId |
Type: string The internal ID of the Yandex Pay cart. The store's backend must use this parameter as the ID of the customer cart and the idempotency key for the Example: |
|
coupons |
Type: Coupon[] Coupons applied to the cart Example
|
|
discounts |
Type: Discount[] Discounts applied to the cart Example
|
|
externalId |
Type: string Cart ID passed by the merchant Example: |
|
items |
Type: CartItemWithoutFinalPrice[] Example
|
|
measurements |
Type: Measurements Example
|
|
total |
All of 1 type
Total cart cost that the customer is to pay Default: |
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": null
}
RenderedCartItem
|
Name |
Description |
|
productId |
Type: string Product ID in the merchant system Make sure that each Example: |
|
quantity |
All of 1 type
Product quantity in the order Example
|
|
total |
Type: string<double> Total price per item with item discount Example: |
|
description |
Type: string Product description Example: |
|
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
|
measurements |
All of 1 type
Product dimensions and weight. Required for the Example
|
|
pointsAmount |
Type: string<double> Number of Plus points Read-only field. Input values will be ignored. Example: |
|
receipt |
All of 1 type
Data for receipt generation Example
|
|
subtotal |
Type: string<double> Total price per item without discount Example: |
|
title |
Type: string Product name Example: |
|
type |
Type: string Product type. Important for integrating with delivery services Default: Enum: |
|
unitPrice |
Type: string<double> Total price per product unit without discount Example: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
null
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
null
]
},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
RenderedCart
|
Name |
Description |
|
items |
Type: RenderedCartItem[] Cart items that the customer pays for. Example
|
|
total |
All of 1 type
Final order cost. Example
|
|
coupons |
Type: Coupon[] Coupons applied to the cart Example
|
|
discounts |
Type: Discount[] Discounts applied to the cart Example
|
|
externalId |
Type: string Cart ID passed by the merchant Example: |
|
measurements |
Type: Measurements Example
|
Example
{
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": {
"amount": "123.45",
"label": "example",
"pointsAmount": "123.45"
}
}
BillingContactFields
|
Name |
Description |
|
|
Type: boolean |
Example
{
"email": true
}
ContactFields
|
Name |
Description |
|
|
Type: boolean |
|
name |
Type: boolean |
|
phone |
Type: boolean |
Example
{
"email": true,
"name": true,
"phone": true
}
RequiredFields
|
Name |
Description |
|
billingContact |
Type: BillingContactFields Example
|
|
shippingContact |
Type: ContactFields Example
|
Example
{
"billingContact": {
"email": true
},
"shippingContact": {
"email": true,
"name": true,
"phone": true
}
}
CourierOption1
|
Name |
Description |
|
amount |
Type: string<double> Delivery cost Example: |
|
category |
Type: string Enum: |
|
courierOptionId |
Type: string ID of the selected delivery method in the merchant system Example: |
|
title |
Type: string Delivery method name. Shown to the user in the option list Example: |
|
allowedPaymentMethods |
Type: string[] Individual payment methods for the delivery method. Use this parameter if you want to restrict the payment methods specified in Example
|
|
fromDate |
Type: string<date> Closest delivery date for Example: |
|
fromTime |
Type: string Start of the delivery time interval. Only for Example: |
|
provider |
Type: string Delivery service type. Enum: Example: |
|
receipt |
Type: ItemReceipt Example
|
|
timeIntervals |
All of 1 type
Codes the intervals of the delivery time available for selection. Only for Example
|
|
toDate |
Type: string<date> Latest delivery date for Example: |
|
toTime |
Type: string End of the delivery time interval. Only for Example: |
|
type |
Type: string Option type.
For
Default: Enum: |
Example
{
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": null,
"phones": [
"example"
],
"transferOperator": null
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"timeIntervals": {
"grid": {
"duration": "example",
"end": "example",
"start": "example",
"step": "example"
},
"type": "GRID",
"values": [
{
"end": "example",
"start": "example"
}
]
},
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
}
Contact
|
Name |
Description |
|
|
Type: string Example: |
|
firstName |
Type: string Example: |
|
lastName |
Type: string Example: |
|
phone |
Type: string Example: |
|
phoneAdditionalCode |
Type: string Example: |
|
secondName |
Type: string Example: |
Example
{
"email": "example",
"firstName": "example",
"lastName": "example",
"phone": "example",
"phoneAdditionalCode": "example",
"secondName": "example"
}
WeeklySchedule
|
Name |
Description |
|
fri |
All of 1 type
Friday Example
|
|
mon |
All of 1 type
Monday Example
|
|
sat |
All of 1 type
Saturday Example
|
|
sun |
All of 1 type
Sunday Example
|
|
thu |
All of 1 type
Thursday Example
|
|
tue |
All of 1 type
Tuesday Example
|
|
wed |
All of 1 type
Wednesday Example
|
Example
{
"fri": {
"end": "example",
"start": "example"
},
"mon": null,
"sat": null,
"sun": null,
"thu": null,
"tue": null,
"wed": null
}
Schedule
|
Name |
Description |
||
|
tzoffset |
Type: integer Time zone offset from UTC, in minutes. For example, 180 for Moscow (UTC+3) Min value: Max value: |
||
|
weekly |
All of 1 type
Weekly working schedule Example
|
||
|
custom |
Type: object | null
Redefined schedule for specific dates. The keys are dates in the format "YYYY-MM-DD", and the values are objects {"start": string, "end": string} or null for non-business days Example
|
Example
{
"custom": {},
"tzoffset": -720,
"weekly": {
"fri": {
"end": "example",
"start": "example"
},
"mon": null,
"sat": null,
"sun": null,
"thu": null,
"tue": null,
"wed": null
}
}
ShippingWarehouse
|
Name |
Description |
|
address |
Type: Address Example
|
|
contact |
Type: Contact Example
|
|
emergencyContact |
Type: Contact Example
|
|
schedule |
All of 1 type
Working schedule Example
|
Example
{
"address": {
"addressLine": "example",
"building": "example",
"comment": "example",
"country": "example",
"district": "example",
"entrance": "example",
"floor": "example",
"intercom": "example",
"locale": "example",
"locality": "example",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"region": "example",
"room": "example",
"street": "example",
"zip": "example"
},
"contact": {
"email": "example",
"firstName": "example",
"lastName": "example",
"phone": "example",
"phoneAdditionalCode": "example",
"secondName": "example"
},
"emergencyContact": null,
"schedule": {
"custom": {},
"tzoffset": -720,
"weekly": {
"fri": null,
"mon": null,
"sat": null,
"sun": null,
"thu": null,
"tue": null,
"wed": null
}
}
}
YandexDeliveryShippingParams
|
Name |
Description |
|
warehouse |
Type: ShippingWarehouse Example
|
Example
{
"warehouse": {
"address": {
"addressLine": "example",
"building": "example",
"comment": "example",
"country": "example",
"district": "example",
"entrance": "example",
"floor": "example",
"intercom": "example",
"locale": "example",
"locality": "example",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"region": "example",
"room": "example",
"street": "example",
"zip": "example"
},
"contact": {
"email": "example",
"firstName": "example",
"lastName": "example",
"phone": "example",
"phoneAdditionalCode": "example",
"secondName": "example"
},
"emergencyContact": null,
"schedule": {
"custom": {},
"tzoffset": -720,
"weekly": null
}
}
}
ShippingOptions
|
Name |
Description |
|
availableMethods |
Type: string[] Example
|
|
availableCourierOptions |
Type: CourierOption1[] Available delivery options (if the request includes an address) Example
|
|
courierOptionsError |
Type: string Error of identifying a delivery option. When this parameter is specified, an error description will be shown in the user interface. Enum: Example: |
|
yandexDelivery |
Type: YandexDeliveryShippingParams Example
|
Example
{
"availableCourierOptions": [
{
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": {
"agent": null,
"excise": "123.45",
"markQuantity": null,
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": null,
"tax": 1,
"title": "example"
},
"timeIntervals": {
"grid": null,
"type": "GRID",
"values": [
null
]
},
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
}
],
"availableMethods": [
"DIRECT"
],
"courierOptionsError": "WRONG_ADDRESS",
"yandexDelivery": {
"warehouse": {
"address": {
"addressLine": "example",
"building": "example",
"comment": "example",
"country": "example",
"district": "example",
"entrance": "example",
"floor": "example",
"intercom": "example",
"locale": "example",
"locality": "example",
"location": null,
"region": "example",
"room": "example",
"street": "example",
"zip": "example"
},
"contact": {
"email": "example",
"firstName": "example",
"lastName": "example",
"phone": "example",
"phoneAdditionalCode": "example",
"secondName": "example"
},
"emergencyContact": null,
"schedule": null
}
}
}
MerchantRenderOrderResponseData
|
Name |
Description |
|
cart |
All of 1 type
Cart Example
|
|
currencyCode |
Type: string Three-letter code of the order currency code (ISO 4217) Const: Example: |
|
availablePaymentMethods |
Type: string[] Payment methods available in the Yandex Pay payment form. Be sure to specify all the possible methods the user can choose both when paying online and when paying on delivery. If you are integrating payments only with one method (for example, Split), specify a single method ( Example
|
|
enableCommentField |
Type: boolean |
|
enableCoupons |
Type: boolean |
|
metadata |
Type: string Arbitrary data transmitted at button initialization Example: |
|
orderAmount |
Type: string<double> Total cost of the order to be paid, including refunds, delivery costs, discounts, and promo codes Example: |
|
requiredFields |
All of 1 type
User data needed to create an order Example
|
|
shipping |
Type: ShippingOptions Example
|
Example
{
"availablePaymentMethods": [
"CARD"
],
"cart": {
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": null,
"pointsAmount": "123.45",
"productId": "example",
"quantity": null,
"receipt": null,
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"total": {
"amount": "123.45",
"label": "example",
"pointsAmount": "123.45"
}
},
"currencyCode": "RUB",
"enableCommentField": true,
"enableCoupons": true,
"metadata": "example",
"orderAmount": "123.45",
"requiredFields": {
"billingContact": {
"email": true
},
"shippingContact": {
"email": true,
"name": true,
"phone": true
}
},
"shipping": {
"availableCourierOptions": [
{
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"category": "EXPRESS",
"courierOptionId": "example",
"fromDate": "2025-01-01",
"fromTime": "example",
"provider": "BOXBERRY",
"receipt": null,
"timeIntervals": null,
"title": "example",
"toDate": "2025-01-01",
"toTime": "example",
"type": "PLAIN"
}
],
"availableMethods": [
"DIRECT"
],
"courierOptionsError": "WRONG_ADDRESS",
"yandexDelivery": {
"warehouse": null
}
}
}
400 Bad Request
bad request
Body
application/json
{
"reason": "example",
"reasonCode": "FORBIDDEN",
"status": "fail"
}
|
Name |
Description |
|
reasonCode |
Type: string Enum: |
|
reason |
Type: string Example: |
|
status |
Type: string Default: |
No longer supported, please use an alternative and newer version.