Решение RollyPay

Приём платежей по ссылке

Ссылка на оплату под конкретный счёт: сумма зафиксирована, назначение подписано, срок ограничен. Отправляете в чат, клиент платит СБП или картой, сайт для этого не нужен.

Обсудить мой сценарий

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

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

Что видит клиент, когда получает ссылку

Он открывает страницу, где написано, кому и за что он платит и сколько. Дальше — выбор способа: СБП открывает приложение банка, карта заполняется прямо в форме. После оплаты человек попадает на ваш адрес из success_redirect_url, если вы его задали, либо видит подтверждение на самой странице.

Разница с переводом «по номеру телефона» тут не косметическая. У платежа есть номер заказа, статус и дата, а у вас — доказательство того, что оплатили именно этот счёт. Клиенту не нужно писать «скинул, посмотрите», а вам не нужно сверять поступления с перепиской вручную.

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

Кому ссылки закрывают задачу лучше сайта

  • Фрилансеру и мастеру. Дизайнер согласовал смету на 45 000 ₽ и присылает ссылку на предоплату прямо в чат — вёрстка страницы оплаты не нужна.
  • Консультанту и репетитору. Час занятия стоит фиксированную сумму, ссылка отправляется вместе со слотом в календаре.
  • Небольшой студии. Клиенты приходят из рекомендаций, каталога нет, а счета разные каждый раз.
  • Продавцу в соцсетях. Товар обсуждается в директе, и лишний переход на сайт только теряет покупателя.
  • Проекту на старте. Проверить, платят ли вообще, дешевле ссылкой, чем разработкой корзины.

Для магазина с десятками позиций и самостоятельным выбором покупателя логичнее оплата на сайте, а для продаж внутри мессенджера — бот с автоматической выдачей.

Три способа выпускать ссылки

СпособКомфортный объёмЧто нужно
Вручную в личном кабинетеДо 20–30 счетов в месяцНичего, кроме доступа в кабинет
Из таблицы или CRM через сценарий автоматизации50–200 счетовОдна связка no-code, полдня настройки
Запросом к API из своего кодаСколько угодноРазработчик на несколько часов

Через API ссылка получается тем же запросом, что и любой платёж: POST /api/v1/payments с заголовками X-API-Key и X-Nonce — уникальным UUID на запрос со сроком жизни 10 минут. В ответе приходит pay_url вида https://pay.rollypay.io/pay/<token>, его и отправляют клиенту.

{
  "amount": "45000.00",
  "payment_currency": "RUB",
  "order_id": "inv-2026-118",
  "description": "Предоплата за макет лендинга, 50%",
  "success_redirect_url": "https://example.ru/spasibo"
}

Менять способ по дороге не страшно. Ручной выпуск и API создают один и тот же платёж, поэтому счета, выставленные в кабинете полгода назад, останутся в общей истории рядом с теми, что генерирует код. Единственное условие — с самого начала подставлять в order_id номер из вашего учёта, а не случайную строку.

Сумма, назначение и срок: что задать в ссылке

Назначение пишите словами клиента, а не внутренним кодом. «Предоплата за макет лендинга, 50%» снимает вопросы в бухгалтерии заказчика, а «услуга №4» — порождает.

Срок действия ограничивайте осознанно. Короткий срок дисциплинирует и защищает от ситуации, когда клиент оплатил счёт двухмесячной давности по старой цене. Ориентир для предоплаты — от получаса до суток; для счёта юрлицу — до трёх рабочих дней. В ответе на создание платежа приходит поле expires_at, покажите эту дату клиенту в сообщении.

Не отправляйте одну ссылку двум клиентам. Оплатит один, а разбираться придётся с обоими: у платежа единственный order_id.

Как понимать, кто оплатил, когда счетов десятки

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

Если у вас есть сервер, подключите колбэк. На callback_url придут события payment.paid, payment.canceled и payment.expired, а в заголовке X-Signature — HMAC-SHA256 hex от строки X-Timestamp + "." + сырое тело запроса на ключе signing_secret. Подпись проверяют до разбора JSON и сравнивают constant-time, иначе проверка не защищает ни от чего.

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

Схема оплаты по ссылке: счёт, сообщение клиенту, страница оплаты и статус в учёте
Схема. Ссылка выпускается из вашего счёта, а его статус меняется после подтверждения платежа.

Когда ссылок недостаточно

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

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

Деньги, налоги и документы клиенту

Платёжный сервис даёт техническое подключение и сообщает результат платежа. Статус продавца, налог, чек и решение о возврате — ваша ответственность. Самозанятый формирует чек в приложении «Мой налог» после поступления денег и следит за годовым лимитом 2,4 млн ₽; ИП и компании работают со своей кассой.

Категорию проекта, доступные способы оплаты и условия подтверждает модерация — подготовьте описание услуги, ссылку на портфолио или профиль и правила возврата. С понятным комплектом документов проверка проходит быстрее.

  1. Опишите, что продаёте. Одна строка, которую поймёт клиент и проверяющий: услуга, объём, срок.
  2. Заведите нумерацию счетов. Хоть в таблице: номер, клиент, сумма, дата, статус. Этот номер станет order_id.
  3. Выпустите ссылку на реальную сумму и оплатите её сами с телефона — так вы увидите путь клиента целиком.
  4. Проверьте страницу после оплаты. Клиент должен понять, что всё прошло, без вашего сообщения в чате.
  5. Договоритесь о правиле возврата и напишите его там же, где отправляете ссылку.

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

Частые вопросы

Реально ли принимать оплату, если у меня нет сайта?

Да, платёжная ссылка и есть готовая страница оплаты под один счёт. Вы отправляете её в мессенджер, почту или директ, клиент платит СБП или картой. Собственный домен, вёрстка и хостинг для этого не нужны. Работает это не для всех категорий: по части из них модерация при подключении попросит показать площадку — подойдёт сайт, витрина, Telegram-бот или Discord-бот.

Сколько времени живёт ссылка и что будет, если клиент опоздает?

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

Как понять, что оплатил именно этот клиент?

Указывайте в поле order_id свой номер счёта — тот же, что в договоре и в таблице учёта. Он возвращается вместе со статусом платежа, поэтому сверка идёт по одному полю, а не по совпадению суммы и времени. Дополнительные данные можно положить в metadata, они вернутся к вам без изменений.

Можно ли выпускать ссылки автоматически из CRM или своего кода?

Да, ссылка создаётся тем же запросом POST /api/v1/payments, а в ответе приходит pay_url. Для сценариев из таблицы или CRM хватает одной no-code связки и примерно половины дня настройки. Ручной выпуск обычно перестаёт быть удобным где-то на пятидесяти счетах в месяц.

Нужен ли чек, если я работаю без сайта и принимаю оплату по ссылке?

Фискальная обязанность зависит от вашего статуса, а не от способа приёма денег. Самозанятый формирует чек в приложении «Мой налог» и следит за годовым лимитом 2,4 млн ₽, ИП и компании применяют свою кассу по 54-ФЗ. Платёжный сервис отвечает за техническую часть приёма и уведомление о результате.