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 вищий, ніж в інших мережах.
Задайте отримувача
Section titled “Задайте отримувача”Магазину потрібен отримувач Solana або Tron, перш ніж він зможе виставляти рахунки в цій мережі. Без нього створення рахунку або депозиту повертає 400 solana_setup_required або 400 tron_setup_required.
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
Section titled “Оплата в гаманець Invoise”Гаманець 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.