---
title: "Создание счета"
method: POST
path: "/invoices"
tags: ["Счета"]
---

# Создание счета

`POST /invoices`

Используйте этот запрос, чтобы создать в ЮKassa объект счета: https://yookassa.ru/developers/api#invoice_object. В запросе необходимо передать данные о заказе, которые отобразятся на странице счета, и данные для проведения платежа.

## Headers

- `Idempotence-Key` string, required

## Request body

- object
  - `payment_data` PaymentData, required — Данные для проведения платежа по выставленному счету.
    - `amount` object, required — Сумма платежа. Должна укладываться в лимиты: https://yookassa.ru/docs/support/payments/limits. Сумма указывается с кодом валюты. Если вы разделяете потоки платежей, валюта платежа должна соответствовать валюте субаккаунта (recipient.gateway_id), если не разделяете — валюте аккаунта shopId в личном кабинете).
      - `value` string, required — Сумма в выбранной валюте. Всегда дробное значение. Разделитель дробной части — точка, разделитель тысяч отсутствует. Количество знаков после точки зависит от выбранной валюты. Пример: 1000.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required — Трехбуквенный код валюты в формате ISO-4217: https://www.iso.org/iso-4217-currency-codes.html. Пример: RUB.
    - `receipt` ReceiptData — Данные для формирования чека. Необходимо передавать в этих случаях: вы компания или ИП и для оплаты с соблюдением требований 54-ФЗ используете Чеки от ЮKassa: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/basics; вы компания или ИП, для оплаты с соблюдением требований 54-ФЗ используете стороннюю онлайн-кассу: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/basics и отправляете данные для чеков по одному из сценариев: Платеж и чек одновременно: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/basics#payment-and-receipt или Сначала чек, потом платеж: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/basics#payment-after-receipt.
      - `customer` ReceiptDataCustomer — Информация о пользователе. Необходимо указать как минимум контактные данные: для Чеков от ЮKassa — электронную почту (customer.email), в остальных случаях — электронную почту (customer.email) или номер телефона (customer.phone).
        - `full_name` string — Для юрлица — название организации, для ИП и физического лица — ФИО. Если у физлица отсутствует ИНН, в этом же параметре передаются паспортные данные. Не более 256 символов. Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу Orange Data, Атол Онлайн.
        - `inn` string — ИНН пользователя (10 или 12 цифр). Если у физического лица отсутствует ИНН, необходимо передать паспортные данные в параметре full_name. Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу Orange Data, Атол Онлайн.
        - `email` string, email — Электронная почта пользователя для отправки чека. Обязательный параметр, если используете Чеки от ЮKassa или если используете стороннюю онлайн-кассу и не передаете phone.
        - `phone` string — Телефон пользователя для отправки чека. Указывается в формате ITU-T E.164: https://ru.wikipedia.org/wiki/E.164, например 79000000000. Обязательный параметр, если не передан email.
      - `items` ReceiptDataItem[], required — Список товаров в заказе. Если используете Чеки от ЮKassa, можно передать максимум 80 товаров, если используете стороннюю онлайн-кассу, максимум 100 товаров.
        - `description` string, required — Название товара (от 1 до 128 символов). Тег в 54 ФЗ — 1030.
        - `amount` object, required — Цена товара (тег в 54 ФЗ — 1079).
          - `value` string, required — Сумма в выбранной валюте. Всегда дробное значение. Разделитель дробной части — точка, разделитель тысяч отсутствует. Количество знаков после точки зависит от выбранной валюты. Пример: 1000.00.
          - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required — Трехбуквенный код валюты в формате ISO-4217: https://www.iso.org/iso-4217-currency-codes.html. Пример: RUB.
        - `vat_code` integer, required — Ставка НДС (тег в 54 ФЗ — 1199). Перечень возможных значений: для Чеков от ЮKassa: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/parameters-values#vat-codes; для сторонних онлайн-касс: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#vat-codes.
        - `quantity` number, required — Количество товара (тег в 54 ФЗ — 1023). Можно передать целое или дробное число. Разделитель дробной части — точка, разделитель тысяч отсутствует. Максимально возможное значение и максимальное количество знаков после точки (для дробных значений) зависят от модели вашей онлайн-кассы. Для чеков от ЮKassa максимально возможное значение — 99999.999, не более 3 знаков после точки.
        - `measure` 'piece' | 'gram' | 'kilogram' | 'ton' | 'centimeter' | 'decimeter' | 'meter' | 'square_centimeter' | 'square_decimeter' | 'square_meter' | 'milliliter' | 'liter' | 'cubic_meter' | 'kilowatt_hour' | 'gigacalorie' | 'day' | 'hour' | 'minute' | 'second' | 'kilobyte' | 'megabyte' | 'gigabyte' | 'terabyte' | 'another' — Мера количества предмета расчета (тег в 54 ФЗ — 2108) — единица измерения товара, например штуки, граммы. Обязательный параметр, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2. Перечень возможных значений: для Чеков от ЮKassa: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/parameters-values#measure; для сторонних онлайн-касс: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#measure.
        - `mark_quantity` MarkQuantity — Дробное количество маркированного товара (тег в 54 ФЗ — 1291). Обязательный параметр, если одновременно выполняются эти условия: вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2; товар нужно маркировать: http://docs.cntd.ru/document/902192509; поле measure имеет значение piece. Пример: вы продаете поштучно карандаши. Они поставляются пачками по 100 штук с одним кодом маркировки. При продаже одного карандаша нужно в numerator передать 1, а в denominator — 100.
          - `numerator` integer, required — Числитель — количество продаваемых товаров из одной потребительской упаковки (тег в 54 ФЗ — 1293). Не может превышать denominator.
          - `denominator` integer, required — Знаменатель — общее количество товаров в потребительской упаковке (тег в 54 ФЗ — 1294).
        - `payment_subject` 'commodity' | 'excise' | 'job' | 'service' | 'gambling_bet' | 'gambling_prize' | 'lottery' | 'lottery_prize' | 'intellectual_activity' | 'payment' | 'agent_commission' | 'property_right' | 'non_operating_gain' | 'insurance_premium' | 'sales_tax' | 'resort_fee' | 'composite' | 'another' | 'fine' | 'tax' | 'lien' | 'cost' | 'pension_insurance_without_payouts' | 'pension_insurance_with_payouts' | 'health_insurance_without_payouts' | 'health_insurance_with_payouts' | 'health_insurance' | 'casino' | 'agent_withdrawals' | 'non_marked_excise' | 'marked_excise' | 'marked' | 'non_marked' — Признак предмета расчета (тег в 54 ФЗ — 1212) — это то, за что принимается оплата, например товар, услуга. Перечень возможных значений: для Чеков от ЮKassa: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/parameters-values#payment-subject; для сторонних онлайн-касс: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#payment-subject.
        - `payment_mode` 'full_prepayment' | 'partial_prepayment' | 'advance' | 'full_payment' | 'partial_payment' | 'credit' | 'credit_payment' — Признак способа расчета (тег в 54 ФЗ — 1214) — отражает тип оплаты и факт передачи товара. Пример: покупатель полностью оплачивает товар и сразу получает его. В этом случае нужно передать значение full_payment (полный расчет). Перечень возможных значений: для Чеков от ЮKassa: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/parameters-values#payment-mode; для сторонних онлайн-касс: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#payment-mode.
        - `country_of_origin_code` string — Код страны происхождения товара по общероссийскому классификатору стран мира (OК (MК (ИСО 3166) 004-97) 025-2001: http://docs.cntd.ru/document/842501280). Тег в 54 ФЗ — 1230. Пример: RU. Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
        - `customs_declaration_number` string — Номер таможенной декларации (от 1 до 32 символов). Тег в 54 ФЗ — 1231. Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
        - `excise` string — Сумма акциза товара с учетом копеек (тег в 54 ФЗ — 1229). Десятичное число с точностью до 2 знаков после точки. Можно передавать, если используете онлайн-кассу Orange Data, Кит Инвест.
        - `product_code` string — Код товара (тег в 54 ФЗ — 1162) — уникальный номер, который присваивается экземпляру товара при маркировке. Формат: число в шестнадцатеричном представлении с пробелами. Максимальная длина — 32 байта. Пример: 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00. Обязательный параметр, если одновременно выполняются эти условия: вы используете онлайн-кассу, обновленную до ФФД 1.05; товар нужно маркировать: http://docs.cntd.ru/document/902192509.
        - `planned_status` integer — Планируемый статус товара. Тег в 54 ФЗ — 2003. Указывается только для товаров, которые подлежат обязательной маркировке (в items.mark_code_info передается параметр gs_1m, short или fur). Перечень возможных значений: для Чеков от ЮKassa: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/parameters-values#planned-status; для сторонних онлайн-касс: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#planned-status.
        - `mark_code_info` MarkCodeInfo — Код товара (тег в 54 ФЗ — 1163). Обязательный параметр, если одновременно выполняются эти условия: вы используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2; товар нужно маркировать: http://docs.cntd.ru/document/902192509. Должно быть заполнено хотя бы одно поле.
          - `mark_code_raw` string — Код товара в том виде, в котором он был прочитан сканером (тег в 54 ФЗ — 2000). Нужно передавать, если используете онлайн-кассу Orange Data. Пример: 010460406000590021N4N57RTCBUZTQ\u001d2403054002410161218\u001d1424010191ffd0\u001g92tIAF/YVpU4roQS3M/m4z78yFq0nc/WsSmLeX6QkF/YVWwy5IMYAeiQ91Xa2m/fFSJcOkb2N+uUUtfr4n0mOX0Q==
          - `unknown` string — Нераспознанный код товара (тег в 54 ФЗ — 1300).
          - `ean_8` string — Код товара в формате EAN-8 (тег в 54 ФЗ — 1301).
          - `ean_13` string — Код товара в формате EAN-13 (тег в 54 ФЗ — 1302).
          - `itf_14` string — Код товара в формате ITF-14 (тег в 54 ФЗ — 1303).
          - `gs_10` string — Код товара в формате GS1.0 (тег в 54 ФЗ — 1304). Можно передавать, если используете онлайн-кассу Orange Data, aQsi, Кит Инвест, АТОЛ Онлайн.
          - `gs_1m` string — Код товара в формате GS1.M (тег в 54 ФЗ — 1305).
          - `short` string — Код товара в формате короткого кода маркировки (тег в 54 ФЗ — 1306).
          - `fur` string — Контрольно-идентификационный знак мехового изделия (тег в 54 ФЗ — 1307).
          - `egais_20` string — Код товара в формате ЕГАИС-2.0 (тег в 54 ФЗ — 1308).
          - `egais_30` string — Код товара в формате ЕГАИС-3.0 (тег в 54 ФЗ — 1309).
        - `mark_mode` string — Режим обработки кода маркировки (тег в 54 ФЗ — 2102). Обязательный параметр, если одновременно выполняются эти условия: вы используете Чеки от ЮKassa или онлайн-кассу Атол Онлайн или BusinessRu, обновленную до ФФД 1.2; товар нужно маркировать: http://docs.cntd.ru/document/902192509. Должен принимать значение равное «0».
        - `payment_subject_industry_details` IndustryDetails[] — Отраслевой реквизит предмета расчета (тег в 54 ФЗ — 1260). Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
          - `federal_id` string, required — Идентификатор федерального органа исполнительной власти (тег в 54 ФЗ — 1262).
          - `document_date` string, date, required — Дата документа основания (тег в 54 ФЗ — 1263). Передается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601
          - `document_number` string, required — Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» (тег в 54 ФЗ — 1264).
          - `value` string, required — Значение отраслевого реквизита (тег в 54 ФЗ — 1265).
      - `internet` boolean — Признак проведения платежа в интернете (тег в 54 ФЗ — 1125) — указывает на оплату через интернет. Возможные значения: true — оплата прошла онлайн, через интернет (например, на вашем сайте или в приложении); false — оплата прошла офлайн, при личном взаимодействии (например, в торговой точке или при встрече с курьером). По умолчанию true. Если вы принимаете платежи офлайн, передайте в запросе значение false.
      - `tax_system_code` integer — Система налогообложения магазина (тег в 54 ФЗ — 1055). Для сторонних онлайн-касс: обязательный параметр, если вы используете онлайн-кассу Атол Онлайн, обновленную до ФФД 1.2, или у вас несколько систем налогообложения, в остальных случаях не передается. Перечень возможных значений: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#tax-systems Для Чеков от ЮKassa: параметр передавать не нужно, ЮKassa его проигнорирует.
      - `timezone` integer — Номер часовой зоны для адреса, по которому вы принимаете платежи (тег в 54 ФЗ — 1011). Указывается, только если в чеке есть товары, которые подлежат обязательной маркировке (в items.mark_code_info передается параметр gs_1m, short или fur). Перечень возможных значений: для Чеков от ЮKassa: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/parameters-values#timezone; для сторонних онлайн-касс: https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#timezone.
      - `receipt_industry_details` IndustryDetails[] — Отраслевой реквизит чека (тег в 54 ФЗ — 1261). Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
        - `federal_id` string, required — Идентификатор федерального органа исполнительной власти (тег в 54 ФЗ — 1262).
        - `document_date` string, date, required — Дата документа основания (тег в 54 ФЗ — 1263). Передается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601
        - `document_number` string, required — Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения реквизита «значение отраслевого реквизита» (тег в 54 ФЗ — 1264).
        - `value` string, required — Значение отраслевого реквизита (тег в 54 ФЗ — 1265).
      - `receipt_operational_details` object — Операционный реквизит чека (тег в 54 ФЗ — 1270). Можно передавать, если используете Чеки от ЮKassa или онлайн-кассу, обновленную до ФФД 1.2.
        - `operation_id` integer, required — Идентификатор операции (тег в 54 ФЗ — 1271). Число от 0 до 255.
        - `value` string, required — Данные операции (тег в 54 ФЗ — 1272).
        - `created_at` string, date-time, required — Время создания операции (тег в 54 ФЗ — 1273). Указывается по UTC: https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F и передается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. Пример: 2017-11-03T11:52:31.827Z
    - `recipient` Recipient — Получатель платежа. Нужен, если вы разделяете потоки платежей в рамках одного аккаунта или создаете платеж в адрес другого аккаунта.
      - `gateway_id` string, required — Идентификатор субаккаунта. Используется для разделения потоков платежей в рамках одного аккаунта.
    - `save_payment_method` boolean — Сохранение платежных данных для проведения автоплатежей: https://yookassa.ru/developers/payment-acceptance/scenario-extensions/recurring-payments/basics. Возможные значения: true — сохранить способ оплаты (сохранить платежные данные); false — провести платеж без сохранения способа оплаты. Доступно только после согласования с менеджером ЮKassa.
    - `capture` boolean — Автоматический прием: https://yookassa.ru/developers/payment-acceptance/getting-started/payment-process#capture-true поступившего платежа. Возможные значения: true — оплата списывается сразу (платеж в одну стадию); false — оплата холдируется и списывается по вашему запросу (платеж в две стадии: https://yookassa.ru/developers/payment-acceptance/getting-started/payment-process#capture-and-cancel). По умолчанию false.
    - `client_ip` string — IPv4 или IPv6-адрес пользователя. Если не указан, используется IP-адрес TCP-подключения.
    - `description` string — Описание транзакции (не более 128 символов), которое вы увидите в личном кабинете ЮKassa, а пользователь — при оплате. Например: «Оплата заказа № 72 для user@yoomoney.ru».
    - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.
  - `cart` LineItem[], required — Корзина заказа — список товаров или услуг, который отобразится на странице счета перед оплатой.
    - `description` string, required — Название товара или услуги (от 1 до 128 символов). Пользователь увидит его на странице счета перед оплатой.
    - `price` object, required — Полная цена товара или услуги. Пользователь увидит ее на странице счета перед оплатой.
      - `value` string, required — Сумма в выбранной валюте. Всегда дробное значение. Разделитель дробной части — точка, разделитель тысяч отсутствует. Количество знаков после точки зависит от выбранной валюты. Пример: 1000.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required — Трехбуквенный код валюты в формате ISO-4217: https://www.iso.org/iso-4217-currency-codes.html. Пример: RUB.
    - `discount_price` object — Итоговая цена товара с учетом скидки. Если передана, то на странице счета цена отобразится с учетом скидки. Не нужно передавать, если пользователь оплачивает полную стоимость товара или услуги.
      - `value` string, required — Сумма в выбранной валюте. Всегда дробное значение. Разделитель дробной части — точка, разделитель тысяч отсутствует. Количество знаков после точки зависит от выбранной валюты. Пример: 1000.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required — Трехбуквенный код валюты в формате ISO-4217: https://www.iso.org/iso-4217-currency-codes.html. Пример: RUB.
    - `quantity` number, required — Количество товара. Можно передать целое или дробное число. Разделитель дробной части — точка, разделитель тысяч отсутствует, максимум три знака после точки. Пример: 5.000
  - `delivery_method_data` union
    - DeliveryMethodDataSelf — Данные о способе доставки счета пользователю. Подробнее о способах доставки счетов: https://yookassa.ru/developers/payment-acceptance/scenario-extensions/invoices/basics#send-invoice
      - `type` 'self' | 'sms' | 'email', required — Код способа доставки счета пользователю.
    - DeliveryMethodDataSms — Данные о способе доставки счета пользователю. Подробнее о способах доставки счетов: https://yookassa.ru/developers/payment-acceptance/scenario-extensions/invoices/basics#send-invoice
      - `type` 'self' | 'sms' | 'email', required — Код способа доставки счета пользователю.
      - `phone` string, required — Номер телефона, на который ЮKassa отправит смс со ссылкой на счет. Указывается в формате ITU-T E.164: https://ru.wikipedia.org/wiki/E.164, например 79000000000.
    - DeliveryMethodDataEmail — Данные о способе доставки счета пользователю. Подробнее о способах доставки счетов: https://yookassa.ru/developers/payment-acceptance/scenario-extensions/invoices/basics#send-invoice
      - `type` 'self' | 'sms' | 'email', required — Код способа доставки счета пользователю.
      - `email` string, email, required — Адрес электронной почты, на который ЮKassa отправит письмо со ссылкой на счет.
  - `expires_at` string, date-time, required — Срок действия счета — дата и время, до которых можно оплатить выставленный счет. Указывается по UTC: https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F и передается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. Пример: 2024-10-18T10:51:18.139Z
  - `locale` 'ru_RU' | 'en_US' — Язык интерфейса, писем и смс, которые будет видеть или получать пользователь. Формат соответствует ISO/IEC 15897: https://en.wikipedia.org/wiki/Locale_(computer_software). Возможные значения: ru_RU, en_US. Регистр важен.
  - `description` string — Описание выставленного счета (не более 128 символов), которое вы увидите в личном кабинете ЮKassa, а пользователь на странице счета. Например: «Счет на оплату по договору 37».
  - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.

## Response `200`

Запрос успешно обработан

- Invoice — Объект счета (Invoice) — актуальная информация о счете.
  - `id` string, required — Идентификатор счета в ЮKassa.
  - `status` 'pending' | 'succeeded' | 'canceled', required — Статус счета. Возможные значения: pending — счет создан и ожидает успешной оплаты; succeeded — счет успешно оплачен, есть связанный платеж в статусе succeeded (финальный и неизменяемый статус для платежей в одну стадию); canceled — вы отменили счет, успешный платеж по нему не поступил или был отменен (при оплате в две стадии) либо истек срок действия счета (финальный и неизменяемый статус). Подробнее про жизненный цикл счета: https://yookassa.ru/developers/payment-acceptance/scenario-extensions/invoices/basics#invoice-status
  - `cart` LineItem[], required — Корзина заказа — список товаров или услуг, который отобразится на странице счета перед оплатой.
    - `description` string, required — Название товара или услуги (от 1 до 128 символов). Пользователь увидит его на странице счета перед оплатой.
    - `price` object, required — Полная цена товара или услуги. Пользователь увидит ее на странице счета перед оплатой.
      - `value` string, required — Сумма в выбранной валюте. Всегда дробное значение. Разделитель дробной части — точка, разделитель тысяч отсутствует. Количество знаков после точки зависит от выбранной валюты. Пример: 1000.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required — Трехбуквенный код валюты в формате ISO-4217: https://www.iso.org/iso-4217-currency-codes.html. Пример: RUB.
    - `discount_price` object — Итоговая цена товара с учетом скидки. Если передана, то на странице счета цена отобразится с учетом скидки. Не нужно передавать, если пользователь оплачивает полную стоимость товара или услуги.
      - `value` string, required — Сумма в выбранной валюте. Всегда дробное значение. Разделитель дробной части — точка, разделитель тысяч отсутствует. Количество знаков после точки зависит от выбранной валюты. Пример: 1000.00.
      - `currency` 'RUB' | 'EUR' | 'USD' | 'KZT' | 'BYN' | 'UAH' | 'UZS' | 'TRY' | 'INR' | 'MDL' | 'AZN' | 'AMD', required — Трехбуквенный код валюты в формате ISO-4217: https://www.iso.org/iso-4217-currency-codes.html. Пример: RUB.
    - `quantity` number, required — Количество товара. Можно передать целое или дробное число. Разделитель дробной части — точка, разделитель тысяч отсутствует, максимум три знака после точки. Пример: 5.000
  - `delivery_method` union
    - DeliveryMethodSelf — Данные о выбранном способе доставки счета. Присутствует только для счетов в статусе pending.
      - `type` 'self' | 'sms' | 'email', required
      - `url` string — URL страницы счета, который необходимо передать пользователю для оплаты. Не более 2048 символов.
    - DeliveryMethodSms — Данные о выбранном способе доставки счета. Присутствует только для счетов в статусе pending.
      - `type` 'self' | 'sms' | 'email', required
    - DeliveryMethodEmail — Данные о выбранном способе доставки счета. Присутствует только для счетов в статусе pending.
      - `type` 'self' | 'sms' | 'email', required
  - `payment_details` PaymentDetails — Данные о платеже по выставленному счету. Присутствуют, только если платеж успешно подтвержден пользователем: https://yookassa.ru/developers/payment-acceptance/getting-started/payment-process#user-confirmation.
    - `id` string, required — Идентификатор платежа в ЮKassa.
    - `status` 'pending' | 'waiting_for_capture' | 'succeeded' | 'canceled', required — Статус платежа. Возможные значения: waiting_for_capture — для платежей в две стадии: https://yookassa.ru/developers/payment-acceptance/getting-started/payment-process#capture-and-cancel: платеж оплачен, деньги авторизованы, вам необходимо списать оплату или отменить платеж; succeeded — платеж успешно завершен, деньги будут перечислены на ваш расчетный счет в соответствии с вашим договором с ЮKassa (финальный и неизменяемый статус); canceled — для платежей в две стадии: https://yookassa.ru/developers/payment-acceptance/getting-started/payment-process#capture-and-cancel: вы отменили платеж по API (финальный и неизменяемый статус).
  - `created_at` string, date-time, required — Дата и время создания счета на оплату. Указывается по UTC: https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F и передается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. Пример: 2017-11-03T11:52:31.827Z
  - `expires_at` string, date-time — Срок действия счета — дата и время, до которых можно оплатить выставленный счет. Указывается по UTC: https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F и передается в формате ISO 8601: https://en.wikipedia.org/wiki/ISO_8601. Пример: 2024-10-18T10:51:18.139Z Присутствует только для счетов в статусе pending.
  - `description` string — Описание выставленного счета (не более 128 символов), которое вы увидите в личном кабинете ЮKassa, а пользователь на странице счета. Например: «Счет на оплату по договору 37».
  - `cancellation_details` InvoiceCancellationDetails — Комментарий к статусу canceled: кто отменил счет и по какой причине.
    - `party` 'yoo_money' | 'merchant', required — Участник процесса, который принял решение об отмене счета. Возможные значения: merchant — продавец товаров и услуг (вы); yoo_money — ЮKassa.
    - `reason` 'invoice_canceled' | 'invoice_expired' | 'general_decline' | 'payment_canceled' | 'payment_expired_on_capture', required — Причина отмены счета. Возможные значения: invoice_canceled — счет отменен вручную: https://yookassa.ru/docs/support/merchant/invoices-to-clients/invoicing#invoicing__cancel из личного кабинета ЮKassa; invoice_expired — истек срок действия счета, который вы установили в запросе на создание счета в параметре expires_at, и по счету нет ни одного успешного платежа; general_decline — причина не детализирована, поэтому пользователю следует обратиться к инициатору отмены счета за уточнением подробностей; payment_canceled — платеж отменен по API: https://yookassa.ru/developers/payment-acceptance/getting-started/payment-process#cancel при оплате в две стадии; payment_expired_on_capture — истек срок списания оплаты: https://yookassa.ru/developers/payment-acceptance/getting-started/payment-process#hold для платежа в две стадии.
  - `metadata` Metadata — Любые дополнительные данные, которые нужны вам для работы (например, ваш внутренний идентификатор заказа). Передаются в виде набора пар «ключ-значение» и возвращаются в ответе от ЮKassa. Ограничения: максимум 16 ключей, имя ключа не больше 32 символов, значение ключа не больше 512 символов, тип данных — строка в формате UTF-8.

## Other responses

- `400` — Запрос не может быть обработан. Причиной может быть неправильный синтаксис запроса, ошибка в обязательных параметрах запроса, их отсутствие или неподдерживаемый метод.
- `401` — В заголовке Authorization указан неверный ключ.
- `403` — Секретный ключ указан верно, но не хватает прав для совершения операции.
- `500` — Внутренняя ошибка сервера ЮKassa.

---

[API](https://skmtc.dev/hexlet/apis/api-kassa.md) · [All operations](https://skmtc.dev/hexlet/apis/api-kassa/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hexlet/api-kassa/revisions/e79983ebb73d/schema)
