Посібник з інтеграції

Приймайте криптовалюту на своєму сайті

Практичний посібник: оберіть спосіб інтеграції, створіть замовлення одним API-запитом і підтвердьте оплату вебхуком. Підходить для будь-якого стеку — від статичного сайту до власного кошика.

Коротко

Найпростіша інтеграція — один запит із сервера: створіть замовлення на суму кошика, надішліть покупця на отриманий checkout_url і позначте замовлення оплаченим, коли вебхук отримає payment.succeeded. Крипта йде прямо на ваш гаманець; UTOPAY утримує 1,5%.

Час інтеграції
Близько години
Мови
Будь-які (REST + JSON)
Сторінка оплати
Наша або ваша
Підтвердження
Вебхуки з підписом
Тестовий режим
Є, з тестовими ключами

Оберіть, як платитиме покупець

ВаріантКому підходитьСкладність
Готова сторінка оплати — перенаправлення на checkout_urlБудь-який сайт, найшвидший запуск. Показує суму, мережу, адресу, QR і живий статусОдин API-запит
Власна сторінка оплати — показуєте crypto.address і crypto.amount_coinВласний UX, покупець не залишає ваш доменAPI-запит + ваш інтерфейс
CMS — WooCommerce, ShopifyМагазини на платформахДив. розділи нижче

Крок 1 — створіть замовлення на сервері

Ніколи не створюйте замовлення з браузера із секретним ключем. Викликайте API зі свого сервера, передаючи суму кошика й монету, яку обрав покупець:

curl -X POST https://api.utopay.app/v1/crypto/payments \
  -H "Authorization: Bearer utopay_sk_live_..." \
  -H "content-type: application/json" \
  -d '{ "coin": "bep20/usdt", "amount": 49.90, "currency": "EUR",
        "description": "Order #1042",
        "success_url": "https://shop.example/thanks",
        "cancel_url": "https://shop.example/cart" }'

З акаунтом гаманець для виплат береться з налаштувань проєкту. Без акаунта використовуйте POST /v1/crypto/pay і передайте payout_address. Список монет і мереж із мінімальними сумами — у GET /v1/crypto/coins.

Крок 2 — надішліть покупця на оплату

  • Перенаправте на checkout_url: сторінка показує точну суму, мережу, QR-код і живий статус, а потім повертає покупця на ваш success_url.
  • Або виведіть crypto.address і crypto.amount_coin самостійно й опитуйте GET /v1/payments/:id, поки покупець на сторінці.

Крок 3 — підтвердьте оплату вебхуком

Не покладайтеся лише на повернення на сайт. Позначайте замовлення оплаченим, коли ваш ендпоінт отримає підписану подію payment.succeeded; обробляйте payment.underpaid, якщо надійшло менше, ніж потрібно. Перевіряйте заголовок x-utopay-signature своїм секретом whsec_… — приклади на Node.js, PHP і Python є в документації з вебхуків.

<?php // PHP: перевірка вебхука UTOPAY
$raw = file_get_contents("php://input");
parse_str(str_replace(",", "&", $_SERVER["HTTP_X_UTOPAY_SIGNATURE"]), $sig);
$expected = hash_hmac("sha256", $sig["t"] . "." . $raw, getenv("UTOPAY_WHSEC"));
if (!hash_equals($expected, $sig["v1"] ?? "") || abs(time() - (int)$sig["t"]) > 300) {
  http_response_code(400); exit;
}
$event = json_decode($raw, true);
if ($event["event"] === "payment.succeeded") { /* позначити $event["data"]["id"] оплаченим */ }
http_response_code(200);

WordPress і WooCommerce

Для WooCommerce є готовий плагін UTOPAY — див. розділ плагіни. Без плагіна магазин на WooCommerce підключається через API: створіть замовлення в хуку woocommerce_checkout_order_processed, надішліть покупця на checkout_url і завершіть замовлення з обробника вебхука.

Shopify

Shopify показує як платіжний шлюз лише схвалені платіжні застосунки. Робоча схема — ручний спосіб оплати (наприклад, «Оплата криптою») плюс сторінка оплати UTOPAY: під час оформлення замовлення ваш застосунок або автоматизація створює замовлення UTOPAY на суму покупки й надсилає покупцеві лист із checkout_url. Потім вебхук позначає замовлення в Shopify оплаченим.

Чек-лист перед запуском

  • Перевірте весь сценарій із тестовими ключами (utopay_sk_test_…) — тестові замовлення не йдуть у блокчейн.
  • Переконайтеся, що гаманець для виплат підтримує всі мережі, які ви пропонуєте.
  • Показуйте назву мережі поруч із сумою — перекази не в ту мережу найчастіша причина звернень у підтримку.
  • Зберігайте id замовлення UTOPAY разом зі своїм замовленням і дедуплікуйте вебхуки за ним.
  • Заздалегідь вирішіть, що робити із замовленнями в статусі underpaid.

Оновлено · Команда UTOPAY

FAQ

Приймання криптовалюти на сайті — запитання та відповіді

Чи можна приймати крипту без розробника?

Потрібні один запит до API із сервера й обробник вебхука — кілька десятків рядків будь-якою мовою. Зовсім без коду можна створити замовлення однією командою curl і надіслати покупцеві checkout_url.

Якими монетами зможуть платити клієнти?

Зараз: USDT, ETH, BNB, POL, DAI та інші токени в EVM-мережах (Ethereum, BNB Smart Chain, Polygon, Base, Optimism, Arbitrum, Avalanche, Linea). Bitcoin, Tron, Solana і TON підключаються. Актуальний список — GET /v1/crypto/coins.

Куди надходять гроші?

Одразу на ваш гаманець. Кожен платіж пересилається ончейн, щойно надходить; UTOPAY утримує 1,5% і ніколи не зберігає гроші.

Чи можна приймати й картки?

Так. Картковий шлюз працює з того самого акаунта: покупці платять карткою, Apple Pay та іншими способами, а ви отримуєте крипту.

Чи є плагін для WooCommerce?

Так, він доступний у розділі плагіни. Без плагіна використовуйте описаний вище сценарій через API.

Читайте також

Додайте оплату криптою на свій сайт

Створіть безкоштовний акаунт для API-ключів, вебхуків і Telegram-сповіщень — або викличте ендпоінт без акаунта, вказавши лише адресу гаманця.