Криптоплатежи для SaaS
Дайте клиентам платить за каждый расчётный период в USDT и другой крипте. Вы создаёте платёж на счёт через API, отправляете ссылку и продлеваете доступ, когда webhook сообщает о завершённой оплате.
- Один счёт на расчётный период
- Платёж на каждый счёт через API
- Доступ продлевается по webhook
Когда крипта подходит SaaS-бизнесу
Крипта это второй способ оплаты рядом с картами для тех клиентов, кого карточные рельсы подводят:
- команды в странах, где не работает ваш карточный процессор, или те, у кого карты отклоняют для зарубежного софта;
- компании, которые крупный годовой счёт предпочитают оплатить переводом, а не картой;
- покупатели инструментов для разработчиков, инфраструктуры и хостинга, у которых уже есть долларовые стейблкоины.
Криптоплатёж отправитель отменить не может, поэтому по таким счетам нет карточных чарджбэков. Это добавляет способ оплаты и не заменяет карточный биллинг для остальных.
Модель: один счёт на расчётный период
Карточный биллинг списывает деньги с сохранённой карты автоматически. Криптоплатёж должен начать клиент, поэтому работает модель предоплаченного счёта на каждый период:
- Незадолго до конца периода ваша система создаёт счёт и платёж Qvard под него.
- Клиент получает ссылку на страницу оплаты, выбирает актив и сеть и платит.
- Когда платёж завершён, Qvard вызывает ваш webhook, и вы продлеваете подписку.
Сохранённого способа оплаты и автоматического списания нет. Qvard не предлагает рекуррентные платежи как продукт, поэтому напоминания о продлении, льготный период и смена тарифа это ваша собственная логика.
Как это работает
Создавайте платёж с бэкенда одним POST на https://api.qvard.com/api/v1/payment: ваш ключ в заголовке x-api-key, номер счёта как id и сумма как price, в долларах США, если не передан currency, например INR. В ответе придёт redirectUrl, адрес страницы оплаты; вставьте его в письмо со счётом.
Когда платёж завершён, Qvard отправляет webhook с вашим id и статусом completed. Проверьте заголовок x-api-key, пометьте счёт оплаченным, только если он ещё не оплачен, ответьте ровно HTTP 200 и продлите подписку. Курс на странице оплаты фиксируется на один час.
// A few days before a period ends: create the invoice and its payment.
async function createRenewalInvoice(sub) {
const invoice = await db.invoices.create({ subscriptionId: sub.id, amountInr: sub.planPriceInr, status: 'open' });
const res = await fetch('https://api.qvard.com/api/v1/payment', {
method: 'POST',
headers: { 'x-api-key': process.env.QVARD_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ id: String(invoice.id), price: invoice.amountInr, currency: 'INR' })
});
const { redirectUrl } = await res.json();
await mailer.send(sub.email, 'Your renewal invoice', 'Pay here: ' + redirectUrl);
}
// In the webhook handler, when status is "completed" (and the x-api-key header matches).
async function onPaid(invoiceId) {
const invoice = await db.invoices.markPaidIfOpen(invoiceId); // null if already paid
if (invoice) await db.subscriptions.extend(invoice.subscriptionId, '1 month');
}Что остаётся на вашей стороне
Чётко разделите, что строите вы, а что делает шлюз.
- Вы: счета, напоминания, льготный период, повышение и понижение тарифа, возвраты и учёт.
- Шлюз: страница оплаты, адреса, наблюдение за сетью, статусы платежей и webhook.
Если клиент оплатил только часть счёта, платёж получает статус partial, а webhook о завершении не приходит; оставьте счёт открытым и попросите доплатить. Возврата на сайт после оплаты пока нет, поэтому дайте клиентам страницу биллинга с реальным статусом счёта.
Деньги и комиссии
Абонентской платы за шлюз нет. Комиссия индивидуальна для вашего проекта и по странице тарифов начинается с 1%, а может быть снижена до 0,1%. Средства лежат на вашем балансе в Qvard, и вы выводите их на свой кошелёк; вывод стоит только сетевую комиссию. Вывода на банковский счёт в фиате нет. Цены остаются в долларах, а клиенты платят эквивалент в выбранном активе и сети.
Что готово сегодня
Интеграция идёт через API и требует разработчика; готового плагина биллинга пока нет, а платёжные ссылки и отдельный sandbox в разработке. Полный разбор в материале криптоплатежи для SaaS, про выставление счетов в криптовыставление счетов для B2B SaaS, про правила webhook в как защитить webhook криптоплатежей. Форматы запросов в документации для разработчиков, а демо-счёт покажет, что увидит ваш клиент.
Вопросы и ответы
Коротко о том, как Qvard закрывает оплату, интеграцию и операционные процессы мерчанта.
Что такое Qvard?
Qvard даёт бизнесу готовый платёжный слой: клиент оплачивает через понятную страницу, а мерчант получает статусы, балансы и инструменты для вывода.
Какие активы поддерживаются?
Витрина уже показывает USDT, USDC, BTC, LTC, TRX, BNB и ETH. Для USDT доступны разные сети, чтобы клиент мог выбрать привычный маршрут оплаты. TON и USDT TON — скоро.
Подходит ли Qvard разработчикам?
Да. Интеграция строится вокруг создания платежа, редиректа на redirectUrl и финального webhook-статуса, чтобы заказ в вашей системе обновлялся автоматически.
Можно ли кастомизировать платёжную страницу?
Да. Можно адаптировать название магазина, логотип, визуальный стиль и тексты, чтобы платёжная страница выглядела частью вашего продукта. URL возврата (successUrl/failUrl) — скоро.
Что нужно, чтобы начать?
Создайте аккаунт мерчанта и пройдите проверку бизнеса. Протестировав тестовый платёж, подключите платёжную страницу или API и начните принимать реальные платежи.
Как работает вывод средств?
Средства учитываются на балансах мерчанта отдельно по активам и сетям. Выводить можно вручную или настроить правила автоматического вывода.