Введение
Форма платежа
Мерчант, интегрирующий InfraIO Pay, имеет дело с четырьмя движущимися частями:
Сессия checkout
Вы создаёте сессию на сервере с позициями и суммами. Ответ несёт
session_key (cst_…) и checkout_url. Сессии с TTL (по умолчанию
30 мин) и одноразовые.
Размещённая страница checkout
Вы загружаете наш браузерный SDK и открываете сессию — popup, redirect или встроенный iframe. Покупатель выбирает сеть × актив (USDT на Polygon, ETH на Base, …), видит сгенерированный депозитный адрес + QR и отправляет средства из своего кошелька.
Подтверждение платежа
Payment-service наблюдает за соответствующей сетью на предмет входящих
переводов, совпадающих с депозитным адресом сессии. После того как
число подтверждений достигает настроенного (например, 12 на Ethereum
mainnet, 5 на Polygon — см. Сети и активы),
лежащий в основе PaymentIntent переходит в SETTLED, а родительский
Order — в PAID.
Webhook
Мы делаем POST подписанного события payment.settled на ваш
зарегистрированный webhook URL. Ваш сервер проверяет подпись,
сопоставляет с вашим собственным заказом через external_ref и
обрабатывает заказ.
Модель данных на одной диаграмме
CheckoutSession ← 1:1 → Order ← 1:N → PaymentIntent
(с TTL) (постоянный) (один на попытку оплаты)Вы думаете в терминах Order для обработки заказа, создаёте Session, чтобы принять оплату, а система управляет PaymentIntent за кулисами для повторов / выбора сети.
С чем справляемся мы vs с чем справляетесь вы
| InfraIO Pay справляется | Вы справляетесь |
|---|---|
| Размещённый UI checkout (депозитный адрес, QR, селектор актива) | Каталог + создание Order в вашей БД |
| Мониторинг сети + логика подтверждений на 8 EVM-сетях | Приёмник webhook + проверка подписи |
| Мультиактивный checkout (USDT, USDC, нативные ETH/BNB/POL/MNT на каждой сети) | Маппинг нашего order_id ↔ вашего ID заказа через external_ref |
| Учёт возвратов (state-машина, панель, API) | Подписание + трансляция on-chain tx возврата |
| Test-mode ключи + изолированные test-webhooks | Пополнение testnet-кошельков из кранов |
Мы не храним средства мерчанта. Переводы buyer-to-merchant происходят напрямую on-chain; мы — слой индексации и reconciliation, который сообщает вам, когда перевод прошёл.
Test-mode vs live-mode
Каждый аккаунт начинается в test-mode. Test-ключи имеют префиксы
pk_test_ / sk_test_. Live-ключи (pk_live_ / sk_live_)
открываются после:
- Завершения KYB
- Подтверждения treasury-кошелька (вы подписываете сообщение, доказывающее, что вы контролируете адрес назначения на каждой сети, на которой хотите принимать)
Один и тот же базовый URL обслуживает оба — окружение определяется префиксом ключа, а не URL. Test-mode работает против реальных testnet’ов (Sepolia, Base Sepolia, BSC Testnet и т. д.) — мок-сети нет. Чтобы запустить тестовый платёж, вам нужны реальные testnet- средства из крана.
Чем InfraIO Pay не является
- Не кастодиан. Средства движутся напрямую от покупателя к кошельку мерчанта on-chain. Мы не храним баланс.
- Не провайдер кошельков. Клиенты используют собственные кошельки; в размещённом checkout есть встроенная опция WalletConnect, но никакого нативного хранения нет.
- Не фиатный рамп. Покупатели платят тем крипто-активом, что у них есть; мы не конвертируем.
- Не gateway для Tron или Solana сегодня. Прежде всего EVM. См. Сети и активы для актуальной матрицы.
Что дальше
- Быстрый старт — скопируйте и вставьте вашу первую интеграцию за ~10 минут.
- Концепции → Сессии — модель данных в деталях.
- SDK → JavaScript — единственный опубликованный SDK на сегодня.