Получить информацию о заказе

Примечание

Основной способ получения информации об изменении заказа — нотификации /webhook.

Если получение нотификаций невозможно, настройте поллинг этого метода как резервный способ.

Метод возвращает информацию о заказе и его текущем статусе. Используйте его после создания заказа методом /orders или /orders/dynamic.

Рекомендации по частоте опроса:

  • Первый запрос — через 5–10 секунд после создания заказа.
  • Последующие запросы — не чаще одного раза в секунду.

Если в ответе статус 5XX, повторите запрос.

Совет

Пошаговые инструкции см. в разделе Самостоятельная интеграция.

Скачайте OpenAPI-спецификацию в разделе Specification.

Аутентификация запросов

В каждом запросе передавайте в HTTP-заголовки:

YandexPayApiKey

Заголовок: Authorization: Api-Key <ключ>.

Выпустите его личном кабинете по инструкции.

SoftwareAuthorization

Заголовок: Software-Authorization: <ключ>.

Токен кассового ПО. Получите его в личном кабинете или у менеджера интеграции.

Если в запросе отсутствуют или переданы недействительные токены, сервер вернет статус 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

Уникальный идентификатор заказа на стороне продавца. Должен совпадать с orderId, который вы передали в метод /orders или /orders/dynamic.

Max length: 45

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
{
  "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

Type: integer

Default: 200

status

Type: string

Default: success

OrderOperation

Операция заказа.

Name

Description

amount

Type: string<double>

Сумма операции в фиатной валюте.

Example: 55.00

operationId

Type: string<uuid>

Уникальный идентификатор операции.

Example: 019647c1-f086-750a-9b2f-7ed0fcce69d2

operationType

Type: string

Тип операции.

Enum: AUTHORIZE, REFUND

status

Type: string

Статус операции.

Enum: PENDING, SUCCESS, FAIL

externalOperationId

Type: string

Уникальный идентификатор операции на стороне продавца.

Max length: 45

Example: 019647c2-8283-7ebe-85c8-b57c66ddc5e3

reason

Type: string

Причина ошибки.

Max length: 2048

Example: 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: 10

Example
{
  "count": "10"
}

CartItem

Name

Description

productId

Type: string

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

Max length: 2048

Example: id-1

quantity

Type: ItemQuantity

Количество единиц товара в позиции.

Example
{
  "count": "10"
}

title

Type: string

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

Max length: 2048

Example: Шариковая ручка

total

Type: string<double>

Сумма позиции с учетом скидок.

Example: 55.00

description

Type: string

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

Max length: 2048

Example: Шариковая ручка синяя

unitPrice

Type: string<double>

Цена за единицу товара. Используется в расширенной логике возвратов.

Примеры:

  • 5.50 — 5 рублей 50 копеек за 1 ручку;
  • 800 — 800 рублей за килограмм мяса.

Example: 5.50

Example
{
  "productId": "id-1",
  "quantity": {
    "count": 1
  },
  "title": "Шариковая ручка",
  "total": "55.00",
  "description": "Шариковая ручка синяя",
  "unitPrice": "5.50"
}

CartTotal

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

Name

Description

amount

Type: string<double>

Сумма корзины с учетом всех скидок. Должна быть больше или равна 1.

Example: 55.00

Example
{
  "amount": "55.00"
}

Cart

Корзина.

Если в корзине есть позиции с нецелыми ценами (3 ручки за 10 рублей) или весовые товары (500 г. говядины), для всех позиций в корзине добавьте цену за единицу товара unitPrice. Это избавит от проблем с округлением, например, при возврате.

Важно

В соответствии с Федеральным законом № 283‑ФЗ «О деятельности по предоставлению сервиса рассрочки» при использовании сервиса Сплит договор о предоставлении сервиса рассрочки с пользователем обязательно должен содержать сведения об объекте рассрочки — товарах, работах, услугах или результатах интеллектуальной деятельности, оплачиваемых в Сплит.

Поэтому в запросе обязательно передавайте данные всех объектов рассрочки в корзине в параметре cart.items.

Name

Description

items

Type: CartItem[]

Список позиций в заказе.

Min items: 1

Example
[
  {
    "productId": "id-1",
    "quantity": {
      "count": 1
    },
    "title": "Шариковая ручка",
    "total": "55.00",
    "description": "Шариковая ручка синяя",
    "unitPrice": "5.50"
  }
]

total

Type: CartTotal

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

Example
{
  "amount": "55.00"
}
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

Тип платежного метода:

  • CARD — карта
  • SPLIT — Сплит
  • SBP — СБП через сервисы Яндекса
  • SPLIT_SBP — Сплит, платежи по которому будут списываться по СБП
  • UNIQR_REUSABLE — Оплата статическим QR в стороннем банковском приложении
  • UNIQR_ONETIME — Оплата динамическим QR в стороннем банковском приложении

Enum: CARD, SPLIT, SBP, SPLIT_SBP, UNIQR_REUSABLE, UNIQR_ONETIME

cardLast4

Type: string

Последние 4 цифры номера карты.

Example: 4242

cardNetwork

Type: string

Платежная система.

UNKNOWN, UNDEFINED — неизвестная платежная система. Разницы между значениями нет.

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

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 г. говядины), для всех позиций в корзине добавьте цену за единицу товара unitPrice. Это избавит от проблем с округлением, например, при возврате.

