For the complete documentation index, see llms.txt. This page is also available as Markdown.

Двухэтапные платежи (преавторизация)

Преавторизация — это двухэтапный платёж: сначала сумма на карте клиента блокируется, а затем списывается отдельно по подтверждению продавца. Такой подход используется, когда нужно гарантировать наличие средств, но списать их позже — например, после подтверждения заказа или услуги.

Как это работает:

  1. Блокировка средств — сумма замораживается на карте клиента, но не списывается.

  2. Подтверждение или отмена — продавец может либо подтвердить списание, либо отменить платёж.

  3. Автоматическая разблокировка — если платёж не подтверждён в течение установленного срока, средства автоматически разблокируются.


Инициализация платежа с преавторизацией

Для создания платежа с преавторизацией необходимо передать дополнительный параметр preauth. Полный набор параметров описан на странице создания платежа.

GET https://unitpay.ru/api?method=initPayment

Path Parameters

Name
Type
Description

preauth

integer

Используйте этот флаг для создания платежа с преавторизацией. По умолчанию флаг выключен и значение равно 0, для включения необходимо передать 1.

preauthExpireLogic

integer

Поле для логики блокировки платежей с преавторизацией: 1 - при отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет подтвержден; 0 - при отсутствии запроса на подтверждение или отмену, платеж по истечении срока блокировки на стороне банка-эквайера (~114 часов после создания платежа) будет отменен. Если параметр не будет использован, платеж будет отменен по истечении срока.

{
    "result": {
        "type": "redirect",
        "paymentId": 1234567890,
        "message": "Счет успешно выставлен, ожидается оплата",
        "receiptUrl": "https://unitpay.ru/pay/receipt/1234567890-454ac183ac",
        "statusUrl": "https://unitpay.ru/pay/receipt/1234567890-454ac183ac",
        "redirectUrl": "https://unitpay.ru/pay/redirect/1234567890-454ac183ac"
    }
}

Подтверждение платежа с преавторизацией

Для подтверждения платежа с преавторизацией (списания заблокированных на карте плательщика средств) выполните этот запрос:

Обязательные параметры

Name
Type
Description

paymentId

integer

ID платежа в системе UnitPay

secretKey

string

Секретный ключ проекта, доступен в настройках проекта

Отмена платежа с преавторизацией

Для отмены платежа с преавторизацией (разблокировки средств на карте плательщика) выполните следующий запрос:

Path Parameters

Name
Type
Description

paymentId

integer

ID платежа в системе UnitPay

secretKey

string

Секретный ключ проекта, доступен в настройках проекта

Двухстадийные платежи можно использовать при создании подписок.

Особенности работы с СБП

Метод СБП не поддерживает холдирование средств на уровне протокола НСПК. При создании платежа с preauth=1 и выборе пользователем оплаты через СБП платёж автоматически понижается до одностадийного. Это поведение не является ошибкой — оно позволяет не ограничивать пользователей в выборе метода оплаты на форме.

Отличия от стандартного двухэтапного платежа:

Карта (preauth=1)
СБП (preauth=1)

Средства после оплаты

Заблокированы

Списаны сразу

Финальный статус

Холдирован

Оплачен

confirmPayment

Списывает средства

Возвращает ошибку

cancelPayment

Снимает блокировку

Возвращает средства (refund). Доступен сразу

Ответы API

При инициализации платежа с preauth=1 и paymentType=sbp в поле message возвращается предупреждение:

При вызове confirmPayment для СБП-платежа:

При вызове cancelPayment для СБП-платежа поведение и все возможные ответы идентичны методу refundPayment — см. документацию по возвратам.

Последнее обновление

Это было полезно?