/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": "string",
        "coupons": [
            {
                "description": "string",
                "status": "VALID",
                "value": "string"
            }
        ],
        "discounts": [
            {
                "amount": "123.45",
                "description": "string",
                "discountId": "string"
            }
        ],
        "externalId": "string",
        "items": [
            {
                "description": "string",
                "discountedUnitPrice": "123.45",
                "measurements": {
                    "height": 0,
                    "length": 0,
                    "weight": 0,
                    "width": 0
                },
                "pointsAmount": "123.45",
                "productId": "string",
                "quantity": {
                    "available": "123.45",
                    "count": "123.45",
                    "label": "string"
                },
                "receipt": {
                    "agent": {
                        "agentType": 1,
                        "operation": "string",
                        "paymentsOperator": {
                            "phones": [
                                "string"
                            ]
                        },
                        "phones": [
                            "string"
                        ],
                        "transferOperator": {
                            "address": "string",
                            "inn": "string",
                            "name": "string",
                            "phones": [
                                "string"
                            ]
                        }
                    },
                    "excise": "123.45",
                    "markQuantity": {
                        "denominator": 0,
                        "numerator": 0
                    },
                    "measure": 0,
                    "paymentMethodType": 1,
                    "paymentSubjectType": 1,
                    "productCode": "string",
                    "supplier": {
                        "inn": "string",
                        "name": "string",
                        "phones": [
                            "string"
                        ]
                    },
                    "tax": 1,
                    "title": "string"
                },
                "subtotal": "123.45",
                "title": "string",
                "total": "123.45",
                "type": "PHYSICAL",
                "unitPrice": "123.45"
            }
        ],
        "measurements": {
            "height": 0,
            "length": 0,
            "weight": 0,
            "width": 0
        },
        "total": {
            "amount": "123.45",
            "label": "string",
            "pointsAmount": "123.45"
        }
    },
    "currencyCode": "RUB",
    "merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
    "metadata": "string",
    "orderId": "string",
    "paymentMethod": {
        "cardLast4": "string",
        "cardNetwork": "AMEX",
        "methodType": "CARD"
    },
    "shippingAddress": {
        "addressLine": "string",
        "building": "string",
        "comment": "string",
        "country": "string",
        "district": "string",
        "entrance": "string",
        "floor": "string",
        "intercom": "string",
        "locale": "string",
        "locality": "string",
        "location": {
            "latitude": 0,
            "longitude": 0
        },
        "region": "string",
        "room": "string",
        "street": "string",
        "zip": "string"
    },
    "shippingMethod": {
        "courierOption": {
            "allowedPaymentMethods": [
                "CARD"
            ],
            "amount": "123.45",
            "category": "EXPRESS",
            "courierOptionId": "string",
            "customerChoice": {
                "date": "string",
                "time": {
                    "end": "string",
                    "start": "string"
                }
            },
            "fromDate": "string",
            "fromTime": "string",
            "provider": "BOXBERRY",
            "receipt": {
                "agent": {
                    "agentType": 1,
                    "operation": "string",
                    "paymentsOperator": {
                        "phones": [
                            "string"
                        ]
                    },
                    "phones": [
                        "string"
                    ],
                    "transferOperator": {
                        "address": "string",
                        "inn": "string",
                        "name": "string",
                        "phones": [
                            "string"
                        ]
                    }
                },
                "excise": "123.45",
                "markQuantity": {
                    "denominator": 0,
                    "numerator": 0
                },
                "measure": 0,
                "paymentMethodType": 1,
                "paymentSubjectType": 1,
                "productCode": "string",
                "supplier": {
                    "inn": "string",
                    "name": "string",
                    "phones": [
                        "string"
                    ]
                },
                "tax": 1,
                "title": "string"
            },
            "timeIntervals": {
                "grid": {
                    "duration": "string",
                    "end": "string",
                    "start": "string",
                    "step": "string"
                },
                "type": "GRID",
                "values": [
                    {
                        "end": "string",
                        "start": "string"
                    }
                ]
            },
            "title": "string",
            "toDate": "string",
            "toTime": "string",
            "type": "PLAIN"
        },
        "methodType": "DIRECT",
        "pickupOption": {
            "address": "string",
            "allowedPaymentMethods": [
                "CARD"
            ],
            "amount": "123.45",
            "description": "string",
            "fromDate": "string",
            "location": {
                "latitude": 0,
                "longitude": 0
            },
            "phones": [
                "string"
            ],
            "pickupPointId": "string",
            "provider": "YANDEX_MARKET",
            "receipt": {
                "agent": {
                    "agentType": 1,
                    "operation": "string",
                    "paymentsOperator": {
                        "phones": [
                            "string"
                        ]
                    },
                    "phones": [
                        "string"
                    ],
                    "transferOperator": {
                        "address": "string",
                        "inn": "string",
                        "name": "string",
                        "phones": [
                            "string"
                        ]
                    }
                },
                "excise": "123.45",
                "markQuantity": {
                    "denominator": 0,
                    "numerator": 0
                },
                "measure": 0,
                "paymentMethodType": 1,
                "paymentSubjectType": 1,
                "productCode": "string",
                "supplier": {
                    "inn": "string",
                    "name": "string",
                    "phones": [
                        "string"
                    ]
                },
                "tax": 1,
                "title": "string"
            },
            "schedule": [
                {
                    "fromTime": "string",
                    "label": "string",
                    "toTime": "string"
                }
            ],
            "storagePeriod": 0,
            "title": "string",
            "toDate": "string"
        },
        "yandexDeliveryOption": {
            "allowedPaymentMethods": [
                "CARD"
            ],
            "amount": "123.45",
            "category": "EXPRESS",
            "fromDatetime": "2022-12-29T18:02:01Z",
            "receipt": {
                "agent": {
                    "agentType": 1,
                    "operation": "string",
                    "paymentsOperator": {
                        "phones": [
                            "string"
                        ]
                    },
                    "phones": [
                        "string"
                    ],
                    "transferOperator": {
                        "address": "string",
                        "inn": "string",
                        "name": "string",
                        "phones": [
                            "string"
                        ]
                    }
                },
                "excise": "123.45",
                "markQuantity": {
                    "denominator": 0,
                    "numerator": 0
                },
                "measure": 0,
                "paymentMethodType": 1,
                "paymentSubjectType": 1,
                "productCode": "string",
                "supplier": {
                    "inn": "string",
                    "name": "string",
                    "phones": [
                        "string"
                    ]
                },
                "tax": 1,
                "title": "string"
            },
            "title": "string",
            "toDatetime": "2022-12-29T18:02:01Z",
            "yandexDeliveryOptionId": "string"
        }
    }
}

