Отправка данных для чеков
Если вы используете решение ЮKassa для работы по 54-ФЗ, для Безопасной сделки вам нужно формировать чеки за вознаграждение вашей платформы.
 
Особенности
В Безопасной сделке для отправки чеков используется сценарий Сначала платеж, потом чек.
Чек при платеже нужно формировать всегда, при возврате — только если вы возвращаете свое вознаграждение. Данные для чека нужно передавать отдельным запросом. Для одного платежа или возврата можно создать не более 15 чеков.
Для работы с чеками подключите в личном кабинете онлайн-кассу и настройте отправку данных для чека по этой инструкции.
 
Проведение платежа
Данные для чека рекомендуется отправлять при успешном получении оплаты от покупателя. Порядок действий зависит от того, как вы проводите платеж — в одну или в две стадии.
В чеке нужно указывать полную сумму вашего вознаграждения до вычета эквайринговой комиссии ЮKassa. Например, если сумма платежа — 1 000 рублей, вознаграждение продавца — 800 рублей, а ваше вознаграждение — 200 рублей, в чеке нужно указать 200 рублей.
 
Платеж в одну стадию
  1. Создайте платеж в одну стадию.
  2. Когда платеж перейдет в статус
    succeeded
    , создайте чек прихода, указав полную сумму вашего вознаграждения.
 
Платеж в две стадии
  1. Создайте платеж в две стадии.
  2. Когда платеж перейдет в статус
    waiting_for_capture
    , создайте чек прихода, указав полную сумму вашего вознаграждения.
  3. При подтверждении платежа:
    • Если списываете полную сумму, новый чек не нужен.
    • Если списываете только часть своей комиссии, создайте два чека: чек возврата прихода с суммой вашего вознаграждения, которую оплатил покупатель, и чек прихода с новой суммой, которую вы подтверждаете.
    • Если отменяете платеж, создайте чек возврата прихода с полной суммой вашего вознаграждения.
 
Возврат платежа
Чек возврата нужен, только если вы используете сценарий сделки Вознаграждение при закрытии сделки и делаете возврат. Данные для чека рекомендуется отправлять сразу после успешного возврата.
  1. Создайте возврат (полный или частичный).
  2. Когда возврат перейдет в статус
    succeeded
    , создайте чек возврата прихода, указав сумму возвращаемого вознаграждения.
 
Чек при создании платежа
При проведении платежа сформируйте чек прихода: в запросе на создание чека  передайте
payment_id
с идентификатором платежа,
type
со значением
payment
и данные для чека с информацией о вашем вознаграждении, которое вы получите от проведения сделки.
Пример запроса на создание чека прихода
cURL
curl https://api.yookassa.ru/v3/receipts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "customer" : {
          "full_name" : "Иванов Иван Иванович",
          "email" : "email@email.ru",
          "phone" : "7100000000"
        },
        "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
        "type": "payment",
        "send": "true",
        "items": [
          {
            "description": "Сервисный сбор",
            "quantity": "1.00",
            "amount": {
              "value": "200.00",
              "currency": "RUB"
            },
            "vat_code": "4",
            "payment_mode": "full_payment",
            "payment_subject": "service"
          }
        ],
        "settlements": [
          {
            "type": "cashless",
            "amount": {
              "value": "200.00",
              "currency": "RUB"
            }
          }
        ]
      }'
В ответ ЮKassa отправит вам объект чека  в актуальном статусе.
Пример объекта чека
JSON
{
  "id": "rt_1da5c87d-0984-50e8-a7f3-8de646dd9ec9",
  "type": "payment",
  "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
  "status": "pending",
  "items": [
    {
      "description": "Сервисный сбор",
      "quantity": "1.00",
      "amount": {
        "value": "200.00",
        "currency": "RUB"
      },
      "vat_code": "4",
      "payment_mode": "full_payment",
      "payment_subject": "service"
    }
  ],
  "settlements": [
    {
      "type": "cashless",
      "amount": {
        "value": "200.00",
        "currency": "RUB"
      }
    }
  ]
}
 
