Получить информацию о заказе
Примечание
Основной способ получения информации об изменении заказа — нотификации /webhook.
Если получение нотификаций невозможно, настройте поллинг этого метода как резервный способ.
Метод возвращает информацию о заказе и его текущем статусе. Используйте его после создания заказа методом /orders или /orders/dynamic.
Рекомендации по частоте опроса:
- Первый запрос — через 5–10 секунд после создания заказа.
- Последующие запросы — не чаще одного раза в секунду.
Если в ответе статус 5XX, повторите запрос.
Совет
Пошаговые инструкции см. в разделе Самостоятельная интеграция.
Скачайте OpenAPI-спецификацию в разделе Specification.
Аутентификация запросов
В каждом запросе передавайте в HTTP-заголовки:
|
|
Заголовок: Выпустите его личном кабинете по инструкции. |
|
|
Заголовок: Токен кассового ПО. Получите его в личном кабинете или у менеджера интеграции. |
Если в запросе отсутствуют или переданы недействительные токены, сервер вернет статус 401 Unauthorized.
Пример запроса:
curl https://pay.yandex.ru/api/merchant/cash-register/v1/accounts \
--header 'Authorization: Api-Key <YandexPayApiKey>' \
--header 'Software-Authorization: <SoftwareAuthorization>' \
Request
GET
https://sandbox.pay.yandex.ru/api/merchant/cash-register/v1/orders/{orderId}
Sandbox
GET
https://pay.yandex.ru/api/merchant/cash-register/v1/orders/{orderId}
Production
Path parameters
|
Name |
Description |
|
orderId |
Type: string Уникальный идентификатор заказа на стороне продавца. Должен совпадать с Max length: Example: `` |
Responses
200 OK
Информация о заказе.
Body
application/json
{
"data": {
"operations": [
{
"operationId": "019647c1-f086-750a-9b2f-7ed0fcce69d2",
"operationType": "REFUND",
"externalOperationId": "019647c2-8283-7ebe-85c8-b57c66ddc5e3",
"status": "PENDING",
"amount": "55.00",
"reason": "example"
}
],
"order": {
"cart": {
"items": [
{
"productId": "id-1",
"quantity": {
"count": 1
},
"title": "Шариковая ручка",
"total": "55.00",
"description": "Шариковая ручка синяя",
"unitPrice": "5.50"
}
],
"total": {
"amount": "55.00"
}
},
"currencyCode": "RUB",
"orderAmount": "55.00",
"orderId": "01963e94-7457-74da-8739-fa7ea310a255",
"paymentMethod": {
"methodType": "CARD",
"cardLast4": "4242",
"cardNetwork": "AMEX"
},
"paymentStatus": "PENDING",
"paymentUrl": "https://qr.nspk.ru/AD10006C35FBF1GA9IUAGIF6JCU23NVE?type=02&bank=100000000061&sum=2200&cur=RUB&crc=04A3",
"reason": "example",
"metadata": "example"
}
},
"code": 200,
"status": "success"
}
|
Name |
Description |
|
data |
Type: GetOrderResultData Example
|
|
code |
Type: integer Default: |
|
status |
Type: string Default: |
OrderOperation
Операция заказа.
|
Name |
Description |
|
amount |
Type: string<double> Сумма операции в фиатной валюте. Example: |
|
operationId |
Type: string<uuid> Уникальный идентификатор операции. Example: |
|
operationType |
Type: string Тип операции. Enum: |
|
status |
Type: string Статус операции. Enum: |
|
externalOperationId |
Type: string Уникальный идентификатор операции на стороне продавца. Max length: Example: |
|
reason |
Type: string Причина ошибки. Max length: Example: |
Example
{
"operationId": "019647c1-f086-750a-9b2f-7ed0fcce69d2",
"operationType": "REFUND",
"externalOperationId": "019647c2-8283-7ebe-85c8-b57c66ddc5e3",
"status": "PENDING",
"amount": "55.00",
"reason": "example"
}
ItemQuantity
Количество единиц товара в позиции.
|
Name |
Description |
|
count |
Type: string<double> Количество единиц товара в позиции. Example: |
Example
{
"count": "10"
}
CartItem
|
Name |
Description |
|
productId |
Type: string Идентификатор товара в системе продавца. В заказе все Max length: Example: |
|
quantity |
Type: ItemQuantity Количество единиц товара в позиции. Example
|
|
title |
Type: string Наименование товара. Max length: Example: |
|
total |
Type: string<double> Сумма позиции с учетом скидок. Example: |
|
description |
Type: string Описание товара. Max length: Example: |
|
unitPrice |
Type: string<double> Цена за единицу товара. Используется в расширенной логике возвратов. Примеры:
Example: |
Example
{
"productId": "id-1",
"quantity": {
"count": 1
},
"title": "Шариковая ручка",
"total": "55.00",
"description": "Шариковая ручка синяя",
"unitPrice": "5.50"
}
CartTotal
Итоговая информация о стоимости заказа.
|
Name |
Description |
|
amount |
Type: string<double> Сумма корзины с учетом всех скидок. Должна быть больше или равна 1. Example: |
Example
{
"amount": "55.00"
}
Cart
Корзина.
Если в корзине есть позиции с нецелыми ценами (3 ручки за 10 рублей) или весовые товары (500 г. говядины), для всех позиций в корзине добавьте цену за единицу товара unitPrice. Это избавит от проблем с округлением, например, при возврате.
Важно
В соответствии с Федеральным законом № 283‑ФЗ «О деятельности по предоставлению сервиса рассрочки» при использовании сервиса Сплит договор о предоставлении сервиса рассрочки с пользователем обязательно должен содержать сведения об объекте рассрочки — товарах, работах, услугах или результатах интеллектуальной деятельности, оплачиваемых в Сплит.
Поэтому в запросе обязательно передавайте данные всех объектов рассрочки в корзине в параметре cart.items.
|
Name |
Description |
|
items |
Type: CartItem[] Список позиций в заказе. Min items: Example
|
|
total |
Type: CartTotal Итоговая информация о стоимости заказа. Example
|
Example
{
"items": [
{
"productId": "id-1",
"quantity": {
"count": 1
},
"title": "Шариковая ручка",
"total": "55.00",
"description": "Шариковая ручка синяя",
"unitPrice": "5.50"
}
],
"total": {
"amount": "55.00"
}
}
Currency
Трехбуквенный код валюты (ISO 4217).
Type: string
Default: RUB
Const: RUB
Example: RUB
PaymentMethod
Данные о карте и методе оплаты.
|
Name |
Description |
|
methodType |
Type: string Тип платежного метода:
Enum: |
|
cardLast4 |
Type: string Последние 4 цифры номера карты. Example: |
|
cardNetwork |
Type: string Платежная система.
Enum: |
Example
{
"methodType": "CARD",
"cardLast4": "4242",
"cardNetwork": "AMEX"
}
PaymentStatus
Статус платежа.
Type: string
Enum: PENDING, CAPTURED, REFUNDED, PARTIALLY_REFUNDED, FAILED
Order
|
Name |
Description |
|
cart |
Type: Cart Корзина. Если в корзине есть позиции с нецелыми ценами (3 ручки за 10 рублей) или весовые товары (500 г. говядины), для всех позиций в корзине добавьте цену за единицу товара Важно В соответствии с Федеральным законом № 283‑ФЗ «О деятельности по предоставлению сервиса рассрочки» при использовании сервиса Сплит договор о предоставлении сервиса рассрочки с пользователем обязательно должен содержать сведения об объекте рассрочки — товарах, работах, услугах или результатах интеллектуальной деятельности, оплачиваемых в Сплит. Поэтому в запросе обязательно передавайте данные всех объектов рассрочки в корзине в параметре Example
|
|
currencyCode |
Type: Currency Трехбуквенный код валюты (ISO 4217). Default: Enum: |
|
orderId |
Type: string Идентификатор заказа в системе продавца. Max length: Example: |
|
paymentStatus |
Type: PaymentStatus Статус платежа. Enum: |
|
paymentUrl |
Type: string Ссылка на оплату заказа. Max length: Example: |
|
metadata |
Type: string Произвольные данные по заказу для внутреннего использования. Max length: Example: |
|
orderAmount |
Type: string<double> Полная стоимость заказа к оплате с учетом возвратов, доставки, скидок и промокодов. Example: |
|
paymentMethod |
Type: PaymentMethod Данные о карте и методе оплаты. Example
|
|
reason |
Type: string Причина ошибки для статуса Max length: Example: |
Example
{
"cart": {
"items": [
{
"productId": "id-1",
"quantity": {
"count": 1
},
"title": "Шариковая ручка",
"total": "55.00",
"description": "Шариковая ручка синяя",
"unitPrice": "5.50"
}
],
"total": {
"amount": "55.00"
}
},
"currencyCode": "RUB",
"orderAmount": "55.00",
"orderId": "01963e94-7457-74da-8739-fa7ea310a255",
"paymentMethod": {
"methodType": "CARD",
"cardLast4": "4242",
"cardNetwork": "AMEX"
},
"paymentStatus": "PENDING",
"paymentUrl": "https://qr.nspk.ru/AD10006C35FBF1GA9IUAGIF6JCU23NVE?type=02&bank=100000000061&sum=2200&cur=RUB&crc=04A3",
"reason": "example",
"metadata": "example"
}
GetOrderResultData
|
Name |
Description |
|
operations |
Type: OrderOperation[] Example
|
|
order |
Type: Order Example
|
Example
{
"operations": [
{
"operationId": "019647c1-f086-750a-9b2f-7ed0fcce69d2",
"operationType": "REFUND",
"externalOperationId": "019647c2-8283-7ebe-85c8-b57c66ddc5e3",
"status": "PENDING",
"amount": "55.00",
"reason": "example"
}
],
"order": {
"cart": {
"items": [
{
"productId": "id-1",
"quantity": {
"count": 1
},
"title": "Шариковая ручка",
"total": "55.00",
"description": "Шариковая ручка синяя",
"unitPrice": "5.50"
}
],
"total": {
"amount": "55.00"
}
},
"currencyCode": "RUB",
"orderAmount": "55.00",
"orderId": "01963e94-7457-74da-8739-fa7ea310a255",
"paymentMethod": {
"methodType": "CARD",
"cardLast4": "4242",
"cardNetwork": "AMEX"
},
"paymentStatus": "PENDING",
"paymentUrl": "https://qr.nspk.ru/AD10006C35FBF1GA9IUAGIF6JCU23NVE?type=02&bank=100000000061&sum=2200&cur=RUB&crc=04A3",
"reason": "example",
"metadata": "example"
}
}
401 Unauthorized
Ошибка авторизации.
Body
application/json
{
"status": "fail",
"reason": "Authorization header is missing",
"reasonCode": "AUTHENTICATION_ERROR"
}
All of 2 types
-
Type: Error
Example
{ "status": "fail", "reason": "example" } -
Type: object
reasonCode
Type: UnauthorizedErrorReasonCode
Код ошибки:
AUTHENTICATION_ERROR— Ошибка авторизации. Повторно получите API-ключ.
Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.
Enum:
AUTHENTICATION_ERRORreason
Type: string
Example:
Authorization header is missingExample
{ "reasonCode": "AUTHENTICATION_ERROR", "reason": "Authorization header is missing" }
Error
|
Name |
Description |
|
reason |
Type: string Описание ошибки. Example: |
|
status |
Type: string Default: Const: |
Example
{
"status": "fail",
"reason": "example"
}
UnauthorizedErrorReasonCode
Код ошибки:
AUTHENTICATION_ERROR— Ошибка авторизации. Повторно получите API-ключ.
Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.
Type: string
Const: AUTHENTICATION_ERROR
Example: AUTHENTICATION_ERROR
404 Not Found
Объект не найден.
Body
application/json
{
"status": "fail",
"reason": "example",
"reasonCode": "ORDER_NOT_FOUND"
}
All of 2 types
-
Type: Error
Example
{ "status": "fail", "reason": "example" } -
Type: object
reasonCode
Type: NotFoundErrorReasonCode
Код ошибки:
ORDER_NOT_FOUND— Заказ не найден.
Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.
Enum:
ORDER_NOT_FOUNDExample
{ "reasonCode": "ORDER_NOT_FOUND" }
NotFoundErrorReasonCode
Код ошибки:
ORDER_NOT_FOUND— Заказ не найден.
Список кодов ошибок открытый и будет дополняться, необходимо уметь обрабатывать неизвестные коды ошибок.
Type: string
Const: ORDER_NOT_FOUND
Example: ORDER_NOT_FOUND
429 Too Many Requests
Слишком много запросов, повторите запрос позже.
Если ошибка сохраняется при разумном использовании API, обратитесь в поддержку.
500 Internal Server Error
Внутренняя ошибка сервера. Тело ответа может отсутствовать или иметь произвольный формат.
При получении статуса 5XX, повторите запрос.