Name

Description

cart*

Type: CartWithoutFinalPrice

Cart with prices, dimensions, and weight of the products

currencyCode*

Type: string

Three-letter code of the order currency code (ISO 4217)

Enum: RUB

merchantId

Type: string<uuid>

metadata

Type: string

Arbitrary data transmitted at button initialization

orderId

Type: string

ID assigned to the existing order on the merchant side and transmitted at button initialization

paymentMethod

Type: PaymentMethod

Selected payment method

shippingAddress

Type: Address

Delivery address is available if the COURIER method is selected

shippingMethod

Type: ShippingMethod

Selected delivery method.

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 /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).

coupons

Type: Coupon[]

Coupons applied to the cart

discounts

Type: Discount[]

Discounts applied to the cart

externalId

Type: string

Cart ID passed by the merchant

items

Type: CartItemWithoutFinalPrice[]

measurements

Type: Measurements

total

Type: CartTotal

Total cart cost that the customer is to pay

PaymentMethod

Name

Description

methodType*

Type: string

Enum: CARD, SPLIT, SBP, SPLIT_SBP, CASH_ON_DELIVERY, CARD_ON_DELIVERY

cardLast4

Type: string

cardNetwork

Type: string

Payment system

Enum: AMEX, DISCOVER, JCB, MASTERCARD, MAESTRO, VISAELECTRON, VISA, MIR, UNIONPAY, UZCARD, HUMOCARD, UNKNOWN, UNDEFINED, null

Address

Name