Чеки при частичном подтверждении платежа
Только при проведении платежа в две стадии.
При частичном подтверждении платежа сформируйте два чека:
Шаг 1. Сформируйте чек возврата прихода для того вознаграждения, которое оплатил покупатель: в запросе на создание чека  передайте
payment_id
с идентификатором подтверждаемого платежа, параметр
type
со значением
refund
и данные для чека с информацией о вознаграждении.
Пример запроса на создание чека возврата прихода при частичном подтверждении платежа
cURL
curl https://api.yookassa.ru/v3/receipts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "customer" : {
          "full_name" : "Иванов Иван Иванович",
          "email" : "email@email.ru",
          "phone" : "7100000000"
        },
        "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
        "type": "refund",
        "send": "true",
        "items": [
          {
            "description": "Сервисный сбор",
            "quantity": "1.00",
            "amount": {
              "value": "200.00",
              "currency": "RUB"
            },
            "vat_code": "4",
            "payment_mode": "full_payment",
            "payment_subject": "service"
          }
        ],
        "settlements": [
          {
            "type": "cashless",
            "amount": {
              "value": "200.00",
              "currency": "RUB"
            }
          }
        ]
      }'
В ответ ЮKassa отправит вам объект чека  в актуальном статусе.
Пример объекта чека
JSON
{
  "id": "rt_1da5c87d-0984-50e8-a7f3-8de646dd9ec9",
  "type": "payment",
  "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
  "status": "pending",
  "items": [
    {
      "description": "Сервисный сбор",
      "quantity": "1.00",
      "amount": {
        "value": "200.00",
        "currency": "RUB"
      },
      "vat_code": "4",
      "payment_mode": "full_payment",
      "payment_subject": "service"
    }
  ],
  "settlements": [
    {
      "type": "cashless",
      "amount": {
        "value": "200.00",
        "currency": "RUB"
      }
    }
  ]
}
Шаг 2. Сформируйте чек прихода для подтверждаемого вознаграждения: в запросе на создание чека  передайте
payment_id
с идентификатором подтверждаемого платежа, параметр
type
со значением
payment
и данные для чека с информацией о новом вознаграждении.
Пример запроса на создание чека прихода при частичном подтверждении платежа
cURL
curl https://api.yookassa.ru/v3/receipts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "customer" : {
          "full_name" : "Иванов Иван Иванович",
          "email" : "email@email.ru",
          "phone" : "7100000000"
        },
        "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
        "type": "payment",
        "send": "true",
        "items": [
          {
            "description": "Сервисный сбор",
            "quantity": "1.00",
            "amount": {
              "value": "120.00",
              "currency": "RUB"
            },
            "vat_code": "4",
            "payment_mode": "full_payment",
            "payment_subject": "service"
          }
        ],
        "settlements": [
          {
            "type": "cashless",
            "amount": {
              "value": "120.00",
              "currency": "RUB"
            }
          }
        ]
      }'
В ответ ЮKassa отправит вам объект чека  в актуальном статусе.
Пример объекта чека
JSON
{
  "id": "rt_1da5c87d-0984-50e8-a7f3-8de646dd9ec9",
  "type": "payment",
  "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
  "status": "pending",
  "items": [
    {
      "description": "Сервисный сбор",
      "quantity": "1.00",
      "amount": {
        "value": "120.00",
        "currency": "RUB"
      },
      "vat_code": "4",
      "payment_mode": "full_payment",
      "payment_subject": "service"
    }
  ],
  "settlements": [
    {
      "type": "cashless",
      "amount": {
        "value": "120.00",
        "currency": "RUB"
      }
    }
  ]
}
 
