Skip to Content
КонцепцииСети и активы
View as Markdown

Сети и активы

InfraIO Pay прежде всего работает со стейблкоинами и поддерживает несколько сетей: восемь EVM-сетей, а также TRON, Solana и TON. Матрица ниже перечисляет сети, которые поддерживает InfraIO Pay. TRON, Solana и TON постепенно запускаются в продакшене.

Mainnet

СетьChain IDNativeUSDCUSDTПодтвержденияМин. заказ
Ethereum1ETH✓ (ERC-20)✓ (ERC-20)12$5.00
Base8453ETH✓ (ERC-20)—10$1.00
Polygon137POL✓ (ERC-20)✓ (ERC-20)5$1.00
BSC56BNB✓ (18-decimal)✓ (18-decimal)5$1.00
Arbitrum42161ETH✓ (ERC-20)✓ (ERC-20)5$1.00
Optimism10ETH✓ (ERC-20)✓ (ERC-20)5$1.00
ZKsync Era324ETH——5$1.00
Mantle5000MNT——5$1.00

USDC + USDT на BSC используют 18 десятичных знаков, а не 6, как везде. Если вы сами вычисляете суммы токенов, учтите это. SDK и размещённый checkout делают это за вас.

«Мин. заказ» — это минимальная сумма заказа в долларах. По умолчанию $1.00 на mainnet и $0.50 на testnet, а для Ethereum — $5, потому что комиссия сети (gas) на Ethereum перекрыла бы мелкие заказы. Минимум может отличаться в разных сетях. Заказы ниже него отклоняются с AMOUNT_BELOW_MINIMUM (HTTP 400), а details.floor_usd несёт минимум для этой сети, чтобы вы могли показать его покупателю.

TRON, Solana и TON

Скоро. TRON, Solana и TON пока недоступны в продакшене.

СетьChain IDNativeUSDCUSDTПодтвержденияМин. заказ
TRON728126428TRX—✓ (TRC-20)19$1.00
Solana1151111081099710SOL✓ (SPL)✓ (SPL)32$1.00
TON607000000000000TON—✓ (Jetton)1$1.00

У Solana и TON нет chain ID в понимании EVM, поэтому указанные выше ID — это внутренние идентификаторы, которые API использует для них. Все перечисленные здесь стейблкоины имеют 6 знаков после запятой. TON финализирует каждый блок, поэтому одного подтверждения достаточно.

Testnet

СетьChain IDNativeПодтвержденияМин. заказ
Ethereum Sepolia11155111ETH1$0.50
Base Sepolia84532ETH1$0.50
Polygon Amoy80002POL1$0.50
BNB Smart Chain Testnet97tBNB1$0.50
Arbitrum Sepolia421614ETH1$0.50
OP Sepolia11155420ETH1$0.50
Mantle Sepolia5003MNT1$0.50
ZKsync Sepolia300ETH1$0.50

Тестовый режим использует реальные testnet’ы, а не мок-сеть. Чтобы запустить тестовый платёж, вам нужны реальные testnet-средства — возьмите их из крана (например, sepoliafaucet.com , coinbase.com/faucets ) и отправьте на депозитный адрес, который сгенерирует страница checkout.

TRON Nile, Solana Devnet, TON Testnet

СетьChain IDNativeТестовые токеныПодтвержденияМин. заказ
TRON Nile3448148188TRXUSDT, IUSD19$0.50
Solana Devnet1151111081099711SOLUSDC, IUSD32$0.50
TON Testnet607000000000003TONIUSD1$0.50

Тестовый режим в этих сетях также использует настоящие тестнеты. IUSD — тестовый стейблкоин, используется только в тестовом режиме.

Коды валют, используемые в API

currency (на верхнем уровне тела и в каждой позиции) — это валюта отображения заказа, то, что покупатель видит как сумму. Сегодня платформа принимает один код при создании:

  • "USD" — единственное поддерживаемое значение. И POST /v1/orders, и POST /b2b/v1/checkout-sessions/quick отклоняют любое другое значение с INVALID_INPUT («unsupported currency»). GET /v1/supported/currencies возвращает актуальный список.

On-chain актив, в котором покупатель проводит расчёт (USDC, USDT, …), это не поле currency. Он выбирается покупателем на странице checkout из комбинаций сеть × токен, включённых в вашей мерчантской конфигурации, и возвращается вам на PaymentIntent и webhook payload как settlement_token (символ + сеть). Нативные gas-токены (ETH, BNB, POL, MNT, TRX, SOL, TON) — это только метаданные сети, не валидные платёжные валюты.

Сама сеть тоже не указывается при создании по той же причине: покупатель выбирает комбинацию на странице checkout.