Description

building*

Type: string

country*

Type: string

addressLine

Type: string

Full address

comment

Type: string

district

Type: string

entrance

Type: string

floor

Type: string

intercom

Type: string

locale

Type: string

locality

Type: string

location

Type: Location

region

Type: string

room

Type: string

street

Type: string

zip

Type: string

ShippingMethod

Name

Description

methodType*

Type: string

Enum: DIRECT, PICKUP, COURIER, YANDEX_DELIVERY

courierOption

Type: CourierOption

if methodType == COURIER

pickupOption

Type: PickupOption

if methodType == PICKUP

yandexDeliveryOption

Type: YandexDeliveryOption

if methodType == YANDEX_DELIVERY

Coupon

Name

Description

value*

Type: string

Coupon code

description

Type: string

Description For example, "3% discount"

status

Type: string

Enum: VALID, INVALID, EXPIRED, null

Discount

Name

Description

amount*

Type: string<double>

Discount amount

Example: 123.45

description*

Type: string

Text description

discountId*

Type: string

Discount ID in the merchant system

CartItemWithoutFinalPrice

Name

Description

productId*

Type: string

Product ID in the merchant system Make sure that each productId in the request parameters is unique.

quantity*

Type: ItemQuantity

Product quantity in the order

description

Type: string

Product description

discountedUnitPrice

Type: string<double>

Price per product unit with discount per item

Example: 123.45

measurements

Type: Measurements

Product dimensions and weight. Required for the PHYSICAL product

pointsAmount

Type: string<double>

Number of Plus points

Example: 123.45

receipt

Type: ItemReceipt

Data for receipt generation

subtotal

Type: string<double>

Total price per item without discount

Example: 123.45

title

Type: string

Product name

total

Type: string<double>

Total price per item with item discount

Example: 123.45

type

Type: string

Product type. Important for integrating with delivery services

Default: UNSPECIFIED

Enum: PHYSICAL, DIGITAL, UNSPECIFIED

unitPrice

Type: string<double>

Total price per product unit without discount

Example: 123.45

Measurements

Name

Description

height*

Type: number<float>

Height, in meters

length*

Type: number<float>

Length, in meters

weight*

Type: number<float>

Weight, in kilograms

width*

Type: number<float>

Width, in meters

CartTotal

Name

Description

amount*

Type: string<double>

Cart cost with all discounts

Example: 123.45

label

Type: string

Name of measurement units, for example, "kg" or "pcs"

pointsAmount

Type: string<double>

Number of plus points

Example: 123.45

Location

Name

Description

latitude*

Type: number<float>

longitude*

Type: number<float>

CourierOption

Name

Description

amount*

Type: string<double>

Delivery cost

Example: 123.45

category*

Type: string

Enum: EXPRESS, TODAY, STANDARD

courierOptionId*

Type: string

ID of the selected delivery method in the merchant system

title*

Type: string

Delivery method name. Shown to the user in the option list

allowedPaymentMethods

Type: string[]

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.

Enum: CARD, SPLIT, CASH_ON_DELIVERY, CARD_ON_DELIVERY

customerChoice

Type: FlexibleCustomerChoice

Date and interval selected by the user. Only for type: FLEXIBLE

fromDate

Type: string<date>

Closest delivery date for type: PLAIN. Start of the interval of the delivery date selection for type: FLEXIBLE

fromTime

Type: string

Start of the delivery time interval. Only for type: PLAIN

provider

Type: string

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

receipt

Type: ItemReceipt

timeIntervals

Type: FlexibleTimeIntervals

Codes the intervals of the delivery time available for selection. Only for type: FLEXIBLE

toDate

Type: string<date>

Latest delivery date for type: PLAIN. End of the interval of the delivery date selection for type: FLEXIBLE

toTime

Type: string

End of the delivery time interval. Only for type: PLAIN

type

Type: string

Option type. For FLEXIBLE delivery options, the user can select the desirable date and interval:

  • The delivery date is selected by the user in the interval [fromDate, toDate]
  • To give the user an option to select an interval within a day, fill out timeIntervals No such choice is provided for PLAIN options.

