Автор Stendly2 мин чтения

Как принимать стейблкоины без SDK

Как начать с hosted Payment Link и подключать webhook или API только при появлении автоматизации.

SDK не обязателен для каждого stablecoin checkout. Продавец с одним фиксированным продуктом может создать hosted Payment Link, разместить URL и смотреть результаты в dashboard.

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

Уровень без кода

В dashboard создаются товар, цена и постоянная платежная ссылка. Ее можно поставить на сайт, отправить письмом или опубликовать в Telegram.

<a href="https://app.stendly.com/p/pl_example">
  Оплатить стейблкоином
</a>

Для фиксированного предложения этого достаточно, если продавца устраивают hosted success page и ручная обработка заказа.

Low-code уровень

Публичный reference помогает связать платеж с пользователем или workspace:

const checkoutUrl =
  paymentLink +
  "?client_reference_id=" +
  encodeURIComponent(currentUser.id);

Платежный сервис возвращает значение в webhook, после чего продавец обновляет свою базу.

Reference виден в URL и может быть изменен пользователем. Его нельзя считать авторизацией.

Raw HTTP без SDK

SDK является удобной оболочкой над HTTP. Backend может вызвать REST API через fetch, curl или используемый в проекте HTTP client.

Server-created checkout подходит для доверенного номера заказа, динамической суммы и закрытой привязки пользователя. Backend отправляет authenticated request и получает временный checkout URL.

const response = await fetch("https://api.example.com/v2/checkout-sessions", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.API_KEY}`,
    "Content-Type": "application/json",
    "Idempotency-Key": order.id
  },
  body: JSON.stringify({
    priceId,
    externalCustomerId: user.id,
    merchantReference: order.id
  })
});

Точный endpoint и поля зависят от провайдера. API key должен оставаться на сервере.

Зачем тогда SDK

SDK уменьшает объем повторяющегося кода для авторизации, моделей запросов, ошибок, retries, idempotency и проверки webhook signatures. Он полезен при росте интеграции, но не должен быть обязательным до первого тестового платежа.

У Stendly есть SDK для Node.js, Python и .NET, а также raw HTTP и OpenAPI. Начать можно со ссылки, а библиотеку подключить позже.

Что не означает «без SDK»

Это не означает «без backend», если после оплаты нужно изменить аккаунт пользователя. Потребуется доверенное server-side действие или внешний automation service.

Также нельзя безопасно передавать через публичный URL секретный customer ID, произвольную цену или закрытые metadata.

Источники

Stripe Payment Links

Coinbase Business Payment Link APIs

OpenAPI и SDK Stendly