Если вы используете решение ЮKassa для работы по 54-ФЗ, для Безопасной сделки вам нужно формировать чеки за вознаграждение вашей платформы.
В Безопасной сделке для отправки чеков используется сценарий Сначала платеж, потом чек.
Чек при платеже нужно формировать всегда, при возврате — только если вы возвращаете свое вознаграждение. Данные для чека нужно передавать отдельным запросом. Для одного платежа или возврата можно создать не более 15 чеков.
Для работы с чеками подключите в личном кабинете онлайн-кассу и настройте отправку данных для чека по этой инструкции.
Данные для чека рекомендуется отправлять при успешном получении оплаты от покупателя. Порядок действий зависит от того, как вы проводите платеж — в одну или в две стадии.
- Создайте платеж в одну стадию.
- Когда платеж перейдет в статус
succeeded
, создайте чек прихода, указав полную сумму вашего вознаграждения.
- Создайте платеж в две стадии.
- Когда платеж перейдет в статус
waiting_for_capture
, создайте чек прихода, указав полную сумму вашего вознаграждения. - При подтверждении платежа:
- Если списываете полную сумму, новый чек не нужен.
- Если списываете только часть своей комиссии, создайте два чека: чек возврата прихода с суммой вашего вознаграждения, которую оплатил покупатель, и чек прихода с новой суммой, которую вы подтверждаете.
- Если отменяете платеж, создайте чек возврата прихода с полной суммой вашего вознаграждения.
Чек возврата нужен, только если вы используете сценарий сделки Вознаграждение при закрытии сделки и делаете возврат. Данные для чека рекомендуется отправлять сразу после успешного возврата.
- Создайте возврат (полный или частичный).
- Когда возврат перейдет в статус
succeeded
, создайте чек возврата прихода, указав сумму возвращаемого вознаграждения.
При проведении платежа сформируйте чек прихода: в запросе на создание чека передайте
payment_id
с идентификатором платежа, type
со значением payment
и данные для чека с информацией о вашем вознаграждении, которое вы получите от проведения сделки.Пример запроса на создание чека прихода
curl https://api.yookassa.ru/v3/receipts \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "customer" : { "full_name": "Иванов Иван Иванович", "email": "user@example.com", "phone": "7100000000" }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562", "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 отправит вам объект чека в актуальном статусе.
Пример объекта чека
{ "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 https://api.yookassa.ru/v3/receipts \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "customer": { "full_name": "Иванов Иван Иванович", "email": "user@example.com", "phone": "7100000000" }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562", "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 отправит вам объект чека в актуальном статусе.
Пример объекта чека
{ "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 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": "2855940e-000f-5000-9000-1ef78d597562", "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 отправит вам объект чека в актуальном статусе.
Пример объекта чека
{ "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 https://api.yookassa.ru/v3/receipts \ -X POST \ -u <Идентификатор магазина>:<Секретный ключ> \ -H 'Idempotence-Key: <Ключ идемпотентности>' \ -H 'Content-Type: application/json' \ -d '{ "customer" : { "full_name": "Иванов Иван Иванович", "email": "user@example.com", "phone": "7100000000" }, "payment_id": "2855940e-000f-5000-9000-1ef78d597562", "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 отправит вам объект чека в актуальном статусе.
Пример объекта чека
{ "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 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 отправит вам объект чека в актуальном статусе.
Пример объекта чека
{ "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-ФЗПлатежи в Безопасной сделкеВозврат платежа в Безопасной сделке