Default: PLAIN

Enum: PLAIN, FLEXIBLE

PickupOption

Name

Description

address*

Type: string

Address in string format

location*

Type: Location

pickupPointId*

Type: string

Unique pickup point ID in the merchant's system

title*

Type: string

Pickup point's name

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 availablePaymentMethods. If the parameter is omitted, all the payment methods listed in availablePaymentMethods are used.

Enum: CARD, SPLIT, CASH_ON_DELIVERY, CARD_ON_DELIVERY

amount

Type: string<double>

Cost of delivery to the location

Example: 123.45

description

Type: string

Additional description

fromDate

Type: string<date>

YYYY-MM-DD. Closest possible delivery date

phones

Type: string[]

Contact phone numbers

provider

Type: string

Pickup point's type.

Enum: YANDEX_MARKET, BOXBERRY, CDEK, IN_STORE, RUSSIAN_POST, PICKPOINT, DPD

receipt

Type: ItemReceipt

schedule

Type: PickupSchedule[]

Pickup point's schedule

storagePeriod

Type: integer<int32>

Optional. Storage period at the pickup point, in days.

toDate

Type: string<date>

YYYY-MM-DD. Latest delivery date

YandexDeliveryOption

Name

Description

amount*

Type: string<double>

Delivery cost

Example: 123.45

category*

Type: string

Enum: EXPRESS, TODAY, STANDARD

title*

Type: string

Delivery method name. Shown to the user in the option list

yandexDeliveryOptionId*

Type: string

ID of the Yandex Delivery offer

allowedPaymentMethods

Type: string[]

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.

Enum: CARD, SPLIT, CASH_ON_DELIVERY, CARD_ON_DELIVERY

fromDatetime

Type: string<date-time>

receipt

Type: ItemReceipt

toDatetime

Type: string<date-time>

ItemQuantity

Name

Description

count*

Type: string<double>

Product quantity in the order

Example: 123.45

available

Type: string<double>

Maximum available product quantity

Example: 123.45

label

Type: string

Name of measurement units, for example, "kg" or "pcs"

ItemReceipt

Name

Description

tax*

Type: integer

Value description: Link

Enum: 1, 2, 3, 4, 5, 6

agent

Type: Agent

excise

Type: string<double>

It shouldn't include more than two decimal digits. For example: 1.12, 5.1, 10, 11.00 .

Example: 123.45

markQuantity

Type: MarkQuantity

measure

Type: integer

Value description: Link

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

paymentMethodType

Type: integer

Value description: Link

Enum: 1, 2, 3, 4, 5, 6, 7, null

paymentSubjectType

Type: integer

Value description: Link

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

productCode

Type: string<base64>

Product code (a base64-encoded array of 1 to 32 bytes)

supplier

Type: Supplier

title

Type: string

FlexibleCustomerChoice

Name

Description

date*

Type: string<date>

time

Type: TimeInterval

FlexibleTimeIntervals

Name

Description

type*

Type: string

For the GRID type, fill in the grid field. If the VALUES type is specified, set the values field.

Enum: GRID, VALUES

grid

Type: FlexibleTimeIntervalsGridDescriptor

Encodes the intervals as a grid. Use this format if you want to set more than 20 delivery intervals. Example: {"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"}]

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

PickupSchedule

Name

Description

fromTime*

Type: string

HH:mm, "08:00"

label*

Type: string

For example, "Mon-Fri"

toTime*

Type: string

HH:mm, "20:00"

Agent

Name

Description

agentType*

Type: integer

Agent type by taxable object. See values

Enum: 1, 2, 3, 4, 5, 6, 7

operation

Type: string

paymentsOperator

Type: PaymentsOperator

phones

Type: string[]

transferOperator

Type: TransferOperator

MarkQuantity

Name

Description

denominator*

Type: integer<int32>

numerator*

Type: integer<int32>

Supplier

Name

Description

inn

Type: string

name

Type: string

phones

Type: string[]

TimeInterval

Name

Description

end*

Type: string

Interval end time

start*

Type: string

Interval start time

FlexibleTimeIntervalsGridDescriptor

Name

Description

