Обязательные этапы
Шаг 1 — Формирование заказа
На данном этапе пользователь выбирает товары или услуги, которые его интересуют, и создает заказ.
Шаг 2 — Создание счета
После того как пользователь подтвердил список выбранных товаров или услуг, необходимо направить запрос на создание счета. В ответ вы получите идентификатор созданного счета — invoice_id
.
Для создания счета используйте параметры авторизации.
Шаг 3 — Запуск оплаты
После регистрации счета необходимо запустить процесс оплаты. Здесь вам понадобится идентификатор invoice_id
, который вы получили после создания счета.
После передачи счета платежная библиотека отображает пользователю диалог об оплате.
Шаг 4 – Проведение оплаты
После нажатия кнопки оплаты отправляется запрос в SmartPay.
После оплаты вы получите событие PAY_DIALOG_FINISHED
. При получении этого события необходимо запросить статус оплаты.
Шаг 5 — Получение статуса
После оплаты счета необходимо узнать, успешно ли прошел платеж. Для получения статуса платежа используйте параметры авторизации.
Вы можете запросить статус счета еще до получения события о завершении оплаты. Например, в момент запуска платежа. Главное на этом шаге убедиться, что заказ перешел в финальный статус.
После получения статуса платежа можно отобразить результат пользователю и совершить необходимые действия в смартапе. Например, если пользователь покупал игровую валюту, то после успешной оплаты вы можете зачислить эту валюту на его счет.
Шаг 6 — Подтверждение платежа
Используйте запрос на подтверждение платежа только для модели двухстадийного платежа. Для одностадийного платежа завершение оплаты происходит при получении события PAY_DIALOG_FINISHED
и финального статуса счета.
При использовании двухстадийного платежа заказ пользователя перейдет в статус paid сразу после успешной оплаты. Это значит, что деньги на карте пользователя заблокированы, но расчет еще не произведен.
После предоставления пользователю товара или услуги вы сможете отправить запрос на подтверждение списания в течение 5 дней. Списать можно не только полную сумму, но и меньшую, например, если какого-то товара не оказалось в наличии.
В этом случае смартап отправляет запрос на подтверждение двухстадийного платежа на частичную сумму. Неизрасходованный остаток средств разблокируется и станет доступен пользователю.
Также можно списать большую сумму, например, если какой-то товар заменяется на более дорогой. Для этого необходимо разбить заказ на 2 корзины: основную (на сумму первоначального холда или оплаты) и дополнительную. После этого нужно сформировать дополнительный счет в SmartPay на сумму второй корзины и отправить запрос в SmartPay на оплату дополнительного счета.
Если по каким-то причинам пользователь не получил свой заказ, то вы сможете отменить временную блокировку, и средства в тот же день станут доступны пользователю (в отличие от процедуры возврата, где деньги возвращаются пользователю в течение нескольких дней).
Дополнительные этапы
Отмена счета
Отмена — это снятие временной блокировки со средств пользователя. При использовании этой операции эмитент карты сразу получает запрос на разблокировку суммы.
Для отправки запроса на отмену платежа используйте параметры авторизации.
Запрос на отмену платежа отправляется, если:
- платеж одностадийный и запрос на отмену отправлен в день оплаты (с 00:00 по 23:59 мск);
- платеж двухстадийный и счет находится в статусе paid.
Возврат платежа
Возврат — это операция, при которой ранее удержанные средства возвращаются на счет пользователя. Возврат происходит после списания суммы с карты пользователя. Возврат может быть как полный, так и частичный. В случае частичного возврата его можно выполнять несколько раз.
Сроки возврата средств зависят от банка-эмитента и составляют от 3 до 30 дней.
Запрос на возврат отправляется, если платеж находится в статусе confirmed.
Подробнее о согласовании возврата читайте в разделе Правила оформления возврата.