ym88659208ym87991671
Персонализация кнопки SberPay и One-Click оплата | Документация для разработчиков

Персонализация кнопки SberPay и One-Click оплата

Обновлено 17 сентября 2026

Сценарий One-Click позволяет произвести оплату по нажатии кнопки SberPay без отображения UI виджета WebSDK SberPay и дополнительного подтверждения операции со стороны пользователя. Сценарий может быть выполнен только если была отображена персонализированная кнопка SberPay. Оплата будет выполнена картой, отображенной на кнопке.

Персонализация кнопки SberPay

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

При вызове соответствующей функции библиотеки подгружаются скрипты для выполнения кросс-доменных запросов. Все запросы выполняются с домена мерчанта. Если в браузере присутствует авторизационный cookie-файл будет произведена попытка авторизация. При успешной авторизации и получении данных пользователю будет отрисована персонализированная кнопка SberPay. При возникновении ошибок на любом из этапов кнопка отображается в стандартном не персонализированном виде.

Внешний вид персонализированной кнопки SberPay:

Персонализированная кнопка SberPay

Для начала использования персонализированной кнопки SberPay требуется интегрировать библиотеку версии не ниже 0.7.4 и предоставить через службу поддержки доменное имя с которого будут выполняться кросс-доменные (осуществляется службой технической поддержки).

One-Click оплата

По нажатии на персонализированную кнопку SberPay, если функционал доступен мерчанту, будет произведена попытка оплаты отображенной на кнопке картой. В случае успеха сценарий выполняется без отображения пользователю UI виджета SberPay после чего автоматически будет выполнен процесс завершения сценария. Если One-Click оплата не может быть произведена в следствии технических или сценарных ограничений автоматически будет произведен переход к оплате стандартным режимом WebSDK SberPay.

Ограничения сценария One-Click

  • One-Click оплата запрещена для домена мерчанта;
  • Статус заказа не позволяет произвести оплату;
  • Отсутствует или не валидный refreshToken;
  • Для мерчанта запрещена авторизация по refreshToken;
  • Разрешена оплата бонусами Спасибо и доступны бонусы для списания в заказе;
  • Разрешена оплата методом BNPL;
  • Недостаточный баланс на карте, которая отображена на персонализированной кнопке SberPay;
  • Требуется валидация операции по вердикту фродмониторинга;
  • Техническая ошибка на любом из этапов сценария.

Завершение сценария

После завершения оплаты покупки происходит отображение финишного экрана внутри WebSDK. Для настройки отображения финишного экрана партнер на вход в библиотеку может передать признак isFinishPage и параметр finishPageTimeOut.

Если признак isFinishPage=false финишный экран внутри WebSDK не отображается, сразу после совершения оплаты осуществляется переход по sberpay.backurl. Если признак принимает значение true или не передан финишный экран отображается.

Параметр finishPageTimeOut задает время (в секундах), которое будет отображаться финишный экран внутри WebSDK до перехода по sberpay.backurl. Если параметр не передан и признак isFinishPage=false финишный экран отображается в течении 5 секунд. Если передан finishPageTimeOut=0 финишный экран внутри WebSDK не отображается даже если передан признак isFinishPage=true.

После отображения финального статуса внутри WebSDK происходит возврат пользователя по backurl, указанному в запросе на открытие виджета (widget.open(params)). В конце ссылки указывается статус операции путем передачи дополнительного параметра &state={BankResultState}:

  • success – оплата успешно прошла, требуется отправить на успешный экран
  • return – в сценарии произошла ошибка, требуется отправить на неуспешный экран.
  • cancel – клиент нажал на кнопку «Отменить». Актуально только для мобильной версии. В десктопной версии виджет закрывается, промис разрешается со значением 'cancel'.

Также требуется передавать аналогичное значение sberpay.backurl в запросе на регистрацию заказа.

Заметили ошибку?
Выделите текст и нажмите
Ctrl
+
Enter
, чтобы сообщить нам об ошибке