К содержимому

Сценарии

Криптоплатежи для подписок и регулярных счетов

Подписки с оплатой в криптовалюте: инвойс на каждый период с ценой в USD, ссылка на оплату в письме о продлении и подписанный вебхук, который продлевает доступ.

CryptoLike выставляет счёт за подписку в криптовалюте по одному периоду: ваша система создаёт инвойс на каждое продление, клиент оплачивает его по ссылке из письма, а подписанный вебхук сообщает серверу, что доступ пора продлить. Цена остаётся в USD или EUR, а клиент платит эквивалент в Bitcoin, USDT или другом включённом активе по курсу, зафиксированному для инвойса.

Почему криптовалюту нельзя списывать автоматически каждый месяц?

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

Как работают регулярные платежи на инвойсах CryptoLike

Расписание ведёт ваша биллинговая система, а платёж каждого периода — CryptoLike. Одно продление — это один вызов API и один вебхук, и тот же код подходит для месячных, квартальных и годовых тарифов.

  1. За несколько дней до продления создайте инвойс. POST /v1/invoices с ценой тарифа в USD, order_id, в котором есть подписка и период, и временем на оплату до 30 дней (ttl_seconds до 2 592 000).
  2. Отправьте checkout_url в письме о продлении или покажите в личном кабинете клиента. На странице видны сумма, сеть, адрес с QR-кодом и оставшееся время.
  3. Продлите доступ на invoice.paid. Проверьте подпись вебхука, найдите подписку по order_id или metadata и сдвиньте дату «оплачено до» на один период.
  4. Обработайте другие исходы. invoice.underpaid — попросите доплатить на тот же адрес до срока; invoice.expired — включите льготный период или приостановите тариф и предложите новый инвойс.
json
{
  "amount": "49.00",
  "currency": "USD",
  "order_id": "sub-4821-2026-10",
  "idempotency_by_order_id": true,
  "ttl_seconds": 604800,
  "metadata": { "subscription_id": "4821", "period": "2026-10" },
  "return_url": "https://app.example.com/billing"
}

С idempotency_by_order_id повторный запуск задачи для того же периода вернёт открытый инвойс, а не выставит счёт дважды. metadata приходит в каждом вебхуке invoice.* и плательщику не показывается.

Какая модель продления подходит вашему продукту?

Большинство подписочных сервисов укладываются в три схемы. Они различаются тем, кто начинает платёж и как о нём узнаёт ваша система; статусы и вебхуки во всех трёх одинаковые.

Модель Как работает Кому подходит
Инвойс на период Система создаёт инвойс перед каждым продлением и отправляет ссылку письмом SaaS-тарифы, членство, хостинг
Предоплаченный баланс У клиента свой статический адрес; каждое пополнение зачисляется, а система списывает цену тарифа с внутреннего баланса Оплата по использованию, кредиты, частые мелкие списания
Ссылка на оплату вручную Финансовый отдел создаёт ежемесячный счёт в кабинете или Telegram-боте и отправляет ссылку B2B-договоры, несколько крупных клиентов

Модель с предоплатой описана в разделе пополнения на статические адреса, ручные счета — в разделе ссылки на оплату.

Цена в фиате и курс

Цена тарифа остаётся в вашей валюте. Когда клиент выбирает монету на странице оплаты, CryptoLike пересчитывает сумму по текущему курсу и фиксирует его до окончания срока инвойса: даже при долгом сроке оплаты сумма в криптовалюте после выбора монеты не меняется. Если сумма должна быть фиксирована в USDT с самого начала, выставляйте инвойс в стейблкоине. Комиссия платформы за подтверждённый платёж — на странице тарифов.

Как подключить

Для подписок нужен бэкенд, который хранит секретный ключ и принимает вебхуки. Установите SDK — TypeScript SDK, Python SDK, PHP SDK или Go SDK, — создайте ключ с правами create_invoice и read и проверьте продление целиком в тестовых сетях — с ключом ck_test_ и тестовым адресом API от поддержки CryptoLike. Полный справочник запросов и вебхуков — в обзоре API, другие схемы для сервисов — в разделе криптоплатежи для цифровых товаров и SaaS.

Вопросы и ответы

Может ли CryptoLike списывать оплату у клиентов автоматически каждый месяц?

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

Сколько может быть открыт инвойс на продление?

До 30 дней: ttl_seconds принимает от 60 до 2 592 000 секунд, а без него действует время на оплату из настроек аккаунта (30 минут). Для продлений обычно ставят 3–7 дней. Когда клиент выбрал монету, курс фиксируется до окончания срока инвойса, поэтому сумма в криптовалюте, пока инвойс открыт, не меняется.

Что если клиент заплатил меньше цены тарифа?

Инвойс получает статус underpaid и до своего срока открыт для доплаты на тот же адрес: remaining_amount показывает вашей системе, сколько не хватает, а клиент видит это на странице оплаты. Если остаток приходит вовремя, следует invoice.paid. Если нет, инвойс закрывается как недоплаченный, и вы решаете, продлить доступ или вернуть деньги.

Как не выставить счёт за один период дважды?

Используйте order_id, в котором есть подписка и период, например sub-4821-2026-10, и передавайте idempotency_by_order_id: true. Тогда повторный запуск задачи или второй запрос за тот же период вернёт открытый инвойс, а не создаст новый, а период, за который деньги уже пришли, получит отказ 409 conflict.

Как подключить

В документации →

Гайды и статьи

Термины на странице

Начните с тестового платежа

Создайте аккаунт, попросите у поддержки доступ к тестовой среде и посмотрите, как платёж проходит путь от pending до paid в тестовой сети.