Подтверждения vs окончательность

Колонка «Подтверждения» выше — число блоков, которое InfraIO Pay ждёт, прежде чем перевести PaymentIntent в SETTLED и отправить payment.settled. Количество подобрано для каждой сети так, чтобы реорг был маловероятен:

  • Ethereum mainnet использует 12 подтверждений.
  • L2 используют меньшие значения, отражающие риск реорга в каждой сети.
  • Testnet’ы используют 1 подтверждение, чтобы тестирование шло быстро. Не считайте тестовые платежи окончательными на уровне mainnet.

Если вам нужны более строгие (или более мягкие) подтверждения для конкретной сети, per-chain счётчик настраивается на аккаунте мерчанта — обратитесь к вашему контактному лицу по аккаунту.

Включение сетей для вашего мерчанта

Новый аккаунт начинает с широкого набора testnet’ов. Сети mainnet становятся доступны, когда вы завершили верификацию аккаунта и добавили кошелёк Казначейства для сети (вы подписываете сообщение, доказывающее владение).

Платежи поступают прямо на ваши кошельки Казначейства — InfraIO Pay никогда не хранит ваши средства.

Включите дополнительные сети из Settings → Networks в панели мерчанта.

Детерминированные депозитные адреса (EVM)

Отдельные депозитные адреса для каждого заказа (CREATE2) используются в EVM-сетях. Каждый адрес уникален для одного checkout и генерируется заранее. Вам не нужно ничего создавать или фондировать: вы получаете адрес на PaymentIntent и показываете его покупателю.

  • Два intent’а для одного мерчанта получают разные адреса — никаких коллизий между покупателями.
  • Покупатель сразу видит адрес на странице checkout.
  • Покупатели никогда не платят комиссию сети (gas) за настройку. Средства поступают прямо на ваш кошелёк Казначейства без отдельного шага sweep (автоматического перевода с депозитного адреса на кошелёк), который мерчанту нужно отслеживать.

Практические следствия для интеграторов:

  • deposit_address, возвращаемый на PaymentIntent, — обычный EVM-адрес — его можно показать как QR-код, отсканировать, отправить на него с любого кошелька. Никакой особой клиентской поддержки не нужно.
  • Отправка на адрес до истечения intent’а проводит расчёт по заказу. Поздние депозиты (отправленные после истечения) иногда удаётся перевести на ваш кошелёк Казначейства, но это не гарантировано, поэтому не рассчитывайте на это.
  • Каждый адрес одноразовый per intent. Если покупателю нужна вторая попытка, создайте новую сессию checkout — вы получите свежий адрес.

Сети с оплатой напрямую на кошелёк

TRON, Solana и TON работают иначе, чем EVM. Нет депозитного адреса на каждый заказ и нет шага sweep: кошелёк покупателя платит напрямую на ваш кошелёк Казначейства. Когда комиссия платформы удерживается on-chain, она отделяется в рамках того же платежа (ваша доля плюс комиссия). В остальных случаях комиссия списывается с вашего предоплаченного кредита. Какой из двух вариантов применяется, решает платформа, а не мерчант.

СетьКак платит покупатель
TRONTronLink. Checkout открывается внутри TronLink, и покупатель подтверждает перевод.
SolanaSolana Pay. Покупатель сканирует QR-код в Phantom, Solflare или любом кошельке с поддержкой Solana Pay; кошелёк получает транзакцию из checkout.
TONTON Connect (Tonkeeper, Telegram Wallet, MyTonWallet). Покупатель подтверждает один запрос; переводы содержат комментарий с референсом заказа, который идентифицирует платёж.

Чтобы покупатели могли выбрать одну из этих сетей, добавьте в дашборде мерчанта кошелёк Казначейства для этого семейства сетей (EVM, TRON, Solana или TON). Допустимые форматы адресов:

  • TRON — адрес в base58, начинающийся с T…
  • Solana — публичный ключ в base58
  • TON — user-friendly формат UQ… / EQ… (или raw-формат 0:…), только basechain

В этих сетях нет депозитного адреса для показа, поэтому позвольте размещённому checkout вести платёж.

Что НЕ поддерживается сегодня

  • Bitcoin / Lightning. Не поддерживаются.
  • Платежи в нативной валюте. Покупатели платят только стейблкоинами. Нативные монеты (ETH, BNB, POL, MNT, TRX, SOL, TON) не принимаются как оплата ни в одной сети.
  • Другие стейблкоины (USDe, FDUSD, …). Обратитесь в поддержку, чтобы запросить дополнительный токен в уже включённой сети.

Что дальше