Finance OS / API

Payments

Платёж — основная операция канала. Он создаётся до оплаты и сразу несёт ссылки на форму оплаты и QR-код, которые нужно показать плательщику.

Создание платежа

Параметры

amount string required
Сумма в рублях, строкой с десятичной точкой. Должна быть больше нуля.
order_id string required
Ваш идентификатор операции. Уникальный на уровне бизнес-операции.
method enum optional
sbp или card. Если не указан — плательщик выбирает способ сам.
description string optional
Основание платежа, видно плательщику и попадает в чек. Допустимы буквы, цифры и пробел, до 250 символов; остальные символы будут вырезаны.
success_url string optional
Куда вернуть плательщика после успешной оплаты.
metadata object optional
Произвольные пары ключ-значение, возвращаются вместе с платежом.
receipt object optional
Состав фискального чека. См. Receipts.

Что возвращается

Поля платежа

id string optional
Идентификатор платежа в канале.
status enum optional
new, paid, processing, completed, cancelled, rejected, error.
amount string optional
Сумма платежа.
refund_amount string optional
Сколько уже возвращено по этому платежу.
form_urls object optional
Ссылки на форму оплаты: desktop, android, ios. Показывайте ту, что соответствует устройству плательщика.
qr_image string optional
Изображение QR-кода со ссылкой на оплату.
order_id string optional
Ваш идентификатор, переданный при создании.
paid_at string optional
Когда получена оплата.
expires_at string optional
До какого момента платёж можно оплатить.
receipts array optional
Сформированные чеки по платежу.
Отгрузка — по completed
paid означает только, что деньги от плательщика получены. Финальный успех — completed. Между ними платёж ещё может уйти в rejected.

Жизненный цикл

Переходы

new enum optional
Платёж создан, форма оплаты доступна, деньги не получены.
paid enum optional
Оплата от плательщика получена, цикл продолжается.
processing enum optional
Идёт обработка на стороне эквайера.
completed enum optional
Успешный финал. Только здесь операция считается завершённой.
cancelled enum optional
Неоплаченный платёж отменён или истёк.
rejected enum optional
Отклонён эквайером. Финальный статус, повторить нельзя — создайте новый платёж.
error enum optional
Ошибка в процессе. В ответе есть код отказа.

Чтение платежа

Состояние платежа получают по его идентификатору. Это же — способ разрешить неизвестный исход: если создание платежа завершилось таймаутом, проверьте операцию по своему order_id, прежде чем создавать новую.

Повторное создание — это второй платёж
Запросы создания не идемпотентны. Повтор после таймаута создаёт вторую операцию, а не возвращает первую.

Об изменениях статуса удобнее узнавать уведомлениями, а не опросом — см. Status Updates.