/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
                },
                "pointsAmount": "123.45",
                "productId": "string",
                "quantity": {
                    "available": "123.45",
                    "count": "123.45"
                },
                "receipt": {
                    "agent": {
                        "agentType": 1,
                        "operation": "string",
                        "paymentsOperator": {
                            "phones": [
                                "string"
                            ]
                        },
                        "phones": [
                            "string"
                        ],
                        "transferOperator": {
                            "address": "string",
                            "inn": "string",
                            "name": "string",
                            "phones": [
                                "string"
                            ]
                        }
                    },
                    "excise": "123.45",
                    "markQuantity": {
                        "denominator": 0,
                        "numerator": 0
                    },
                    "measure": 0,
                    "paymentMethodType": 1,
                    "paymentSubjectType": 1,
                    "productCode": "string",
                    "supplier": {
                        "inn": "string",
                        "name": "string",
                        "phones": [
                            "string"
                        ]
                    },
                    "tax": 1,
                    "title": "string"
                },
                "subtotal": "123.45",
                "title": "string",
                "total": "123.45",
                "unitPrice": "123.45"
            }
        ],
        "total": {
            "amount": "123.45",
            "pointsAmount": "123.45"
        }
    },
    "currencyCode": "RUB",
    "extensions": {
        "billingReport": {
            "branchId": null,
            "managerId": null
        },
        "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",
        "deviceId": "string",
        "shippingAddress": "string",
        "shippingPhone": "string",
        "shippingType": "COURIER"
    },
    "ttl": 1800,
    "uniqrMetadata": {
        "uniQrId": "string"
    }
}

Name

Description

cart*

Type: RenderedCart

Корзина

currencyCode*

Type: string

Трехбуквенный код валюты заказа (ISO 4217)

Max length: 2048

Enum: RUB

orderId*

Type: string

Идентификатор заказа на стороне продавца (должен быть уникальным). Дальнейшее взаимодействие по заявке на оплату будет осуществляться с использованием этого идентификатора. Также данный идентификатор будет использоваться в сверках

Max length: 2048

availablePaymentMethods

Type: string[]

Доступные методы оплаты на платежной форме Яндекс Пэй.

Если вы интегрируете оплату только одним методом, например, Карта — указывается один метод ["CARD"]. Для платежей по банковским картам и через Сплит необходимо передать: ["CARD", "SPLIT"].

Enum: CARD, SPLIT

Default: null

Min items: 1

billingPhone

Type: string

Номер телефона клиента.

Используется для упрощения авторизации, а также может увеличить вероятность одобрения по Сплиту.

Для номера телефона предлагаем использовать формат +71234567890 или 71234567890. В строке допустимо наличие других символов, однако все символы, кроме цифр, игнорируются. Если номер телефона начинается с 8, то он обрабатывается как аналогичный номер, где 8 заменена на +7.

Например, такие переданные значения 71234567890, +71234567890, 81234567890, +7 (123) 456-78-90 будут обрабатываться как 71234567890.

Max length: 2048

extensions

Type: OrderExtensions

Дополнительные параметры для оформления офлайн заказа

isPrepayment

Type: boolean

Проводить ли заказ по флоу "отложенно оплаты".

Если параметр установлен в true, то заказ будет оформлятся как заказ с отложенной оплатой, смотри раздел "Способы оплаты и платёжные механики".

metadata

Type: string

Произвольные данные по заказу для внутреннего использования

Max length: 2048

orderSource

Type: string

Поверхность на которой инициализировали создание заказа

Необходимо для последующей аналитики


WEBSITE: Кнопка размещена на сайте. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя на сайте

APP: Кнопка размещена в мобильном приложении. Ссылка на оплату сформировалась после действий (нажатия кнопки) пользователя в приложении

CRM: Ссылка на оплату сформирована менеджером в CRM или другой админке

CASH_REGISTER: Ссылка на оплату сформирована для отображения на офлайн-кассе

Default: null

Enum: WEBSITE, APP, CRM, CASH_REGISTER

preferredPaymentMethod

Type: string

Предпочтительный метод оплаты.

Переданный метод будет автоматически выбран на форме оплаты, если это не противоречит доступным методам оплаты. По умолчанию - Карта.

Enum: FULLPAYMENT, SPLIT

publicConstructor

Type: string

Конструктор предвыбранного плана для оплаты в Сплит.

Доступно только по согласованию

purpose

Type: string

Назначение платежа

Max length: 1000

redirectUrls

Type: MerchantRedirectUrls

Ссылки для переадресации пользователя с формы оплаты. Обязательно для онлайн продавца

risk

Type: MerchantRiskInfo

Дополнительная информация, наличие которой может увеличить вероятность одобрения по Сплиту. Доступно в полной мере только для онлайн-магазинов.

ttl

Type: integer<int32>

Параметр определяет время, в течение которого пользователь может воспользоваться ссылкой на форму оплаты заказа.

По истечении времени пользователь будет видеть сообщение "Вышло время оплаты".

Если пользователь воспользовался ссылкой до истечения времени, то на завершение оплаты отводится дополнительно 15 минут. Если по истечении дополнительного времени оплата не произошла, заказ считается не оплаченным окончательно.

Это отражается в изменении статуса заказа Order.paymentStatus на значение FAILED. Также выполняется отправка уведомления об изменении статуса заказа. Если продавец бронировал товар, то после изменения статуса заказ можно отменить.

Время жизни (сек): 180 <= ttl <= 604800

Время жизни (при создании ссылки в личном кабинете, сек): 86400

Default: 1800

uniqrMetadata

Type: UniqrMetadata

Дополнительные данные uniqr

RenderedCart

Name

Description

items*

Type: RenderedCartItem[]

Корзина товаров, которую оплачивает покупатель.

total*

