Old versions of the API
Help
Sign up for YooMoney
Отправка чеков по выставленным счетам
Компаниям, ИП и самозанятым при проведении платежей и возвратов необходимо формировать чеки. Выставление счетов — это вспомогательный инструмент для проведения платежей, поэтому здесь также нужно регистрировать чеки в налоговой. Вы можете делать это самостоятельно или использовать решения ЮKassa для отправки чеков в налоговую.
Всё работает, как для обычных платежей, особенности есть только при создании счета и проведении платежа.
Особенности отправки чеков при выставлении счетов
При проведении обычных платежей данные для чека передаются двумя способами:
  • вместе с данными о платеже или возврате — в запросе на создание платежа, подтверждение платежа или в запросе на создание возврата;
  • отдельным запросом на создание чека.
Способ отправки данных зависит от выбранного решения, сценария отправки чеков и от операции, которую вы хотите выполнить.
Решение и сценарийСпособ отправки данных
  • Данные для чека при проведении платежа передаются в запросе на создание платежа и в запросе на подтверждение платежа (при платежах в две стадии)
  • Для 54-ФЗ: Данные для чека зачета предоплаты передаются в запросе на создание чека
  • Данные для чека при проведении возврата передаются в запросе на создание возврата
54-ФЗ: сторонняя онлайн-касса, сценарий Сначала платеж, потом чек
  • Данные для чека при проведении платежа передаются в запросе на создание чека после перехода платежа в определенный статус
  • Данные для чека зачета предоплаты передаются в запросе на создание чека
  • Данные для чека при проведении возврата передаются в запросе на создание чека после перехода возврата в определенный статус
Если вы выставляете счета, отличия незначительные:
Чеки при выставлении счета
Выберите нужный вам способ отправки данных для чека:
Чек прихода в запросе на создание счета
Если вы используете эти решения ЮKassa, данные для чека при платеже нужно передавать в запросе на создание счета:

В этом разделе описано создание чека прихода на примере компании, которая использует решение ЮKassa для сторонних онлайн-касс и формирует чеки по сценарию Платеж и чек одновременно. Для других решений и сценариев запрос может отличаться.