Чек при отмене платежа
Только при проведении платежа в две стадии.
При отмене платежа сформируйте чек возврата прихода: в запросе на создание чека  передайте
payment_id
с идентификатором отмененного платежа,
type
со значением
refund
и данные для чека с информацией о вашем возвращаемом вознаграждении.
Пример запроса на создание чека при отмене платежа
cURL
curl https://api.yookassa.ru/v3/receipts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "customer" : {
          "full_name" : "Иванов Иван Иванович",
          "email" : "email@email.ru",
          "phone" : "7100000000"
        },
        "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
        "type": "refund",
        "send": "true",
        "items": [
          {
            "description": "Сервисный сбор",
            "quantity": "1.00",
            "amount": {
              "value": "200.00",
              "currency": "RUB"
            },
            "vat_code": "4",
            "payment_mode": "full_payment",
            "payment_subject": "service"
          }
        ],
        "settlements": [
          {
            "type": "cashless",
            "amount": {
              "value": "200.00",
              "currency": "RUB"
            }
          }
        ]
      }'
В ответ ЮKassa отправит вам объект чека  в актуальном статусе.
Пример объекта чека
JSON
{
  "id": "rt_1da5c87d-0984-50e8-a7f3-8de646dd9ec9",
  "type": "refund",
  "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
  "status": "pending",
  "items": [
    {
      "description": "Сервисный сбор",
      "quantity": "1.00",
      "amount": {
        "value": "200.00",
        "currency": "RUB"
      },
      "vat_code": "4",
      "payment_mode": "full_payment",
      "payment_subject": "service"
    }
  ],
  "settlements": [
    {
      "type": "cashless",
      "amount": {
        "value": "200.00",
        "currency": "RUB"
      }
    }
  ]
}
 
Чеки при возврате платежа
Только для сценария Вознаграждение при закрытии сделки.
Создайте чек возврата прихода: в запросе на создание чека  передайте
refund_id
с идентификатором возврата,
type
со значением
refund
, в данных для чека передайте информацию о той части вашего вознаграждения, которую вы возвращаете.
Пример запроса на создание чека при возврате вознаграждения
cURL
curl https://api.yookassa.ru/v3/receipts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "customer" : {
          "full_name" : "Иванов Иван Иванович",
          "email" : "email@email.ru",
          "phone" : "7100000000"
        },
        "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
        "type": "refund",
        "send": "true",
        "items": [
          {
            "description": "Сервисный сбор",
            "quantity": "1.00",
            "amount": {
              "value": "40.00",
              "currency": "RUB"
            },
            "vat_code": "4",
            "payment_mode": "full_payment",
            "payment_subject": "service"
          }
        ],
        "settlements": [
          {
            "type": "cashless",
            "amount": {
              "value": "40.00",
              "currency": "RUB"
            }
          }
        ]
      }'
В ответ ЮKassa отправит вам объект чека  в актуальном статусе.
Пример объекта чека
JSON
{
  "id": "rt_1da5c87d-0984-50e8-a7f3-8de646dd9ec9",
  "type": "refund",
  "payment_id": "24b94598-000f-5000-9000-1b68e7b15f3f",
  "status": "pending",
  "items": [
    {
      "description": "Сервисный сбор",
      "quantity": "1.00",
      "amount": {
        "value": "40.00",
        "currency": "RUB"
      },
      "vat_code": "4",
      "payment_mode": "full_payment",
      "payment_subject": "service"
    }
  ],
  "settlements": [
    {
      "type": "cashless",
      "amount": {
        "value": "40.00",
        "currency": "RUB"
      }
    }
  ]
}

Есть вопросы или замечания по документации?

Можем созвониться и обсудить их лично: мы поможем вам разобраться, а вы нам — понять, что тут нужно улучшить. Для этого оставьте свои контакты и выберите время.
Да, хочу обсудить
 
Что почитать еще
Отправка чеков в налоговую по 54-ФЗПлатежи в Безопасной сделкеВозврат платежа в Безопасной сделке