Сети и токены
Перед созданием инвойса или депозита выберите сеть и токен из API. Одного названия токена недостаточно: нужен его адрес в выбранной сети.
Получите доступные сети
Заголовок раздела «Получите доступные сети»curl 'https://platform.invoise.me/api/v1/networks'В ответе вам нужны:
| Поле | Назначение |
|---|---|
chain_id |
ID сети. |
family |
solana или tron для этих сетей; у EVM-сетей поля нет или оно равно evm. |
tokens[].address |
адрес токена: контракт в EVM и Tron, mint в Solana. |
tokens[].decimals |
число знаков после запятой. |
tokens[].status |
готовность токена, если поле есть. Для реальных платежей используйте ready. |
minimum_payment |
наименьшая сумма инвойса в этой сети, в целых токенах. |
Публичный каталог описывает настроенные сети. У мерчанта может быть включена только часть из них: при настройке проверьте GET /api/v1/merchants/{merchant_id}/networks с токеном сессии. API отклонит создание инвойса или депозита, если сеть или токен недоступны.
Для Solana и Tron до первого инвойса у магазина нужно задать получателя. См. Solana и Tron.
Набор сетей и токенов меняется через настройки платформы. Получайте доступность, адреса и decimals из API при выборе актива; не храните собственный фиксированный список.
Минимальный платёж
Заголовок раздела «Минимальный платёж»minimum_payment — целое число токенов, например "1". Инвойс меньше этой суммы вернёт 400 amount_below_minimum. Поле есть в обоих списках сетей. Значение отличается между сетями и может меняться, поэтому читайте его из API, а не храните в коде.
Укажите сумму
Заголовок раздела «Укажите сумму»Сумма инвойса — строка с целым числом в минимальных единицах токена:
| Знаков у токена | 10 токенов в запросе |
|---|---|
| 6 | "10000000" |
| 18 | "10000000000000000000" |
Не отправляйте "10.5". При 6 знаках 10,5 токена — это "10500000". Для расчётов используйте целые числа (BigInt в JavaScript): обычные числа с плавающей точкой могут терять точность.
Исключение — инвойс с несколькими токенами или сетями: ему передают десятичную сумму в токенах, например "10.5". См. несколько токенов или сетей.
Получите комиссию и порог пейаута
Заголовок раздела «Получите комиссию и порог пейаута»curl 'https://platform.invoise.me/api/v1/shops/{shop_id}/terms' \ -H 'Authorization: Bearer ivk_...'Ответ содержит условия по каждой сети:
| Поле | Назначение |
|---|---|
invoice и deposit |
комиссия: bps, minimum, maximum. |
sweep_threshold |
сколько нужно накопить на депозитном адресе перед пейаутом. |
minimum_sweep и maximum_sweep |
указанный API диапазон этого параметра. |
bps — сотые доли процента: 50 bps = 0,5%. minimum и maximum комиссии выражены в единицах с восемнадцатью знаками независимо от токена: 10000000000000000 означает комиссию 0,01 токена. sweep_threshold — обычная сумма в токенах, например "1".
Максимальная комиссия — не максимальная сумма платежа. Не смешивайте её с суммой инвойса и порогом пейаута депозитов.