Как отправить данные для чека:
Шаг 1. Перед выставлением счета получите от пользователя данные для доставки ему чека: адрес электронной почты или номер телефона (доступно для всех решений, кроме чеков от ЮKassa).
Шаг 2. Создайте счет и добавьте в объект payment_data объект receipt с данными для чека. Требования к данным для чека зависят от решения ЮKassa, которое вы используете для отправки чеков.
Пример запроса на создание счета с параметрами для чека (54-ФЗ, сторонняя онлайн-касса, сценарий Платеж и чек одновременно)
cURL
  curl https://api.yookassa.ru/v3/invoices \
    -X POST \
    -u <Идентификатор магазина>:<Секретный ключ> \
    -H 'Idempotence-Key: <Ключ идемпотентности>' \
    -H 'Content-Type: application/json' \
    -d '{
          "payment_data": {
            "amount": {
              "value": "10.00",
              "currency": "RUB"
            },
            "receipt": {
              "customer": {
                "full_name": "Иванов Иван Иванович",
                "email": "user@example.com"
              },
              "items": [
                {
                  "description": "Товар арт. 12345",
                  "quantity": 1.000,
                  "amount": {
                    "value": "7.00",
                    "currency": "RUB"
                  },
                  "vat_code": 2,
                  "payment_mode": "full_prepayment",
                  "payment_subject": "commodity"
                },
                {
                  "description": "Товар арт. 67890",
                  "quantity": 3.000,
                  "amount": {
                    "value": "1.00",
                    "currency": "RUB"
                  },
                  "vat_code": 2,
                  "payment_mode": "full_prepayment",
                  "payment_subject": "commodity"
                }
              ]
            },
            "capture": true,
            "description": "Заказ №37",
            "metadata": {
              "order_id": "37"
            }
          },
          "cart": [
            {
              "description": "Товар арт. 12345",
              "price": {
                "value": "9.00",
                "currency": "RUB"
              },
              "discount_price": {
                "value": "7.00",
                "currency": "RUB"
              },
              "quantity": 1.000
            },
            {
              "description": "Товар арт. 67890",
              "price": {
                "value": "1.00",
                "currency": "RUB"
              },
              "quantity": 3.000
            }
          ],
          "delivery_method_data": {
            "type": "self"
          },
          "locale": "ru_RU",
          "expires_at": "2024-10-18T10:51:18.139Z",
          "description": "Счет на оплату заказа номер 37",
          "metadata": {
            "order_id": "37"
          }
}'
Далее выполняйте действия, как с обычным счетом: получите ссылку на счет, отправьте ее пользователю и дождитесь оплаты.
ЮKassa отправит данные для чека в онлайн-кассу (для компаний и ИП) или налоговую (для самозанятых), когда пользователь завершит оплату выставленного счета.
Шаг 3. Убедитесь, что чек сформирован. Статус регистрации чека можно проверить в объекте платежа . Порядок действий зависит от того, какое решение для работы с чеками вы используете:
Для самозанятых
Для компаний и ИП, которые используют чеки от ЮKassa
Для компаний и ИП, которые отправляют чеки сторонней онлайн-кассе по сценарию Платеж и чек одновременно
Для компаний и ИП, которые отправляют чеки сторонней онлайн-кассе по сценарию Сначала чек, потом платеж
Также статус регистрации чека можно проверить в личном кабинете ЮKassa в истории платежей.
Шаг 4. При необходимости получите идентификатор платежа для выполнения других операций.
Готово!
Чек прихода отдельным запросом
Если вы используете решение ЮKassa для сторонних онлайн-касс и формируете чеки по сценарию Сначала платеж, потом чек, данные для чека при платеже необходимо передавать после создания счета.
Как отправить данные для чека:
Шаг 1. Перед выставлением счета получите от пользователя его данные для доставки ему чека: адрес электронной почты или номер телефона.
Шаг 2. Создайте счет как обычно. Данные для чека передавать не нужно.
Пример запроса на создание счета
cURL
  curl https://api.yookassa.ru/v3/invoices \
    -X POST \
    -u <Идентификатор магазина>:<Секретный ключ> \
    -H 'Idempotence-Key: <Ключ идемпотентности>' \
    -H 'Content-Type: application/json' \
    -d '{
          "payment_data": {
            "amount": {
              "value": "10.00",
              "currency": "RUB"
            },
            "capture": true,
            "description": "Заказ №37",
            "metadata": {
              "order_id": "37"
            }
          },
          "cart": [
            {
              "description": "Товар арт. 12345",
              "price": {
                "value": "9.00",
                "currency": "RUB"
              },
              "discount_price": {
                "value": "7.00",
                "currency": "RUB"
              },
              "quantity": 1.000
            },
            {
              "description": "Товар арт. 67890",
              "price": {
                "value": "1.00",
                "currency": "RUB"
              },
              "quantity": 3.000
            }
          ],
          "delivery_method_data": {
            "type": "self"
          },
          "locale": "ru_RU",
          "expires_at": "2024-10-18T10:51:18.139Z",
          "description": "Счет на оплату заказа номер 37",
          "metadata": {
            "order_id": "37"
          }
}'
Далее выполняйте действия, как с обычным счетом: получите ссылку на счет, отправьте ее пользователю и дождитесь оплаты.
Шаг 3. Дождитесь, когда платеж перейдет в статус waiting_for_capture (для платежей в две стадии) или succeeded (для платежей в одну стадию).
Шаг 6. Убедитесь, что чек сформирован. Для этого дождитесь, когда объект чека  перейдет в статус succeeded.
Также статус регистрации чека можно проверить в личном кабинете ЮKassa в истории платежей.
ЮKassa ожидает от онлайн-кассы ответа о регистрации чека в течение одного дня. Если что-то пойдет не так, сформируйте чек вручную в своей онлайн-кассе.
Готово!
Чеки при платежах в две стадии и чеки зачета предоплаты
При формировании большинства чеков не имеет значения, как создан платеж: по выставленному счету или стандартно.
Воспользуйтесь инструкциями для обычных платежей, если вы:
  • принимаете платежи в две стадии и списываете оплату частично;
  • формируете чеки зачета предоплаты;
  • для 54 ФЗ: отправляете чеки сторонней онлайн-кассе по сценарию Сначала платеж, потом чек.
Для формирования таких чеков вам потребуется передать в запросе идентификатор платежа — вы получите его в уведомлении по платежу от ЮKassa или в ответе на запрос информации по счету. Подробнее о получении идентификатора платежа
Подробнее о чеках при платежах:
Чеки при возвратах
При возврате платежей, созданных при выставлении счетов по API, чеки формируются стандартно. Подробнее о формировании чека возврата прихода:
Для чеков при возвратах нужно передавать идентификатор платежа, если вы:
See also
Sending receipts in accordance with 54-FZ