Настройка стилей (лёгкая кастомизация)
1. Общая информация
Для платёжной формы доступна персонализация стилей, позволяющая адаптировать внешний вид. Вы можете изменить цветовую схему, шрифты, отступы и другие визуальные элементы без изменения функциональности и структуры.
Ознакомиться с платёжной формой можно в разделе “Платёжная форма и виджет” — «Новая платёжная форма».
Все загружаемые стили проходят автоматическую проверку на соответствие требованиям безопасности. Некоторые CSS-свойства будут удалены системой для защиты пользовательских данных и поддержания функциональности платёжной формы.
2. Основные элементы формы для кастомизации
- Хедер формы:
payment-header__info— контейнер заголовка платёжной формыmerchant— блок данных магазинаmerchant-name— название магазинаamount— блок с суммой платежаamount__total-wrapper— обёртка для суммы и деталейamount__total— сумма платежаarrow-bottom— стрелка для раскрытия деталейamount__details— детали платежаamount__details-item— элементы деталей платежа (получатель, номер заказа, описание)payment-form__mnt-logo— логотип магазина
- Кнопки:
button-primary— основная кнопка оплатыbutton-secondary— второстепенные кнопкиpayment-form__navigation— навигация по форме
- Поля ввода:
input— базовые поля вводаinput-wrapper— обёртка для полей вводаselect— выпадающие спискиselect-wrapper— обёртка для выпадающих списковselect-arrow— стрелка выпадающего спискаoption— стили для опций в выпадающем списке
- Основной контент:
payment-form__content— основной контейнер контента формыpayment-form__title— заголовок блока оплатыpayment-form__comment— дополнительная информация блока оплатыpayment-form__error— блок ошибок (красный)payment-form__alert— блок предупреждений (оранжевый)payment-form__notice— уведомление о согласии с договоромpayment-form__message— сообщение о результате операцииpayment-form__description— описание
- Форма оплаты по карте:
card— контейнер полей ввода картыlogo-cardType— логотип платёжной системы введённой картыpayment-form__input card-num— поле номера картыpayment-form__input card-exp— поле срока действия картыpayment-form__input card-cvv— поле CVV кодаpayment-form__input card-holder— поле имени держателя карты
- Футер формы оплаты по карте:
card__footer— нижний блок карточной формыcard__footer-security— блок информации о безопасностиcard__footer-security-logo— логотип безопасностиcard__footer-security-text— текст о безопасностиcard__footer-cardsystems-logo— логотипы списка платёжных систем
- Дополнительные элементы формы оплаты по карте:
remove-card— контейнер кнопки удаления сохранённой картыremove-card__button— кнопка удаления карты
- Чекбоксы:
checkbox-wrapper— контейнер чекбоксаremember-card— контейнер чекбокса «Запомнить карту»remember-card__checkbox— чекбокс «Запомнить карту»remember-card__label— текстовая метка чекбокса
- Всплывающие подсказки:
hint-wrapper— контейнер подсказкиhint-icon— иконка подсказкиhint-text— текст всплывающей подсказки
- Модальные тултипы:
tooltip-info— информационный тултип в модальном окнеtooltip-info-header— заголовок подсказкиtooltip-info-text— текст подсказкиtooltip-close— кнопка закрытия тултипа
- Дополнительные методы оплаты:
payment-methods— методы оплатыpayment-methods__main-list— список методов оплатыbutton payment-method__item— кнопка выбора метода оплаты
- Футер:
footer— нижний блок формыfooter__main— меню нижнего блока формыfooter__link— ссылка на раздел «Обратная связь»footer__copy— копирайт и логотипfooter__lang— выбор языка
- Загрузка и анимации:
loader-circles— анимация загрузки (три точки)three-body— анимация загрузки (три шара)dot-windmill— анимация загрузки (вращающиеся точки)
- QR-коды для оплаты:
payment-form__qrcode— контейнер QR-кодаpayment-form__qrcode-block— блок с QR-кодомpayment-form__qrcode-img— изображение QR-кода
- Модальные окна:
modal-wrapper— фон модального окнаmodal-window— модальное окноmodal-title— заголовок модального окнаmodal-content— основной контент модального окнаmodal-action— кнопки действий в модальном окнеmodal-closeIcon— иконка закрытия модального окна
3. Как загрузить стили
3.1. Шаги загрузки
- Войдите в Личный кабинет moneta.ru:
- Перейдите в раздел «Мой счёт» → «Управление счетами»
- Выберите «Редактировать стиль Moneta.Assistant»
- Загрузите CSS-стили:
- В поле «CSS стили» вставьте ваш CSS-код
- Нажмите кнопку «Сохранить»
Подсказка: Добавление стилей в виде javascript недоступно.
3.2. Ограничения
- Недоступны
@importи внешние ресурсы (в том числе шрифты) - Отсутствует возможность изменения структуры элементов формы
- Доступно использование только следующих шрифтов:
GolosTextWebRegular— обычный текстGolosTextWebMedium— среднее выделение текстаGolosTextWebDemiBold— полужирный текст для заголовковGolosTextWebBold— жирный текст для важных элементов
4. HTML стартовой страницы платёжной формы
Ниже представлена HTML-структура стартовой страницы платёжной формы. Изучение этой структуры поможет вам лучше понять взаимосвязь элементов и правильно определить классы для кастомизации. Данный HTML-код содержит основные контейнеры и элементы интерфейса. При написании CSS-стилей вы можете использовать классы из этой структуры для точного позиционирования и стилизации нужных элементов.
Карточная форма работает через iframe, поэтому html код разделён на два блока.
Подсказка: Для интерактивной работы с html-кодом — доступен просмотр платёжной формы в разделе “Платёжная форма и виджет” — «Новая платёжная форма» с помощью функционала браузера «Просмотреть код».
HTML-код платёжной формы
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
<title>Assistant</title>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta http-equiv="cache-control" content="no-cache">
<meta name="color-scheme" content="light">
<meta name="supported-color-schemes" content="light">
<meta name="theme-color" content="#ffffff">
<link rel="icon" href="static/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="static/img/favicon.svg" sizes="any" type="image/svg+xml">
<link rel="stylesheet" href="static/css/assistant.min.css">
<script src="static/js/assistant.js"></script>
</head>
<body data-test-id="card" id="assistant" style="position: static;">
<div class="modal-wrapper hidden" id="modalWrapper">
<div class="modal-window">
<button type="button" class="tooltip-close">
<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
<path d="M8.267 8.267C7.911 8.62277 7.911 9.19993 8.267 9.5557L14.7114 15.9999L8.267 22.4441C7.911 22.8001 7.911 23.3772 8.267 23.733C8.62299 24.089 9.20015 24.089 9.5557 23.733L16.0001 17.2886L22.4445 23.733C22.8001 24.089 23.3772 24.089 23.7332 23.733C24.0892 23.3772 24.0892 22.8001 23.7332 22.4441L17.2888 15.9999L23.7332 9.5557C24.0892 9.19993 24.0892 8.62277 23.7332 8.267C23.3772 7.911 22.8001 7.911 22.4445 8.267L16.0001 14.7112L9.5557 8.267C9.20015 7.911 8.62299 7.911 8.267 8.267Z"></path>
</svg>
</button>
<h4 class="tooltip-info-header">Запомним данные карты</h4>
<div class="tooltip-info-text">
<p>При следующей оплате вводить ничего не нужно, деньги спишутся автоматически.</p>
<p>Данные будем хранить в зашифрованном виде. Это надёжно и безопасно.</p>
<p>Отвязать карту и отменить автоматические списания можно у продавца или в службе поддержки PayAnyWay.</p>
</div>
</div>
</div>
<div class="payment-form">
<div id="header" class="payment-form__header payment-header"
data-state="CREATED" data-redirecttarget="_parent">
<div class="payment-header__info">
<div class="merchant">
<div class="merchant-name">Название счёта</div>
</div>
<div class="amount">
<div class="amount__total-wrapper">
<div class="amount__total" id="amountDetailsSwitcher" tabindex="1">
15,00 ₽
<div>
<div class="arrow-bottom">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.35199 8.34427C4.77864 7.92697 5.44629 7.88904 5.91676 8.23046L6.05155 8.34427L12 14.1623L17.9485 8.34427C18.3751 7.92697 19.0428 7.88904 19.5132 8.23046L19.648 8.34427C20.0747 8.76157 20.1135 9.41458 19.7644 9.87473L19.648 10.0066L12.8498 16.6557C12.4231 17.073 11.7555 17.111 11.285 16.7695L11.1502 16.6557L4.35199 10.0066C3.88267 9.54753 3.88267 8.8033 4.35199 8.34427Z" fill="#111111"></path>
</svg>
</div>
</div>
</div>
</div>
<div class="amount__details hidden" id="amountDetailsBlock" style="height: 0px;">
<div class="amount__details-items">
<div class="amount__details-item">
<div class="amount__details-item-name">Получатель</div>
<div class="amount__details-item-value">Название получателя</div>
</div>
<div class="amount__details-item">
<div class="amount__details-item-name">Номер заказа</div>
<div class="amount__details-item-value">base-241125-1734</div>
</div>
</div>
</div>
</div>
</div>
<div class="payment-form__mnt-logo"></div>
</div>
<iframe src="card.html" class="paymentForm" allowfullscreen="" id="cardForm" autofocus=""></iframe>
<div class="iframe_loader" id="ifrLoaderWrapper" style="height: 468px; margin-top: -468px;">
<div class="dot-windmill" id="iFrameLoader"></div>
</div>
<div class="payment-methods">
<div class="payment-methods__main-list" id="pmMainList">
<a class="button payment-method__item" href="/sbp" id="pm_sbp">
<div class="payment-method__item-info">
<div class="payment-method__item-logo payment-method__item-logo--sbp-ru"></div>
</div>
</a>
<a class="button payment-method__item" href="/sber.pay" id="pm_sberpay">
<div class="payment-method__item-info">
<div class="payment-method__item-logo payment-method__item-logo--sberpay"></div>
</div>
</a>
<a class="button payment-method__item" href="/alfa.pay" id="pm_alfapay">
<div class="payment-method__item-info">
<div class="payment-method__item-logo payment-method__item-logo--alfapay"></div>
</div>
</a>
<a class="button payment-method__item" href="/t.pay" id="pm_tpay">
<div class="payment-method__item-info">
<div class="payment-method__item-logo payment-method__item-logo--tpay"></div>
</div>
</a>
</div>
</div>
</div>
<footer id="footer" class="footer">
<div class="footer__main">
<div class="footer__link">
<a href="https://www.payanyway.ru/backoffice/auth/support?lang=ru" target="_blank">Обратная связь</a>
</div>
<div class="footer__copy">
Платёжный сервис
<a href="https://www.payanyway.ru" target="_blank">PayAnyWay</a>
</div>
</div>
<div class="footer__lang">
<a href="?moneta.locale=en" id="langLinkD">English</a>
</div>
</footer>
</body>
</html>HTML-код формы оплаты по карте
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Card Backend</title>
<link rel="stylesheet" href="static/css/cardform.min.css">
<script type="text/javascript" src="static/js/cardform.js"></script>
<script type="text/javascript" src="static/js/threeDSInfo.min.js"></script>
</head>
<body>
<form class="payment-form__content" method="post" action="?">
<div class="payment-form__title">
<div class="payment-form__title-text">По карте</div>
<div class="payment-form__title-logos">
<div class="logo-cardType default" id="cardTypeLogo"></div>
</div>
</div>
<div class="card">
<div class="payment-form__input-wrapper">
<input placeholder="Номер карты" value="" aria-label="cardNumber" autocomplete="cc-number"
class="payment-form__input card-num" id="cardNumber" inputmode="numeric" maxlength="23" name="cardNumber">
</div>
<input placeholder="ММ/ГГ" value="" aria-label="cardExpiration" autocomplete="cc-exp"
class="payment-form__input card-exp" id="cardExpiration" inputmode="numeric" maxlength="7" name="cardExpiration">
<input placeholder="Код" aria-label="cardCVV2" autocomplete="cc-csc" class="payment-form__input card-cvv"
id="cardCVV2" inputmode="numeric" maxlength="3" name="cardCVV2" type="password">
<input placeholder="Владелец карты" value="" aria-label="cardHolder" autocomplete="cc-name"
class="payment-form__input card-holder" id="cardHolder" inputmode="text" name="cardHolder" type="text">
<div class="error-comment">Напишите имя как на карте, например: IVAN IVANOV</div>
<div class="remember-card">
<label class="remember-card__label">
<input id="rememberCard" name="rememberCard" type="checkbox">
<span class="remember-card__checkbox">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12">
<path id="checkbox-icon" fill-rule="evenodd" clip-rule="evenodd"
d="m4.2 8.3l6-6.3 0.8 0.8-6.8 7.2-3.2-3.3 0.8-0.9z" fill="currentColor"></path>
</svg>
</span>
<span>Запомнить карту</span>
</label>
</div>
</div>
<button class="button-primary" type="submit" name="_do_pay">
<span class="button-text">Оплатить</span>
<span id="loader-container" class="loader-circles__wrapper">
<span class="loader-circles loader-circles--center">
<span class="loader-circles__circle loader-circles__circle--left"></span>
<span class="loader-circles__circle loader-circles__circle--middle"></span>
<span class="loader-circles__circle loader-circles__circle--right"></span>
</span>
</span>
</button>
<div class="payment-form__notice">
При оплате вы соглашаетесь с <a href="https://www.moneta.ru/info/public/users/nko/cardsserviceoffer.pdf" class="link--gray" target="_blank">Договором</a>
</div>
<div class="card__footer">
<div class="card__footer-security">
<div class="card__footer-security-logo"></div>
<div class="card__footer-security-text">Безопасная оплата</div>
</div>
<div class="card__footer-cardsystems">
<div class="card__footer-cardsystems-logo"></div>
</div>
</div>
</form>
</body>
</html>