Інтеграція Transak для покупки крипто в мобільному додатку
Transak відрізняється від конкурентів більш низькою комісією (від 0.5% на банківський переведення), підтримкою як on-ramp, так і off-ramp в одному віджеті та відносно м'яким порогом KYC для низки країн. Офіційний React Native SDK існує, але для нативних iOS/Android проектів інтеграція йде через WebView з кастомним URL.
Формування URL для Transak Global
Базовий URL: https://global.transak.com
// Android — побудова URL
val params = mapOf(
"apiKey" to transakApiKey,
"walletAddress" to userWalletAddress,
"network" to "ethereum", // ethereum, bsc, polygon, solana
"defaultCryptoCurrency" to "USDC",
"fiatCurrency" to "EUR",
"productsAvailed" to "BUY", // BUY, SELL, або BUY,SELL
"hideMenu" to "true", // приховати навігацію Transak
"themeColor" to "1A1A2E", // hex без #
"redirectURL" to "myapp://transak-callback",
"exchangeScreenTitle" to "Купити USDC"
)
val queryString = params.entries.joinToString("&") { (k, v) -> "$k=${URLEncoder.encode(v, Charsets.UTF_8)}" }
val widgetUrl = "https://global.transak.com/?$queryString"
Для продакшену — API key з dashboard.transak.com. Staging ключ (STAGING_TRANSAK_API_KEY) для тестування: тестові карти Transak приймають 4111111111111111 з будь-яким CVV.
Партнерська інтеграція: підпис
На продакшн-акаунті Transak вимагає підписаний JWT для авторизованих партнерів. Без цього віджет працює як публічний (з брендингом Transak). З партнерською підписью — кастомний брендинг та нижчі комісії.
// Серверна генерація JWT (Node.js)
const jwt = require('jsonwebtoken');
const payload = {
apiKey: process.env.TRANSAK_API_KEY,
walletAddress: userWalletAddress,
userData: { firstName, email } // опціонально, для pre-KYC
};
const token = jwt.sign(payload, process.env.TRANSAK_SECRET, { expiresIn: '1h' });
// Передати token у додаток, додати як &partnerOrderId={token}
Підтримувані мережі та токени
Transak підтримує 130+ країн та 90+ криптовалют. Перевіріть доступність для конкретної країни:
GET https://api.transak.com/api/v2/currencies?partnerApiKey={apiKey}&isBuyOrSell=BUY
Повертає список криптовалют з доступними мережами, мінімальними сумами та підтримуваними способами оплати за країнами. Актуальніше, ніж документація.
Webhook події
Transak відправляє події через webhook на сервер. Ключові:
-
ORDER_CREATED— користувач ініціював покупку -
PAYMENT_DONE_MARKED_BY_USER— користувач підтвердив оплату -
ORDER_COMPLETED— крипта відправлена на гаманець -
ORDER_FAILED— покупка не пройшла
Верифікація webhook через хеш підпису — обов'язкова. Transak підписує payload HMAC-SHA512 з секретним ключем.
Часовий графік: 2–3 дні: формування та відкриття віджета, deeplink-обробка повернення, webhook інтеграція для фінальних статусів, оновлення баланса в додатку.







