Перейти до вмісту

Solana і Tron

Мережі Solana і Tron перелічені в GET /api/v1/networks поряд з мережами EVM, з family, встановленим у solana або tron. Читайте їхні токени, кількість знаків після коми та minimum_payment з API; не тримайте власний список. Адреси в цих мережах використовують власний формат base58 у запитах, відповідях і вебхуках.

Чим вони відрізняються від EVM

Section titled “Чим вони відрізняються від EVM”
EVM Solana Tron
Платіжна адреса Адреса контракту. Отримувач фіксується в мережі під час створення адреси. Ключ на кожен платіж, який тримає підписант Invoise. Ключ на кожен платіж, який тримає підписант Invoise.
Зберігання коштів Кошти можуть іти лише отримувачу, зафіксованому в мережі, за вирахуванням комісії. Invoise тримає платіж лише до передачі вашому отримувачу. Invoise тримає платіж до передачі. Платіжного контракту немає.
Отримувач recipient магазину PUT /shops/{shop_id}/solana-recipient PUT /shops/{shop_id}/tron-recipient
Делегат Опціонально Немає Немає
Магазин-пісочниця Так Ні: 400 solana_sandbox_unavailable Так

Invoise вмикає Tron для мерчанта за запитом; звертайтеся в підтримку. Його minimum_payment вищий, ніж в інших мережах.

Магазину потрібен отримувач Solana або Tron, перш ніж він зможе виставляти рахунки в цій мережі. Без нього створення рахунку або депозиту повертає 400 solana_setup_required або 400 tron_setup_required.

Terminal window
curl -X PUT 'https://platform.invoise.me/api/v1/shops/{shop_id}/solana-recipient' \
-H 'Authorization: Bearer <session-token>' \
-H 'Idempotency-Key: <saved-unique-key>' \
-H 'Content-Type: application/json' \
-d '{"address":"<your-solana-wallet>"}'

Для Tron використовуйте /tron-recipient. Для встановлення потрібна сесія власника; API-ключ магазину може лише читати. GET на тому самому шляху повертає {"address":"..."}, з порожньою адресою, поки її не задано.

Отримувач задається один раз. Повторне надсилання тієї самої адреси проходить успішно; інша адреса повертає 400 shop_addresses_immutable. Перевірте адресу перед збереженням.

Мережа Правила
Solana Використовуйте звичайний гаманець, а не program-derived адресу й не адресу Invoise: invalid_solana_address. У гаманця вже має бути рахунок для токена; інакше створення рахунку або депозиту повертає solana_recipient_token_account_required. Спершу отримайте цей токен там один раз.
Tron Неправильно сформована адреса повертає invalid_tron_address або invalid_tron_checksum; адреса Invoise повертає invalid_tron_recipient. Мерчанту потрібен увімкнений Tron, інакше merchant_network_disabled.

Гаманець Invoise існує в мережах EVM. Магазин, створений із ціллю виплат wallet, надсилає туди й свої платежі Solana: Invoise перекидає їх у гаманець через міст у мережу EVM. Коли перекидання неможливе, виставлення рахунку в Solana повертає 400 solana_bridge_unavailable. GET /merchants/{merchant_id}/networks показує wallet_bridge: true для мережі Solana, яка може перекидати кошти.

Платежі Tron не потрапляють у гаманець. Вибір гаманця для Tron відхиляється, поки міст Tron не готовий, а виставлення рахунку в Tron для магазину, чиї виплати Tron ідуть у гаманець, повертає 400 tron_bridge_unavailable. Тримайте Tron на власній адресі.

Оберіть за родиною мереж через PATCH /shops/{shop_id}: solana_payout_target і tron_payout_target приймають address або wallet. Див. довідник API.