API кошелек - это сервис предоставляющий возможность получать и отправлять платежи с помощью API вызовов. Средства на кошельке полностью контролируются сервисом, мы рекомендуем хранить только оперативный запас для осуществления выплат. Для крупных сумм и долгосрочного хранения криптовалют используйте холодные хранилища, полностью контролируемые вами.
Сервис кошельков может использоваться для приема платежей, по аналогии с сервисом форвардинга платежей. Отличия заключается в том что пересылка средств не происходит а при поступлении платежа на сгенерированный адрес происходит пополнение баланса кошелька.
Каждый кошелек может иметь неограниченное число адресов для пополнения, что позволяет использовать один кошелек для всего множества адресов выдаваемых для пользователей. Адреса имеют неограниченный период действия. Каждый адрес может иметь индивидуальную ссылку для уведомления о поступивших платежах либо использовать общую ссылку заданную для кошелька в случае если индивидуальный линк колбека не указан.
При создании кошелька рекомендуется задавать пароль и использовать его для HMAC подписи вызовов.
Для всех поддерживаемых криптовалют API доступны для Mainnet, Testnet и сети Tor. Для тестнет сетей доступны раздачи тестовых монет, а так же экcплореры.
Mainnet URL: https://api.bitaps.com/{currency}/v1/Для API действуют ограничения запросов по IP адресам. Стандартный лимит 60 запросов в течении 5 секунд для одного IP адреса. Если вам требуется большее число запросов, то вам необходимо приобрести API токен. По вопросам получения API токена обращайтесь support@bitaps.com. В случае превышения лимита в ответ на запрос отдается страница со статусом 429 to many requests. При получении ошибки следует дождаться восстановления временного лимита, в противном случае IP адрес будет заблокирован на 3 минуты. Текущее состояние по лимитам можно посмотреть в заголовках ответа Ratelimit-Remaining и Ratelimit-Reset.
Сервис удерживает фиксированную комиссию с каждого поступившего либо отправленного платежа. Комиссия майнеров оплачиваемая при отправке платежа включена в сервисный сбор.
Размеры комиссий:
Валюта | Комиссия | Дополнительный получатель | Мин. Сумма Транзакции |
---|---|---|---|
Bitcoin incoming | 0.00005 BTC | > 0.00000546 BTC + Service fee | |
Bitcoin outgoing (mempool fee rate < 75 s/vByte) | 0.00045 BTC | 0.00001 BTC | |
Bitcoin outgoing (mempool fee rate < 160 s/vByte) | 0.00045 BTC | 0.00001 BTC | |
Bitcoin outgoing ( mempool fee rate > 160 s/vByte) | 0.00060 BTC | 0.00001 BTC | |
Bitcoin cash | 0.0004 BCH | 0.00003 BCH | > 0.00000546 BCH + Service fee |
Ethereum | 0.004 ETH | > 0.001 ETH + Service fee | |
Litecoin | 0.0004 LTC | 0.00003 LTC | > 0.00000546 LTC + Service fee |
При создании кошелька рекомендуется указать пароль, с помощью которого все запросы на операции с кошельком будут подписываться с помощью HMAC. Опционально может быть указана ссылка для уведомлений о входящих/исходящих платежах.
Вызов возвращает идентификатор созданого кошелька. Пример идентификатора созданного кошелька: BTCv5QsMiXRDeNjx7RSWyQAdLS4wxniJ6L57rBaSWqBW4tW3fTPmt. В случае если при создании кошелька был задан пароль API вызовы для такого кошелька должны быть подписаны с помощью HMAC подписи. Если пароль кошлеька задан не был, обращаем ваше внимание на то что вам следует держать идентификатор кошелька в секрете, использование кошелька не защищенного паролем крайне не рекомендуется.
Cоздании HMAC подписи:
key = double_sha256(wallet_id + password)
msg = wallet_id + nonce
HMAC_signature = HMAC(key, msg)
Nonce и HMAC_signature должны передаваться в заголовках запроса.
Access-Nonce: nonce
Access-Signature: HMAC_signature
Создание платежного адрес для кошелька. Опционально может быть указан индивидуальный колбек линк для адреса. В случае если линк не указан будет использоваться колбек указанный для кошелька. Если для кошелька также указан не был, уведомления отправляться не будут.
Пример обработчика уведомлений платежа с описанием входящих POST параметров. Уведомления о платеже поступают при наступлении следующих событий:
К примеру, если создан платежный адрес с 2 подтверждениями, то он получит следующие уведомления: unconfirmed, pending [1/2], confirmed.
Логика обработки уведомлений о платеже должна соответствовать следующей схеме. Каждому платежному адресу соответствует подтвержденный и неподтвержденный баланс. N - количество необходимых подтверждений.
Обработка поступающих уведомлений:
Платежные уведомления имеют логику защиты от сбоя. В качестве подтверждения того, что уведомление получено, сервис ожидает получить ответ в виде кода invoice в теле ответа на каждый http запрос.
В случае отсутствия корректного ответа, уведомления будут поступать повторно с каждым новом блоком в течении 24 часов. IP адреса, с которых поступают уведомления, доступны через dns запрос к доменному имени callback.bitaps.com. При не успешном ответе повторные попытки осуществляются с разных IP адресов. Для прекращения отсылки уведомлений достаточно корректного ответа на любое уведомление с количеством подтверждений платежа больше либо равным заданному значению при генерации платежного адреса.
TorПоддерживаются уведомления в сети Tor
Логи ответов обработчика уведомлений о платежах для платежного адреса. Для получения данных необходима авторизация через заголовок Payment-Code или Access-Token.
Логи ответов обработчика уведомлений о платежах по хешу транзакции и номеру выхода платежа. Для получения данных необходима авторизация через заголовок Payment-Code или Access-Token.