duration*

Type: string

Duration of each interval

end*

Type: string

Maximum start time for the latest interval

start*

Type: string

Start time for the very first interval

step*

Type: string

Difference in time between the starts of two neighboring intervals

PaymentsOperator

Name

Description

phones

Type: string[]

TransferOperator

Name

Description

address

Type: string

inn

Type: string

name

Type: string

phones

Type: string[]

Responses

200 OK

success

Body

application/json
{
    "data": {
        "availablePaymentMethods": [
            "CARD"
        ],
        "cart": {
            "coupons": [
                {
                    "description": "string",
                    "status": "VALID",
                    "value": "string"
                }
            ],
            "discounts": [
                {
                    "amount": "123.45",
                    "description": "string",
                    "discountId": "string"
                }
            ],
            "externalId": "string",
            "items": [
                {
                    "description": "string",
                    "discountedUnitPrice": "123.45",
                    "measurements": {
                        "height": 0,
                        "length": 0,
                        "weight": 0,
                        "width": 0
                    },
                    "pointsAmount": "123.45",
                    "productId": "string",
                    "quantity": {
                        "available": "123.45",
                        "count": "123.45",
                        "label": "string"
                    },
                    "receipt": {
                        "agent": {
                            "agentType": 1,
                            "operation": "string",
                            "paymentsOperator": {
                                "phones": [
                                    "string"
                                ]
                            },
                            "phones": [
                                "string"
                            ],
                            "transferOperator": {
                                "address": "string",
                                "inn": "string",
                                "name": "string",
                                "phones": [
                                    "string"
                                ]
                            }
                        },
                        "excise": "123.45",
                        "markQuantity": {
                            "denominator": 0,
                            "numerator": 0
                        },
                        "measure": 0,
                        "paymentMethodType": 1,
                        "paymentSubjectType": 1,
                        "productCode": "string",
                        "supplier": {
                            "inn": "string",
                            "name": "string",
                            "phones": [
                                "string"
                            ]
                        },
                        "tax": 1,
                        "title": "string"
                    },
                    "subtotal": "123.45",
                    "title": "string",
                    "total": "123.45",
                    "type": "PHYSICAL",
                    "unitPrice": "123.45"
                }
            ],
            "measurements": {
                "height": 0,
                "length": 0,
                "weight": 0,
                "width": 0
            },
            "total": {
                "amount": "123.45",
                "label": "string",
                "pointsAmount": "123.45"
            }
        },
        "currencyCode": "RUB",
        "enableCommentField": false,
        "enableCoupons": false,
        "metadata": "string",
        "orderAmount": "123.45",
        "requiredFields": {
            "billingContact": {
                "email": false
            },
            "shippingContact": {
                "email": false,
                "name": false,
                "phone": false
            }
        },
        "shipping": {
            "availableCourierOptions": [
                {
                    "allowedPaymentMethods": [
                        "CARD"
                    ],
                    "amount": "123.45",
                    "category": "EXPRESS",
                    "courierOptionId": "string",
                    "fromDate": "string",
                    "fromTime": "string",
                    "provider": "BOXBERRY",
                    "receipt": {
                        "agent": {
                            "agentType": 1,
                            "operation": "string",
                            "paymentsOperator": {
                                "phones": [
                                    "string"
                                ]
                            },
                            "phones": [
                                "string"
                            ],
                            "transferOperator": {
                                "address": "string",
                                "inn": "string",
                                "name": "string",
                                "phones": [
                                    "string"
                                ]
                            }
                        },
                        "excise": "123.45",
                        "markQuantity": {
                            "denominator": 0,
                            "numerator": 0
                        },
                        "measure": 0,
                        "paymentMethodType": 1,
                        "paymentSubjectType": 1,
                        "productCode": "string",
                        "supplier": {
                            "inn": "string",
                            "name": "string",
                            "phones": [
                                "string"
                            ]
                        },
                        "tax": 1,
                        "title": "string"
                    },
                    "timeIntervals": {
                        "grid": {
                            "duration": "string",
                            "end": "string",
                            "start": "string",
                            "step": "string"
                        },
                        "type": "GRID",
                        "values": [
                            {
                                "end": "string",
                                "start": "string"
                            }
                        ]
                    },
                    "title": "string",
                    "toDate": "string",
                    "toTime": "string",
                    "type": "PLAIN"
                }
            ],
            "availableMethods": [
                "DIRECT"
            ],
            "courierOptionsError": "WRONG_ADDRESS",
            "yandexDelivery": {
                "warehouse": {
                    "address": {
                        "addressLine": "string",
                        "building": "string",
                        "comment": "string",
                        "country": "string",
                        "district": "string",
                        "entrance": "string",
                        "floor": "string",
                        "intercom": "string",
                        "locale": "string",
                        "locality": "string",
                        "location": {
                            "latitude": 0,
                            "longitude": 0
                        },
                        "region": "string",
                        "room": "string",
                        "street": "string",
                        "zip": "string"
                    },
                    "contact": {
                        "email": "string",
                        "firstName": "string",
                        "lastName": "string",
                        "phone": "string",
                        "phoneAdditionalCode": "string",
                        "secondName": "string"
                    },
                    "emergencyContact": {
                        "email": "string",
                        "firstName": "string",
                        "lastName": "string",
                        "phone": "string",
                        "phoneAdditionalCode": "string",
                        "secondName": "string"
                    },
                    "schedule": {
                        "custom": {
                            "end": "string",
                            "start": "string"
                        },
                        "tzoffset": 0,
                        "weekly": {
                            "fri": {
                                "end": "string",
                                "start": "string"
                            },
                            "mon": {
                                "end": "string",
                                "start": "string"
                            },
                            "sat": {
                                "end": "string",
                                "start": "string"
                            },
                            "sun": {
                                "end": "string",
                                "start": "string"
                            },
                            "thu": {
                                "end": "string",
                                "start": "string"
                            },
                            "tue": {
                                "end": "string",
                                "start": "string"
                            },
                            "wed": {
                                "end": "string",
                                "start": "string"
                            }
                        }
                    }
                }
            }
        }
    },
    "status": "string"
}

