Выставление счетов
В ЮKassa можно выставлять счета на оплату. Счет — это страница ЮKassa, на которой пользователь увидит описание заказа и сможет заплатить в любой удобный момент в течение заданного вами срока.
С помощью выставления счетов от ЮKassa вы можете автоматизировать прием платежей даже без сайта, увеличить срок оплаты для пользователя до 30 дней (вместо 1 часа) и принимать платежи популярными способами оплаты: кошельком ЮMoney, банковской картой, SberPay, СБП и другими.
В этой статье описано выставление счетов по API.
Как это работает
Счет — это готовая страница с описанием заказа, который сделал пользователь. Для приема оплаты ЮKassa использует Умный платеж: когда пользователь перейдет к оплате, ЮKassa автоматически создаст платеж и перенаправит пользователя на страницу оплаты. На платежной форме будут отображаться все способы оплаты, доступные вашему магазину.
Для приема платежа вам нужно только создать счет и передать ссылку пользователю: всё остальное сделает ЮKassa.
При оплате ЮKassa создаст объект платежа . С ним можно выполнять все действия, которые можно делать с платежами: получать уведомления об изменении статуса платежа, запрашивать информацию о платеже, подтверждать платеж, делать возвраты и т.д.
Подробнее о выставлении счетов:
- Как проходит оплата при выставлении счета
- Какие доступны возможности
- Преимущества выставления счетов по API
- Как использовать счета
- Как подключить выставление счетов
- Жизненный цикл счета
Как проходит оплата по выставленному счету
Когда обсудите с пользователем детали заказа, создайте счет и передайте ссылку на него любым удобным способом. Например, отправьте в мессенджере.
При переходе по ссылке пользователь попадет на страницу счета, где увидит его срок действия, а также корзину заказа и сумму к оплате.
Пример страницы счета
Когда пользователь перейдет к оплате, ЮKassa создаст платеж и перенаправит пользователя на платежную форму, где он выберет подходящий способ оплаты, введет данные и подтвердит платеж. Подробнее о доступных способах оплаты
Пример платежной формы
Если по каким-то причинам платеж не пройдет и перейдет в статус
canceled
, пользователь сможет повторять попытку оплаты, пока срок действия счета не истечет. Для этого пользователю нужно вернуться на страницу счета и заново перейти к оплате — каждый раз ЮKassa будет создавать новый платеж.Счет считается оплаченным, когда по нему есть успешный платеж (в статусе
succeeded
). Вы можете в любой момент проверить статус счета, отправляя запросы на получение информации о счете .Возможности
Выставляя счета по API, вы можете:
- автоматизировать оплату по счетам;
- создавать счета со сроком оплаты до 30 дней;
- показывать пользователю корзину заказа прямо на странице ЮKassa;
- принимать платежи всеми способами, кроме оплаты Электронным сертификатом и через СберБанк Бизнес Онлайн.
- принимать платежи в две стадии и списывать оплату полностью или частично;
- делать возвраты по API или из личного кабинета;
- сохранять способы оплаты для проведения автоплатежей;
- передавать данные для чека в онлайн-кассу (для компаний и ИП) или в налоговую (для самозанятых);
- получать информацию о счете и платеже по API.
Преимущества выставления счетов по API
Выставить счет можно не только по API, но и в личном кабинете ЮKassa или Telegram-боте. Тогда вам не потребуется писать код: вы укажете необходимые настройки, получите ссылку на страницу счета и сможете отправить ее пользователю — самостоятельно или, если выставляете счета в личном кабинете, через ЮKassa.
Тем не менее, у выставления счетов по API есть ряд преимуществ:
- Выставляя счета по API, вы можете автоматизировать обработку информации о статусе счета. Это недоступно для счетов, выставленных из личного кабинета или через Telegram-бота.
- У всех платежных решений API ЮKassa один и тот же формат взаимодействия. Если вы захотите принимать платежи на сайте, делать выплаты по API ЮKassa или использовать другие платежные решения, вам нужно будет только подписать договор и подключить новые возможности по соответствующим инструкциям.
- API поддерживает те возможности, которых нет в личном кабинете. Например, автоплатежи или частичное списание оплаты по платежу в две стадии.
- Если вы используете решения ЮKassa для работы по 54-ФЗ, то выставляя счета по API сможете передавать больше данных для чека, чем в личном кабинете. Например, код маркировки или меру количества предмета расчета.
Использование счета
Прием платежа по счету
Чтобы принять платеж, вам нужно создать счет и отправить пользователю ссылку на него. Когда на странице счета пользователь перейдет к оплате — ЮKassa автоматически создаст платеж и отобразит платежную форму. На ней пользователь увидит все способы оплаты, подключенные в вашем магазине и доступные для этого платежа. Подробнее об отображении способов оплаты
Счет одноразовый — с ним может быть связан только один успешный платеж. В контексте выставления счетов это значит, что платеж по счету перешел в статус
succeeded
(при оплате в одну стадию) или в статус waiting_for_capture
(при оплате в две стадии). Если такой платеж уже есть, в объекте счета появится объект payment_details
с идентификатором платежа. После этого оплатить счет еще раз не получится — нужно создавать новый счет.Счет считается оплаченным, когда платеж по нему переходит в статус
succeeded
, т.к. для платежа это финальный статус. Если платеж находится в статусе wating_for_capture
, то он может перейти как в статус succeeded
, так и в статус canceled
. При отмене платежа на этой стадии счет тоже отменится. Подробнее о статусах счетаСрок действия счета
Срок действия счета вы можете регулировать самостоятельно при создании счета. Счет может действовать максимум 30 дней.
Когда указанный срок пройдет, счет перейдет в статус
canceled
и его оплатить не получится.Отправка ссылки на счет пользователю
ЮKassa только формирует ссылку на счет, но не отправляет её пользователю. Способ отправки ссылки вы выбираете самостоятельно. Например, вы можете отправить её в мессенджере, по электронной почте, с помощью сервисов для автоматических рассылок или показать на странице своего сайта, если он у вас есть.
Работа в личном кабинете
Со счетами, выставленными по API, можно работать в личном кабинете. Вы найдете их в разделе Счета клиентам.
Так можно посмотреть статус счета и детали: корзину заказа, идентификатор счета и другие данные. Если пользователь уже подтвердил платеж по выставленному счету, то платеж вы тоже увидите в деталях, а также сможете перейти в раздел Платежи за более подробной информацией о нём.
При необходимости в личном кабинете вы можете привязывать счета к гибкому QR и использовать их, например, для приема платежей в офлайне.
Кроме того, если пользователь пока не подтвердил платеж, то в личном кабинете можно отменить счет — тогда оплатить его не получится.
Порядок интеграции
Чтобы начать выставлять счета:
- Изучите формат взаимодействия по API.
- Если планируете использовать автоплатежи, сообщите об этом вашему менеджеру ЮKassa.
- Если планируете принимать платежи в две стадии или автоплатежи, то проверьте, что в вашем магазине подключен как минимум один способ оплаты, который поддерживает нужную опцию. Подробнее о способах оплаты
- При необходимости подпишитесь на уведомления о платежах от ЮKassa в личном кабинете
- Реализуйте выставление счетов по инструкциям:
- Протестируйте интеграцию: выставьте счет на небольшую сумму и проверьте все необходимые вам сценарии.
Готово! Можно выставлять счета реальным пользователям.
Жизненный цикл счета
Счет может находиться в статусе
pending
, canceled
или succeeded
. Статус счета зависит от того, что происходит с платежом.Как связаны статус счета и статус платежа
Статус счета | Пояснение к статусу счета | Действия пользователя и статус платежа |
---|---|---|
pending | Статус pending означает, что счет создан и ожидает оплаты от пользователя или списания оплаты от вас (при проведении платежей в две стадии).Из статуса pending счет может перейти в succeeded, или canceled (если что-то пошло не так). |
|
succeeded | Счет в статусе succeeded означает, что пользователь подтвердил платеж по счету и оплата прошла успешно.Это финальный и неизменяемый статус для платежей в одну стадию. При проведении платежей в две стадии счет может перейти из статуса succeeded в статус canceled . |
|
canceled | Статус canceled означает, что счет отменен. Вы увидите этот статус, если:
Это финальный и неизменяемый статус. |
|
Чтобы узнать статус счета, периодически отправляйте запросы на получение информации о счете или дождитесь уведомления по платежу от ЮKassa.
See also