ЮMoney как кошелёк — это простой способ принимать оплату на личный или бизнес-счёт без полноценного договора эквайринга. Для 1С-Битрикс он подключается через форму Quickpay и HTTP-уведомления, но важно не путать кошелёк с ЮKassa: возможности, лимиты и фискализация здесь заметно скромнее.
Кошелёк ЮMoney и ЮKassa — это разные вещи
Частая путаница на старте: под «ЮMoney» понимают то кошелёк, то платёжный сервис. Это два разных продукта, и подключаются они по-разному.
| Критерий | Кошелёк ЮMoney | ЮKassa |
|---|---|---|
| Кому подходит | Физлица, самозанятые, малый оборот | ИП и юрлица, полноценный магазин |
| Приём средств | На счёт кошелька | На расчётный счёт по договору |
| Способы оплаты | Карты, кошелёк ЮMoney | Карты, СБП, кошельки, рассрочка и др. |
| Фискализация 54-ФЗ | Ограниченно/не всегда | Полноценная |
| Интеграция | Форма Quickpay + уведомления | Модуль/обработчик и API |
Что нужно для подключения
Для приёма оплаты на кошелёк потребуется сам кошелёк ЮMoney и настроенное приложение/секрет для проверки уведомлений.
- Номер кошелька ЮMoney (получатель платежа);
- Секрет для HTTP-уведомлений — задаётся в настройках уведомлений кошелька;
- Указанный URL обработчика на вашем сайте, куда ЮMoney шлёт уведомления;
- При использовании API — регистрация приложения и получение
client_idи токена.
Форма оплаты Quickpay
Базовый способ приёма на кошелёк — форма Quickpay. Это обычная HTML-форма, которая отправляет покупателя на страницу оплаты ЮMoney с нужными параметрами.
Отправка на https://yoomoney.ru/quickpay/confirm.xml с ключевыми полями:
receiver— номер вашего кошелька;quickpay-form=shop— режим магазина;sum— сумма заказа;label— идентификатор заказа Битрикса (критично для сверки);paymentType— способ (картаACили кошелёкPC);successURL— куда вернуть после оплаты.
Поле label должно содержать номер заказа — именно по нему обработчик уведомления найдёт заказ в Битриксе и проставит оплату.
Обработчик платёжной системы в Битриксе
Чтобы Quickpay-форма подставлялась автоматически на шаге оплаты заказа, в Битриксе создаётся платёжный обработчик. Он живёт в /bitrix/php_interface/include/sale_payment/yoomoney/ и состоит из описания и шаблона.
.description.php— поля настроек: номер кошелька, секрет уведомлений, режим (тест/бой);payment/template.php— генерация Quickpay-формы с суммой заказа,labelи получателем;- Регистрация обработчика в
Магазин → Платёжные системыи привязка к нужным способам доставки/юрлицам.
Сумму и label формирует сервер на основе заказа — их нельзя брать из скрытых полей, к которым имеет доступ покупатель, без последующей сверки в уведомлении.
HTTP-уведомления и проверка хэша
Фактический статус оплаты в Битриксе ставит не возврат покупателя, а HTTP-уведомление ЮMoney. Оно приходит POST-запросом на ваш обработчик и содержит поля платежа плюс подпись.
Подлинность проверяется по SHA-1: строка собирается из полей уведомления и вашего секрета, например sha1(notification_type&operation_id&amount¤cy&datetime&sender&codepro&secret&label), и результат сравнивается с полем sha1_hash.
- Принять POST-уведомление от ЮMoney;
- Собрать строку и посчитать
sha1_hashс вашим секретом; - Сверить хэш, а также сумму и
label(номер заказа) с заказом в Битриксе; - Проставить оплату (
Payment::setPaid('Y')) и вернуть HTTP 200.
withdraw_amount (сколько списано у плательщика) и amount (сколько зачислено вам). Сверять сумму заказа корректнее с суммой оплаты, а не с зачислением за вычетом комиссии.Ограничения кошелька и фискализация
Прежде чем строить магазин на кошельке, важно понимать его пределы. Кошелёк — это не полноценный эквайринг.
- Лимиты на баланс и операции зависят от статуса идентификации кошелька;
- Фискализация по 54-ФЗ через кошелёк ограничена — если вы обязаны выбивать чеки, кошелька может быть недостаточно;
- Возвраты и работа с юрлицами устроены проще, чем в ЮKassa;
- Для растущего оборота обычно переходят на ЮKassa или полноценный эквайринг.
Тестирование и типовые ошибки
Связку проверяют на реальной небольшой сумме и на тестовом уведомлении. Мы прогоняем путь заказ → Quickpay → уведомление → статус.
- Заказ не оплачивается — обработчик уведомлений недоступен извне или не возвращает HTTP 200;
- Хэш не сходится — неверный порядок полей в строке или не тот секрет; сверьтесь с актуальной документацией по составу строки;
- Заказ не находится — в
labelне передан номер заказа; - Двойная оплата — нет проверки уникальности
operation_id.
Итог
Приём на кошелёк ЮMoney в 1С-Битрикс — это форма Quickpay с номером кошелька и label-заказом плюс обработчик HTTP-уведомлений с обязательной проверкой sha1_hash. Схема простая и быстрая, но кошелёк ограничен по лимитам и фискализации, поэтому подходит самозанятым, донатам и небольшим продажам, а не полноценному магазину с 54-ФЗ.
Мы подключаем ЮMoney и другие способы оплаты к сайтам на Битриксе: настраиваем Quickpay, проверку подписи уведомлений и корректную смену статусов, а при росте оборота помогаем перейти на ЮKassa с полноценной фискализацией. Если нужно быстро завести приём оплаты и не открыть при этом дыру в безопасности — поможем сделать это правильно.
Частые вопросы
Чем кошелёк ЮMoney отличается от ЮKassa?
Кошелёк принимает средства на счёт кошелька и подходит физлицам и самозанятым, а ЮKassa — это полноценный платёжный сервис для ИП и юрлиц с зачислением на расчётный счёт и полной фискализацией. Это разные продукты.
Что нужно для приёма оплаты на кошелёк?
Номер кошелька ЮMoney, секрет для HTTP-уведомлений и URL обработчика на сайте. Для API-сценариев дополнительно регистрируется приложение с client_id и токеном.
Как покупатель попадает на оплату?
Через форму Quickpay: она отправляет пользователя на страницу оплаты ЮMoney с суммой, номером кошелька и полем label, в котором передаётся номер заказа Битрикса.
Как проверяется подлинность оплаты?
По HTTP-уведомлению с полем sha1_hash: обработчик собирает строку из полей уведомления и секрета, считает SHA-1 и сравнивает с присланным хэшем, затем сверяет сумму и label.
Зачем нужно поле label?
В label передаётся номер заказа, по которому обработчик уведомления находит нужный заказ в Битриксе и проставляет оплату. Без него привязать платёж к заказу нельзя.
Можно ли выбивать чеки по 54-ФЗ через кошелёк?
Возможности фискализации через кошелёк ограничены. Если бизнес обязан применять онлайн-кассу, кошелька как единственного способа обычно недостаточно, и лучше использовать ЮKassa.
Есть ли лимиты у кошелька?
Да, лимиты на баланс и операции зависят от статуса идентификации кошелька. Для растущего оборота обычно переходят на ЮKassa или банковский эквайринг.
Как избежать двойного проставления оплаты?
Нужно сохранять operation_id из уведомления и не обрабатывать повторно то же событие. Иначе возможны дубли оплат и ошибки в учёте заказов.
Поможем с настройкой и поддержкой Интеграции и связки систем
Поможем с настройкой, доработкой и поддержкой Интеграции и связки систем.