Name

Description

data*

Type: MerchantRenderOrderResponseData

status*

Type: string

MerchantRenderOrderResponseData

Name

Description

cart*

Type: RenderedCart

Cart

currencyCode*

Type: string

Three-letter code of the order currency code (ISO 4217)

Enum: RUB

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 (["SPLIT"]).

Enum: CARD, SPLIT, CASH_ON_DELIVERY, CARD_ON_DELIVERY

enableCommentField

Type: boolean

enableCoupons

Type: boolean

metadata

Type: string

Arbitrary data transmitted at button initialization

orderAmount

Type: string<double>

Total cost of the order to be paid, including refunds, delivery costs, discounts, and promo codes

Example: 123.45

requiredFields

Type: RequiredFields

User data needed to create an order

shipping

Type: ShippingOptions

RenderedCart

Name

Description

items*

Type: RenderedCartItem[]

Cart items that the customer pays for.

total*

Type: CartTotal

Final order cost.

coupons

Type: Coupon[]

Coupons applied to the cart

discounts

Type: Discount[]

Discounts applied to the cart

externalId

Type: string

Cart ID passed by the merchant

measurements

Type: Measurements

RequiredFields

Name

Description

billingContact

Type: BillingContactFields

shippingContact

Type: ContactFields

ShippingOptions

Name

Description

availableMethods*

Type: string[]

Enum: DIRECT, PICKUP, COURIER, YANDEX_DELIVERY

availableCourierOptions

Type: CourierOption1[]

Available delivery options (if the request includes an address)

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: WRONG_ADDRESS, DELIVERY_NOT_AVAILABLE_FOR_ADDRESS, null

yandexDelivery

Type: YandexDeliveryShippingParams

RenderedCartItem

Name

Description

productId*

Type: string

Product ID in the merchant system Make sure that each productId in the request parameters is unique.

quantity*

Type: ItemQuantity

Product quantity in the order

total*

Type: string<double>

Total price per item with item discount

Example: 123.45

description

Type: string

Product description

discountedUnitPrice

Type: string<double>

