Как принимать оплату криптовалютой за подписку

Создайте тариф и подписчика в Cryptanio, передайте клиенту его страницу оплаты и проверяйте оплаченный срок после каждого самостоятельного перевода. Настройте напоминания, льготный период и правила предоплаты.

Обновлено:

В Cryptanio можно вести криптоподписки: создать тариф, закрепить платёжные реквизиты за клиентом и учитывать оплаченный срок. Каждое продление клиент оплачивает самостоятельно из своего кошелька. Сервис не получает разрешение забирать деньги с кошелька и не выполняет автоматические списания.

Ниже — настройка подписки через кабинет. Например, так можно учитывать оплату доступа к собственному веб-сервису. Сам доступ вы предоставляете по своим правилам: создание тарифа в Cryptanio не создаёт учётную запись клиента в вашем продукте.

Что подготовить

Выберите проект с подключённой услугой Subscriptions («Подписки») и правом управлять ею. Подготовьте свои реквизиты получения в поддерживаемой сети и убедитесь, что они доступны именно этой услуге. Запись в адресной книге или подключение того же кошелька к мониторингу ещё не означает готовность принимать оплаты подписчиков.

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

Шаг 1. Создайте тариф

Откройте Subscriptions и вкладку «Тарифы», затем нажмите «Новый тариф». Укажите название, сеть, актив и цену за один период. Цена задаётся в выбранной криптовалюте. Если указали USDT, клиент должен отправлять именно поддерживаемый USDT в этой сети, а не другую монету похожей стоимости.

Укажите расчётный период в днях. Например, тариф на 30 дней означает этот интервал, а не оплату любого календарного месяца. Отдельно задайте льготный период и время напоминания до окончания оплаченного срока. Льготный период помогает определить дальнейший доступ, но не превращает пропущенную оплату в полученную.

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

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

Шаг 2. Добавьте подписчика

Перейдите на вкладку «Подписчики» и нажмите «Добавить подписчика». Выберите тариф и введите ID клиента — например, его внутренний номер в вашем сервисе. Используйте устойчивое обозначение, по которому сможете связать подписку с нужным человеком. Не создавайте нового подписчика при каждом продлении.

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

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

Шаг 3. Передайте страницу оплаты

Нажмите «Скопировать ссылку на оплату» в карточке созданного подписчика или в его меню. Отправьте её нужному клиенту и объясните цену, длительность периода и необходимость самостоятельного перевода при следующем продлении.

На странице клиент проверяет сумму, актив, сеть и реквизиты. Если показаны destination tag, memo или комментарий, их нужно передать без изменений. Для Solana Pay используйте предусмотренный платёжный переход: reference нельзя заменять произвольным memo. Подробнее о выборе актива — в статье «Чем отличаются сеть и токен».

Шаг 4. Проверьте первую оплату

Само появление подписчика в списке не доказывает оплату. Даже начальное состояние с льготным сроком не означает, что клиент уже купил период. Дождитесь подходящего подтверждённого поступления и проверьте состояние подписки, дату «Оплачено до» и число оплаченных периодов.

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

О появлении транзакции и её окончательном подтверждении рассказывает статья «Что означают подтверждения транзакции». До проверки оплаченного срока не выдавайте доступ по одному скриншоту или сообщению о найденном переводе.

Шаг 5. Организуйте продления и доступ

Проверьте напоминания владельцу и доставку клиенту на указанный email. Если email не задан, заранее определите, как будете напоминать сами. Напоминание не выполняет оплату за человека.

При очередном успешном платеже неистёкший оплаченный срок продлевается от прежнего окончания; если он уже закончился, новый период отсчитывается от принятого продления. Сверяйте фактическую дату в кабинете, а затем обновляйте доступ в своём продукте.

Если перевод откатился при реорганизации блокчейна, состояние подписки и оплаченный срок могут измениться. Предусмотрите повторную проверку доступа. Архивирование тарифа запрещает назначать его новым подписчикам, но не заменяет отдельную отмену существующей подписки и не удаляет историю оплат.

Для общей подготовки кошельков и приёма средств пригодится руководство «Как принимать оплату в криптовалюте на своём сайте».