Type: CartTotal

Итоговая информация о стоимости заказа.

externalId

Type: string

Переданный продавцом идентификатор корзины

Max length: 2048

OrderExtensions

Name

Description

billingReport

Type: BillingReport

Информация о месте и авторе оформления заказа.

qrData

Type: QRData

Дополнительные параметры для отправки ссылки на оплату с использованием QR

smsOffer

Type: SMSOffer

Дополнительные параметры для отправки ссылки на оплату с использованием SMS.

Обязательное поле только для офлайн-магазинов.

MerchantRedirectUrls

Name

Description

onError*

Type: string

Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае возникновения ошибки во время оплаты, или если срок ссылки на оплату истек.

Max length: 2048

onSuccess*

Type: string

Обязательное поле только для онлайн-магазинов. Ссылка для переадресации пользователя в случае успешной оплаты.

Max length: 2048

onAbort

Type: string

Ссылка для переадресации пользователя в случае отмены процесса оплаты. Отмену оплаты осуществляет пользователь на форме для оплаты.

Max length: 2048

MerchantRiskInfo

Name

Description

billingPhone

Type: string

DEPRECATED Номер телефона клиента.
Cледует использовать одноименное поле на уровень выше.

Max length: 2048

deviceId

Type: string

Идентификатор устройства клиента (device_id/gaid/idfa/ifv)

Max length: 2048

shippingAddress

Type: string

Адрес доставки

Max length: 2048

shippingPhone

Type: string

Номер телефона получателя (пример +71234567890)

Max length: 2048

shippingType

Type: string

Способ получения заказа

Enum: COURIER, PICKUP, null

UniqrMetadata

Name

Description

uniQrId*

Type: string

Max length: 2048

RenderedCartItem

Name

Description

productId*

Type: string

Id товара в системе продавца. В параметрах запроса каждый идентификатор товара productId должен быть уникальным

Max length: 2048

quantity*

Type: ItemQuantity

Количество товара в заказе

title*

Type: string

Наименование товара

Max length: 2048

total*

Type: string<double>

Суммарная цена за позицию с учётом скидок на позицию

Example: 123.45

description

Type: string

Описание товара

Max length: 2048

discountedUnitPrice

Type: string<double>

Цена за единицу товара с учётом скидок на позицию

Example: 123.45

features

Type: CartItemFeatures

Промо параметры товара

pointsAmount

Type: string<double>

Количество баллов Плюса

Поле только для чтения. Переданные значения будут проигнорированы.

Example: 123.45

receipt

Type: ItemReceipt

Данные для формирования чека

subtotal

Type: string<double>

Суммарная цена за позицию без учета скидок

Example: 123.45

unitPrice

Type: string<double>

Полная цена за единицу товара без учетка скидки

Example: 123.45

CartTotal

Name

Description

amount*

Type: string<double>

Стоимость корзины с учетом всех скидок.

Example: 123.45

pointsAmount

Type: string<double>

Количество баллов Плюса

Поле только для чтения. Переданные значения будут проигнорированы.

Example: 123.45

BillingReport

Name

Description

branchId

Type: string

Обязательное поле только для офлайн-магазинов. Идентификатор точки продаж

Default: null

Max length: 2048

managerId

Type: string

Обязательное поле только для офлайн-магазинов. Идентификатор менеджера

Default: null

Max length: 2048

QRData

Name

Description

token*

Type: string

QR токен

Max length: 2048

SMSOffer

Name

Description

phone*

Type: string

Номер телефона клиента (пример +71234567890) для СМС-информирования. Только для merchantId офлайн-магазина.

Max length: 2048

Pattern: ^\+\d+$

ItemQuantity

Name

Description

count*

Type: string<double>

Количество товара в заказе

Example: 123.45

available

Type: string<double>

Максимально доступное количество товара

Example: 123.45

CartItemFeatures

Name

Description

pointsDisabled

Type: boolean

Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар

Default:

ItemReceipt

Name

Description

tax*

Type: integer

Описание значений: Ссылка

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

agent

Type: Agent

excise

Type: string<double>

Не должно содержать больше двух знаков после запятой. Например: 1.12, 5.1, 10, 11.00 .

Example: 123.45

markQuantity

Type: MarkQuantity

measure

Type: integer

Описание значений: Ссылка

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

Описание значений: Ссылка

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

paymentSubjectType

Type: integer

Описание значений: Ссылка

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>

Код товара (base64 кодированный массив от 1 до 32 байт)

supplier

Type: Supplier

title

Type: string

Max length: 2048

Agent

Name

Description

agentType*

Type: integer

Признак агента по предмету расчёта. См. значения

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

operation

Type: string

Max length: 2048

paymentsOperator

Type: PaymentsOperator

phones

Type: string[]

Max length: 2048

transferOperator

Type: TransferOperator

MarkQuantity

Name

Description

denominator*

Type: integer<int32>

numerator*

Type: integer<int32>

Supplier

Name

Description

inn

Type: string

Max length: 2048

name

Type: string

Max length: 2048

phones

Type: string[]

Max length: 2048

PaymentsOperator

Name

Description

phones

Type: string[]

Max length: 2048

TransferOperator

Name

Description

address

Type: string

Max length: 2048

inn

Type: string

Max length: 2048

name

Type: string

Max length: 2048

phones

Type: string[]

Max length: 2048

Responses

200 OK

Body

application/json
{
    "code": 200,
    "data": {
        "paymentUrl": "string"
    },
    "status": "success"
}

Name

Description

data*

Type: CreateOrderResponseData

code

Type: number

Default: 200

status

Type: string

Default: success

Enum: success

CreateOrderResponseData

Name

Description

paymentUrl*

Type: string

Ссылка на оплату заказа

Max length: 2048

Предыдущая
Следующая