/v1/orders
Запрос на создание заказа. Возвращает ссылку на оплату заказа.
Request
POST
https://pay.yandex.ru/api/merchant/v1/orders
Production
POST
https://sandbox.pay.yandex.ru/api/merchant/v1/orders
Sandbox
Body
application/json
{
"availablePaymentMethods": null,
"billingPhone": "string",
"cart": {
"externalId": "string",
"items": [
{
"description": "string",
"discountedUnitPrice": "123.45",
"features": {
"pointsDisabled": false,
"tariffModifier": "VERY_LOW"
},
"productId": "string",
"quantity": {
"available": "123.45",
"count": "123.45"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "string",
"paymentsOperator": {
"phones": [
"string"
]
},
"phones": [
"string"
],
"transferOperator": {
"address": "string",
"inn": "string",
"name": "string",
"phones": [
"string"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "string",
"supplier": {
"inn": "string",
"name": "string",
"phones": [
"string"
]
},
"tax": 1,
"title": "string"
},
"skuId": "string",
"subtotal": "123.45",
"title": "string",
"total": "123.45",
"unitPrice": "123.45"
}
],
"total": {
"amount": "123.45"
}
},
"currencyCode": "RUB",
"extensions": {
"billingReport": {
"branchId": null,
"managerId": null
},
"paymentData": {
"saleToken": "string"
},
"qrData": {
"token": "string"
},
"smsOffer": {
"phone": "string"
}
},
"isPrepayment": false,
"metadata": "string",
"orderId": "string",
"orderSource": "WEBSITE",
"preferredPaymentMethod": "FULLPAYMENT",
"publicConstructor": "string",
"purpose": "string",
"redirectUrls": {
"onAbort": "string",
"onError": "string",
"onSuccess": "string"
},
"risk": {
"billingPhone": "string",
"customerAggregates": {
"amountFirstSuccessfulOrder": "123.45",
"amountLatestSuccessfulOrder": "123.45",
"cookie": "string",
"daysSinceLastPasswordReset": 0,
"failedLoginAttemptsOneDay": 0,
"failedLoginAttemptsSevenDays": 0,
"firstSuccessfulOrderDate": "2025-01-15",
"historicalCookieLogin": false,
"historicalDeviceLogin": false,
"lastPasswordResetDate": "2025-01-15",
"latestSuccessfulOrderLastYearDate": "2025-01-15",
"previousSuccessfulOrdersAtSameAddress": false,
"redemptionRateLastHalfYear": "123.45",
"registrationDate": "2025-01-15"
},
"deviceId": "string",
"isExpressShipping": false,
"merchantMcc": "string",
"merchantName": "string",
"merchantOfflinePosLegalAddress": "string",
"merchantTaxRefNumber": "string",
"periodCheckAggregates": {
"successfulOrdersCountNineMonths": 0,
"successfulOrdersCountOneMonth": 0,
"successfulOrdersCountSixMonths": 0,
"successfulOrdersCountThreeMonths": 0,
"successfulOrdersCountTwelveMonths": 0,
"totalAmountSuccessfulOrdersNineMonths": "123.45",
"totalAmountSuccessfulOrdersOneMonth": "123.45",
"totalAmountSuccessfulOrdersSixMonths": "123.45",
"totalAmountSuccessfulOrdersThreeMonths": "123.45",
"totalAmountSuccessfulOrdersTwelveMonths": "123.45"
},
"qrType": "static",
"qrcId": "string",
"shippingAddress": "string",
"shippingPhone": 71234567890,
"shippingType": "COURIER"
},
"ttl": 1800
}
|
Name |
Description |
|
cart* |
Type: RenderedCart Корзина |
|
currencyCode* |
Type: string Трехбуквенный код валюты заказа (ISO 4217) Max length: Enum: |
|
orderId* |
Type: string Уникальный идентификатор заказа на стороне продавца. Используется:
Max length: |
|
availablePaymentMethods |
Type: string[] Доступные методы оплаты на платежной форме Яндекс Пэй. Если вы интегрируете оплату только одним методом, например, Карта — указывается один метод Enum: Default: Min items: |
|
billingPhone |
Type: string Номер телефона клиента. Используется для упрощения авторизации, а также может увеличить вероятность одобрения по Сплиту. Для номера телефона предлагаем использовать формат Например, такие переданные значения Max length: |
|
extensions |
Type: OrderExtensions Дополнительные параметры для оформления офлайн заказа |
|
isPrepayment |
Type: boolean Проводить ли заказ по флоу «отложенной оплаты». Если параметр установлен в |
|
metadata |
Type: string Произвольные данные по заказу для внутреннего использования Max length: |
|
orderSource |
Type: string Поверхность на которой инициализировали создание заказа Необходимо для последующей аналитики WEBSITE: Кнопка размещена на сайте. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя на сайте APP: Кнопка размещена в мобильном приложении. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя в приложении CRM: Ссылка на оплату сформирована менеджером в CRM или другой админке CASH_REGISTER: Ссылка на оплату сформирована для отображения на оффлайн-кассе CMS_PLUGIN: Ссылка на оплату сформирована в плагине для CMS TV: Ссылка на оплату сформирована для отображения на ТВ-платформе Default: Enum: |
|
preferredPaymentMethod |
Type: string Предпочтительный метод оплаты. Переданный метод будет автоматически выбран на форме оплаты, если это не противоречит доступным методам оплаты. Default: Enum: |
|
publicConstructor |
Type: string Конструктор предвыбранного плана для оплаты в Сплит. Доступно только по согласованию |
|
purpose |
Type: string Назначение платежа Max length: |
|
redirectUrls |
Type: MerchantRedirectUrls Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн-магазинов. |
|
risk |
Type: MerchantRiskInfo Дополнительная информация, наличие которой может увеличить вероятность одобрения по Сплиту. Доступно в полной мере только для онлайн-магазинов. |
|
ttl |
Type: integer<int32> Параметр определяет время, в течение которого пользователь может воспользоваться ссылкой на форму оплаты заказа. По истечении времени пользователь будет видеть сообщение "Вышло время оплаты". Если пользователь воспользовался ссылкой до истечения времени, то на завершение оплаты отводится дополнительно 15 минут. Если по истечении дополнительного времени оплата не произошла, заказ считается не оплаченным окончательно. Это отражается в изменении статуса заказа Время жизни (сек): Время жизни (при создании ссылки в личном кабинете, сек): Default: |
RenderedCart
Примечание
Стоимость доставки передавайте в items как отдельный товар.
|
Name |
Description |
|
items* |
Type: RenderedCartItem[] Корзина товаров, которую оплачивает покупатель. |
|
total* |
Type: CartTotal Итоговая информация о стоимости заказа. |
|
externalId |
Type: string Идентификатор корзины на стороне продавца. Max length: |
OrderExtensions
|
Name |
Description |
|
billingReport |
Type: BillingReport Информация о месте и авторе оформления заказа. |
|
paymentData |
Type: PaymentData Дополнительные параметры платежа |
|
qrData |
Type: QRData Дополнительные параметры для отправки ссылки на оплату с использованием QR |
|
smsOffer |
Type: SMSOffer Дополнительные параметры для отправки ссылки на оплату с использованием SMS. Обязательное поле только для офлайн-магазинов. |
MerchantRedirectUrls
Примечание
В мобильных интеграциях, использующих App Link и Universal Link, в поле redirectUrls можно указать базовый URL сайта.
|
Name |
Description |
|
onError* |
Type: string Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек. Max length: |
|
onSuccess* |
Type: string Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты. Max length: |
|
onAbort |
Type: string Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты. Max length: |
MerchantRiskInfo
|
Name |
Description |
|
billingPhone |
Type: string DEPRECATED Номер телефона клиента. Max length: |
|
customerAggregates |
Type: CustomerAggregates Агрегированные данные о клиенте |
|
deviceId |
Type: string Идентификатор устройства клиента (device_id/gaid/idfa/ifv) Max length: |
|
isExpressShipping |
Type: boolean Признак экспресс-доставки |
|
merchantMcc |
Type: string MCC мерчанта Max length: |
|
merchantName |
Type: string Название мерчанта Max length: |
|
merchantOfflinePosLegalAddress |
Type: string Юридический адрес оффлайн точки Max length: |
|
merchantTaxRefNumber |
Type: string Налоговый номер мерчанта Max length: |
|
periodCheckAggregates |
Type: PeriodCheckAggregates Агрегаты по чекам за различные периоды |
|
qrType |
Type: string Тип QR-кода Enum: |
|
qrcId |
Type: string ID QR-кода Max length: |
|
shippingAddress |
Type: string Адрес доставки. Если выбран способ получения «самовывоз» ( Max length: |
|
shippingPhone |
Type: string Номер телефона получателя. Example: Max length: |
|
shippingType |
Type: string Способ получения заказа Enum: |
RenderedCartItem
|
Name |
Description |
|
productId* |
Type: string Id товара в системе продавца. В параметрах запроса каждый идентификатор товара Max length: |
|
quantity* |
Type: ItemQuantity Количество товара в заказе |
|
title* |
Type: string Наименование товара Max length: |
|
total* |
Type: string<double> Итоговая цена позиции с учетом примененных скидок. Важно Убедитесь, что цена за единицу товара ( Чтобы избежать ошибок, вынесите товары в отдельные позиции с разными ПримерПравильно:
Цена за единицу Неправильно:
Цена за единицу В таком случае разбейте на две позиции:
Example: |
|
description |
Type: string Описание товара Max length: |
|
discountedUnitPrice |
Type: string<double> Цена за единицу товара с учётом скидок на позицию Example: |
|
features |
Type: CartItemFeatures Промо параметры товара |
|
receipt ⦸
|
Type: ItemReceipt Данные для формирования чека. Deprecated В актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе Фискализация. |
|
skuId |
Type: string Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа. Max length: |
|
subtotal |
Type: string<double> Суммарная цена за позицию без учета скидок Example: |
|
unitPrice |
Type: string<double> Полная цена за единицу товара без учетка скидки Example: |
CartTotal
|
Name |
Description |
|
amount* |
Type: string<double> Стоимость корзины с учетом всех скидок. Example: |
BillingReport
|
Name |
Description |
|
branchId |
Type: string Обязательное поле только для офлайн-магазинов. Идентификатор точки продаж Default: Max length: |
|
managerId |
Type: string Обязательное поле только для офлайн-магазинов. Идентификатор менеджера Default: Max length: |
PaymentData
|
Name |
Description |
|
saleToken |
Type: string Уникальный id, генерируемый кассой для каждой операции оплаты Max length: |
QRData
|
Name |
Description |
|
token* |
Type: string QR токен Max length: |
SMSOffer
|
Name |
Description |
|
phone* |
Type: string Номер телефона клиента (пример Max length: Pattern: |
CustomerAggregates
|
Name |
Description |
|
amountFirstSuccessfulOrder |
Type: string<double> Сумма первого успешного заказа Example: |
|
amountLatestSuccessfulOrder |
Type: string<double> Сумма последнего успешного заказа Example: |
|
cookie |
Type: string Куки Max length: |
|
daysSinceLastPasswordReset |
Type: integer<int32> Количество дней с момента последнего сброса пароля |
|
failedLoginAttemptsOneDay |
Type: integer<int32> Количество неуспешных попыток входа за последний день |
|
failedLoginAttemptsSevenDays |
Type: integer<int32> Количество неуспешных попыток входа за последние 7 дней |
|
firstSuccessfulOrderDate |
Type: string<date> Дата первого успешного заказа в истории Example: |
|
historicalCookieLogin |
Type: boolean Вход с сохраненной куки (ранее уже оплачивал заказ) |
|
historicalDeviceLogin |
Type: boolean Вход с сохраненного устройства (ранее уже оплачивал заказ) |
|
lastPasswordResetDate |
Type: string<date> Дата последнего сброса пароля Example: |
|
latestSuccessfulOrderLastYearDate |
Type: string<date> Дата последнего успешного заказа за последний год Example: |
|
previousSuccessfulOrdersAtSameAddress |
Type: boolean Был ли у пользователя успешный заказ по текущему адресу ранее |
|
redemptionRateLastHalfYear |
Type: string<double> Процент выкупа за последние полгода Example: |
|
registrationDate |
Type: string<date> Дата регистрации на сайте мерчанта Example: |
PeriodCheckAggregates
|
Name |
Description |
|
successfulOrdersCountNineMonths |
Type: integer<int32> Количество успешных заказов за последние 9 месяцев |
|
successfulOrdersCountOneMonth |
Type: integer<int32> Количество успешных заказов за последний месяц |
|
successfulOrdersCountSixMonths |
Type: integer<int32> Количество успешных заказов за последние 6 месяцев |
|
successfulOrdersCountThreeMonths |
Type: integer<int32> Количество успешных заказов за последние 3 месяца |
|
successfulOrdersCountTwelveMonths |
Type: integer<int32> Количество успешных заказов за последние 12 месяцев |
|
totalAmountSuccessfulOrdersNineMonths |
Type: string<double> Сумма успешных заказов за последние 9 месяцев Example: |
|
totalAmountSuccessfulOrdersOneMonth |
Type: string<double> Сумма успешных заказов за последний месяц Example: |
|
totalAmountSuccessfulOrdersSixMonths |
Type: string<double> Сумма успешных заказов за последние 6 месяцев Example: |
|
totalAmountSuccessfulOrdersThreeMonths |
Type: string<double> Сумма успешных заказов за последние 3 месяца Example: |
|
totalAmountSuccessfulOrdersTwelveMonths |
Type: string<double> Сумма успешных заказов за последние 12 месяцев Example: |
ItemQuantity
|
Name |
Description |
|
count* |
Type: string<double> Количество товара в заказе Example: |
|
available |
Type: string<double> Максимально доступное количество товара Example: |
CartItemFeatures
|
Name |
Description |
|
pointsDisabled |
Type: boolean Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар Default: |
|
tariffModifier |
Type: string Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине. Enum: |
ItemReceipt
Deprecated
В актуальных интеграциях передавать данные для чека не требуется. Чек формируется на вашей стороне. Подробнее см. в разделе Фискализация.
|
Name |
Description |
|
tax* |
Type: integer Описание значений: Ссылка Enum: |
|
agent ⦸
|
Type: Agent |
|
excise |
Type: string<double> Не должно содержать больше двух знаков после запятой. Например: 1.12, 5.1, 10, 11.00 . Example: |
|
markQuantity ⦸
|
Type: MarkQuantity |
|
measure |
Type: integer Описание значений: Ссылка Enum: |
|
paymentMethodType |
Type: integer Описание значений: Ссылка Enum: |
|
paymentSubjectType |
Type: integer Описание значений: Ссылка Enum: |
|
productCode |
Type: string<base64> Код товара (base64 кодированный массив от 1 до 32 байт) |
|
supplier ⦸
|
Type: Supplier |
|
title |
Type: string Max length: |
Agent
|
Name |
Description |
|
agentType* |
Type: integer Признак агента по предмету расчёта. См. значения Enum: |
|
operation |
Type: string Max length: |
|
paymentsOperator ⦸
|
Type: PaymentsOperator |
|
phones |
Type: string[] Max length: |
|
transferOperator ⦸
|
Type: TransferOperator |
MarkQuantity
|
Name |
Description |
|
denominator* |
Type: integer<int32> |
|
numerator* |
Type: integer<int32> |
Supplier
|
Name |
Description |
|
inn |
Type: string Max length: |
|
name |
Type: string Max length: |
|
phones |
Type: string[] Max length: |
PaymentsOperator
|
Name |
Description |
|
phones |
Type: string[] Max length: |
TransferOperator
|
Name |
Description |
|
address |
Type: string Max length: |
|
inn |
Type: string Max length: |
|
name |
Type: string Max length: |
|
phones |
Type: string[] Max length: |
Responses
200 OK
Body
application/json
{
"code": 200,
"data": {
"paymentUrl": "string"
},
"status": "success"
}
|
Name |
Description |
|
data* |
Type: CreateOrderResponseData |
|
code |
Type: number Default: |
|
status |
Type: string Default: Enum: |
CreateOrderResponseData
|
Name |
Description |
|
paymentUrl* |
Type: string Ссылка на оплату заказа Max length: |
No longer supported, please use an alternative and newer version.