Важно

В соответствии с Федеральным законом № 283‑ФЗ «О деятельности по предоставлению сервиса рассрочки» при использовании сервиса Сплит договор о предоставлении сервиса рассрочки с пользователем обязательно должен содержать сведения об объекте рассрочки — товарах, работах, услугах или результатах интеллектуальной деятельности, оплачиваемых в Сплит.

Поэтому в запросе обязательно передавайте данные всех объектов рассрочки в корзине в параметре cart.items.

Example
{
  "items": [
    {
      "productId": "id-1",
      "quantity": {
        "count": 1
      },
      "title": "Шариковая ручка",
      "total": "55.00",
      "description": "Шариковая ручка синяя",
      "unitPrice": "5.50"
    }
  ],
  "total": {
    "amount": "55.00"
  }
}

currencyCode

Type: Currency

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

Default: RUB

Enum: RUB

orderId

Type: string

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

Max length: 45

Example: 01963e94-7457-74da-8739-fa7ea310a255

paymentStatus

Type: PaymentStatus

Статус платежа.

Enum: PENDING, CAPTURED, REFUNDED, PARTIALLY_REFUNDED, FAILED

paymentUrl

Type: string

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

Max length: 2048

Example: https://qr.nspk.ru/AD10006C35FBF1GA9IUAGIF6JCU23NVE?type=02&bank=100000000061&sum=2200&cur=RUB&crc=04A3

metadata

Type: string

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

Max length: 2048

Example: example

orderAmount

Type: string<double>

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

Example: 55.00

paymentMethod

Type: PaymentMethod

Данные о карте и методе оплаты.

Example
{
  "methodType": "CARD",
  "cardLast4": "4242",
  "cardNetwork": "AMEX"
}

reason

Type: string

Причина ошибки для статуса FAILED.

Max length: 2048

Example: 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
[
  {
    "operationId": "019647c1-f086-750a-9b2f-7ed0fcce69d2",
    "operationType": "REFUND",
    "externalOperationId": "019647c2-8283-7ebe-85c8-b57c66ddc5e3",
    "status": "PENDING",
    "amount": "55.00",
    "reason": "example"
  }
]

order

Type: Order

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"
}
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_ERROR

    reason

    Type: string

    Example: Authorization header is missing

    Example
    {
      "reasonCode": "AUTHENTICATION_ERROR",
      "reason": "Authorization header is missing"
    }
    

Error

Name

Description

reason

Type: string

Описание ошибки.

Example: example

status

Type: string

Default: fail

Const: fail

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_FOUND

    Example
    {
      "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, повторите запрос.