Price per product unit with discount per item

Example: 123.45

measurements

Type: Measurements

Product dimensions and weight. Required for the PHYSICAL product

pointsAmount

Type: string<double>

Number of Plus points

Example: 123.45

receipt

Type: ItemReceipt

Data for receipt generation

subtotal

Type: string<double>

Total price per item without discount

Example: 123.45

title

Type: string

Product name

type

Type: string

Product type. Important for integrating with delivery services

Default: UNSPECIFIED

Enum: PHYSICAL, DIGITAL, UNSPECIFIED

unitPrice

Type: string<double>

Total price per product unit without discount

Example: 123.45

BillingContactFields

Name

Description

email

Type: boolean

ContactFields

Name

Description

email

Type: boolean

name

Type: boolean

phone

Type: boolean

CourierOption1

Name

Description

amount*

Type: string<double>

Delivery cost

Example: 123.45

category*

Type: string

Enum: EXPRESS, TODAY, STANDARD

courierOptionId*

Type: string

ID of the selected delivery method in the merchant system

title*

Type: string

Delivery method name. Shown to the user in the option list

allowedPaymentMethods

Type: string[]

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.

Enum: CARD, SPLIT, CASH_ON_DELIVERY, CARD_ON_DELIVERY

fromDate

Type: string<date>

Closest delivery date for type: PLAIN. Start of the interval of the delivery date selection for type: FLEXIBLE

fromTime

Type: string

Start of the delivery time interval. Only for type: PLAIN

provider

Type: string

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

receipt

Type: ItemReceipt

timeIntervals

Type: FlexibleTimeIntervals

Codes the intervals of the delivery time available for selection. Only for type: FLEXIBLE

toDate

Type: string<date>

Latest delivery date for type: PLAIN. End of the interval of the delivery date selection for type: FLEXIBLE

toTime

Type: string

End of the delivery time interval. Only for type: PLAIN

type

Type: string

Option type. For FLEXIBLE delivery options, the user can select the desirable date and interval:

  • The delivery date is selected by the user in the interval [fromDate, toDate]
  • To give the user an option to select an interval within a day, fill out timeIntervals No such choice is provided for PLAIN options.

Default: PLAIN

Enum: PLAIN, FLEXIBLE

YandexDeliveryShippingParams

Name

Description

warehouse

Type: ShippingWarehouse

ShippingWarehouse

Name

Description

address*

Type: Address

contact*

Type: Contact

emergencyContact*

Type: Contact

schedule

Type: Schedule

Working schedule

Contact

Name

Description

email

Type: string

firstName

Type: string

lastName

Type: string

phone

Type: string

phoneAdditionalCode

Type: string

secondName

Type: string

Schedule

Name

Description

tzoffset*

Type: integer<int32>

Time zone offset from UTC, in minutes. For example, 180 for Moscow (UTC+3)

Min value: -720

Max value: 840

weekly*

Type: WeeklySchedule

Weekly working schedule

custom

Type: TimeInterval1

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

WeeklySchedule

Name

Description

fri

Type: TimeInterval

Friday

mon

Type: TimeInterval

Monday

sat

Type: TimeInterval

Saturday

sun

Type: TimeInterval

Sunday

thu

Type: TimeInterval

Thursday

tue

Type: TimeInterval

Tuesday

wed

Type: TimeInterval

Wednesday

TimeInterval1

Name

Description

end*

Type: string

Interval end time

start*

Type: string

Interval start time

400 Bad Request

bad request

Body

application/json
{
    "reason": "string",
    "reasonCode": "FORBIDDEN",
    "status": "fail"
}

Name

Description

reasonCode*

Type: string

Enum: FORBIDDEN, ITEM_NOT_FOUND, ORDER_NOT_FOUND, ORDER_AMOUNT_MISMATCH, ORDER_DETAILS_MISMATCH, OUT_OF_INVENTORY, PICKUP_POINT_NOT_FOUND, SHIPPING_DETAILS_MISMATCH, OTHER, UNAUTHORIZED, TOKEN_EXPIRED, CONFLICT

reason

Type: string

status

Type: string

Default: fail