NAV
shell python javascript

Changelog

2022-12-12

FAQ

Что такое AlfaBit.Pay?

Как работает AlfaBit.Pay?

Как долго обрабатывается транзакция?

Что такое хэш транзакции?

Можно ли в одном аккаунте создавать несколько мерчантов?

Термины и сокращения

API ключ — случайная хэшированная строка для авторизации пользователя в API согласно стандарту Alpha Numeric 256-bit API Key.

API: Application Programming Interface — набор готовых методов, предоставляемых приложением (системой) для использования во внешних программных продуктах.

REST: Representational State Transfer — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.

JSON: JavaScript Object Notation — текстовый формат обмена данными, основанный на JavaScript RFC 7159.

Asset — цифровой актив на блокчейне.

Merchant — проект пользователя с адресами постоянных кошельков.

Начало работы

Чтобы начать работу с AlfaBit.Pay, выполните следующие шаги.

Шаг 1. Получите доступ к личному кабинету

Регистрация не займёт много времени, помните о безопасности и всегда используйте двухфаторную аутентификацию!

Шаг 2. Создайте мерчанта

После того как Вы вошли в личный кабинет, нажмите на кнопку "Создать мерчант" и задайте название мерчанту.

Шаг 3. Выпустите ключ доступа к API

Ключ доступа к API используется для взаимодействия с API. Выпустите ключ API в Личном кабинете в разделе Настройки.

Шаг 4. Начинайте взаимодействие с API

Теперь Вам доступен весь фукнционал API AlfaBit.Pay, изучите документацию и начинайте интеграцию.

Формат взаимодействия

URL-адрес для вызова API:

https://pay.alfabit.org

Имеется 2 группы роутов:

Аутентификация запросов

Роут /api доступен с использованием apikey

apikey создается в личном кабинете (вкладка settings), для прикрепления apikey к запросу можно использовать GET или body поле apikey, или headers поле x-access-apikey

Для авторизации используйте этот код:

import requests

response = requests.request("method", 
                            "api_endpoint_here", 
                            headers={
                              "x-access-apikey": "your_api_key"
                            })

или 

response = requests.request("method", 
                            "api_endpoint_here?apikey=your_api_key"
                            )

# With shell, you can just pass the correct header with each request
curl -X POST "api_endpoint_here" \
     -H "x-access-apikey": "your_api_key"

или

curl "api_endpoint_here?apikey=your_api_key"

Замените your_api_key своим API key.

x-access-apikey: your_api_key

Api public (не требует apikey)

Получить актуальные полезные данные для построения запросов

import requests

response = requests.get("https://pay.alfabit.org/public/getInfo")
curl "https://pay.alfabit.org/public/getInfo"

Пример ответа:

{
    "success": true,
    "result": {
        "isServiceEnabled": true,
        "bchList": [
            "BTCTEST",
            "ETH"
            ...
        ],
        "lastBlocksNumbers": {
            "BTCTEST": 2226018,
            "ETH": 14800211
            ...
        },
        "nativeUsdPrices": {
            "BTCTEST": 29012.46,
            "ETH": 1960
            ...
        },
        "gasPrices": {
            "BTCTEST": 1.375,
            "ETH": 65803004938,
           ...
        }
        "confirmations": {
            "BTCTEST": 2,
            "ETH": 5,
           ...
        }
    }
}

Эндпоинт предназначен для получения полезных данных для построения запросов

HTTP Request

GET

https://pay.alfabit.org/public/getInfo

Получить список доступных ассетов

import requests

response = requests.get("https://pay.alfabit.org/public/getAssetsList")
curl "https://pay.alfabit.org/public/getAssetsList"

Пример ответа:

{
    "success": true,
    "result": [
        {
            "address": "native",
            "symbol": "ETH",
            "decimals": 18,
            "code": "ETH",
            "isNative": true,
            "changePrice24Percent": 1.417,
            "netFeeButch": 0.00055,
            "netFeeOne": 0.00055,
            "minDeposit": 0.001,
            "chainId": 1,
            "imgUrl": "https://ru.brokers.best/upload/images/2021/01/756589c78caf5bc7b8857d68839f21de.png",
            "price": 1218.57,
            "name": "Ethereum",
            "bchFullName": "Ethereum",
            "bchCode": "ETH",
            "chainIcon": "https://ru.brokers.best/upload/images/2021/01/756589c78caf5bc7b8857d68839f21de.png"
        },
        {
            "chainId": 1,
            "address": "0x111111111117dC0aa78b770fA6A738034120C302",
            "name": "1inch",
            "symbol": "1INCH",
            "decimals": 18,
            "logoURI": "https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028",
            "extensions": {
                "bridgeInfo": {
                    "137": {
                        "tokenAddress": "0x9c2C5fd7b07E95EE044DDeba0E97a665F142394f"
                    },
                    "42161": {
                        "tokenAddress": "0x6314C31A7a1652cE482cffe247E9CB7c3f4BB9aF"
                    }
                }
            },
            "isNative": false,
            "code": "1INCH-ETH",
            "imgUrl": "https://assets.coingecko.com/coins/images/13469/thumb/1inch-token.png?1608803028",
            "bchCode": "ETH",
            "changePrice24Percent": 2.792,
            "bchFullName": "Ethereum",
            "chainIcon": "https://ru.brokers.best/upload/images/2021/01/756589c78caf5bc7b8857d68839f21de.png",
            "price": 0.405,
            "netFeeOne": 4.5,
            "netFeeButch": 2.5,
            "minDeposit": 9
        },
        ...
    ]
}

Эндпоинт предназначен для получения списка доступных ассетов

HTTP Request

GET

https://pay.alfabit.org/public/getAssetsList

Получить транзакцию по uid

import requests

response = requests.get("https://pay.alfabit.org/public/getTransactionByUid?uid=ac9e5296-c4b6-4620-9f91-7d6b15d9a94d")
curl "https://pay.alfabit.org/public/getTransactionByUid?uid=ac9e5296-c4b6-4620-9f91-7d6b15d9a94d"

Пример ответа:

{
  "success": true,
  "result": {
    "tx": {
      "id": 2668,
      "uid": "d371ce82-16b7-420d-8fbc-e585773816d6",
      "address": "0xf7f0ab639745c717fdc5ad7d66309cc32d3c6059",
      "time": 1672222736,
      "payDeadline": 1672224536,
      "status": "waitDeposit",
      "amount": 0,
      "netFee": 0,
      "serviceFee": 0,
      "amountUsdEq": 0,
      "type": "payment",
      "bchCode": "AVAXC",
      "tokenCode": "AVAX",
      "cbUrl": "",
      "isDone": false,
      "isPayRecovered": false,
      "comment": "order_id_2638273",
      "publicComment": "Coffe",
      "isUseCb": false,
      "warn": "",
      "isNative": true,
      "txHashIn": "",
      "txHashSent": "",
      "apiMode": "ui",
      "wdSender": null,
      "actorAddress": "",
      "MerchantId": 3
    },
    "merchantName": "RomanBlockchain"
  }
}

Эндпоинт предназначен для получения транзакции по uid

HTTP Request

GET

https://pay.alfabit.org/public/getTransactionByUid?uid=ac9e5296-c4b6-4620-9f91-7d6b15d9a94d

Параметры

Параметр Обязательный Описание
uid да uid транзакции

Api (обязательно apikey)

Получить данные мерчанта

import requests

response = requests.get("https://pay.alfabit.org/api/getMerchant?apikey=your_api_key")
curl "https://pay.alfabit.org/api/getMerchant?apikey=your_api_key" 

Пример ответа:

{
    "success": true,
    "result": {
        "id": 1,
        "uid": "4e093318-8e78-402a-95fb-55fa1c80e940",
        "login": "Test merch",
        "tarif": {
            "code": "starter",
            "payFee": 0.5,
            "maxCountAssetsAddresses": 5
        },
        "mainInternalAddresses": {
            "BNB": "0x8AdC89657badbF6961A0F92CD0595E837a4D2652",
            "BTC": "bc1qs5p3fn26rntdfngwxp36zygmpfp65vxpw3mtu8",
            "ETH": "0x1ED716357247638e524f9E1B49a4a5BFc425fD4f",
            "TRX": "TAK6uYjznVsQ5iNpjdeYYhcUanBWqYJWG9",
            "XRP-BSC": "0x5D28e67EaFa32e6D81386938264E29c154B322ab",
            "BUSD-BSC": "0x9eE32f453A96027277af2ea498FE23d44820bDA8",
            "USDC-ETH": "0xea2D1e73C9A2426eC8CdF7a3f9e3cb2fC20713a9",
            "USDT-BSC": "0x61bdCCC4fd31493C8D7da567a8ea7B4CeEFB6439",
            "USDT-ETH": "0x07AF7Cc1Af9bdac93bfCAF82760601Fc6e372632",
            "USDT-TRX": "TS32fXKbqSRgadFwgcpm9kxTd2kZ7mUufJ"
        },
        "assetsList": [
            "BTC",
            "ETH",
            "BNB",
            "USDT-ETH",
            "USDT-BSC",
            "USDC-ETH",
            "BUSD-BSC",
            "TRX",
            "USDT-TRX",
            "XRP-BSC"
        ],
        "time": 1671300774,
        "assetsSettings": {},
        "secretKey": "",
        "settings": {
            "defaultCb": {}
        },
        "UserId": 1,
        "isSingle0xWallet": null
    }
}

Эндпоинт предназначен для получения данных мерчанта

HTTP Request

GET

https://pay.alfabit.org/api/getMerchant?apikey=your_api_key

Параметры

Параметр Обязательный Описание
apikey да API ключ

Получить суммарные балансы мерчанта по всем кошелькам

import requests

response = requests.get("https://pay.alfabit.org/api/getMerchantBalances?apikey=your_api_key")
curl "https://pay.alfabit.org/api/user/getMerchantBalances?apikey=your_api_key"

Пример ответа:

{
  "success": true,
    "result": {
        "BTC": {
          "balance": 1.4,
          "pendingWithdraw": 0,
          "pendingPayment": 0
        },
        ...
  }
}

Эндпоинт предназначен для получения суммарных балансов мерчанта по всем кошелькам

HTTP Request

GET

https://pay.alfabit.org/api/user/getMerchantBalances?apikey=your_api_key

Параметры

Параметр Обязательный Описание
apikey да API ключ

Получить пендинги ассетов всех мерчантов

import requests

response = requests.get("https://pay.alfabit.org/api/getMerchantPendings?apikey=your_api_key")
curl "https://pay.alfabit.org/api/user/getMerchantPendings?apikey=your_api_key"

Пример ответа:

{
  "success": true,
    "result":{
          "merchId": 1,
          "assetsPendingsPayments": {"USDT": 230},
          "assetsPendingsWithdraws": {"ETH": 1.3},
          "addressPendingsWithdraws": {"BTC": {"BTC-ETH": 0.3 }},
        ...
  }
}

Эндпоинт предназначен для получения пендингов ассетов всех мерчантов

HTTP Request

GET

https://pay.alfabit.org/api/user/getMerchantPendings?apikey=your_api_key

Параметры

Параметр Обязательный Описание
apikey да API ключ

Получить настройки ассетов

import requests

response = requests.get("https://pay.alfabit.org/api/getAssetsSettings?apikey=your_api_key")
curl "https://pay.alfabit.org/api/getAssetsSettings?apikey=your_api_key" 

Пример ответа:

{
  "success": true,
  "result": {
    "USDT-MATIC": {
      "sendMode": "immediately",
      "isUseExternal": true,
      "lifeTimeMinutes": 5,
      "delayBatchWdsMinutes": 10,
      "externalAddress": "0xcda54",
      "externalAddressXrpTag": null
    },
    "DAI-ETH": {
      "sendMode": "immediately",
      "isUseExternal": true,
      "lifeTimeMinutes": 15,
      "delayBatchWdsMinutes": 0,
      "externalAddress": "0xcda54",
      "externalAddressXrpTag": null
    }
  }
}

Эндпоинт предназначен для получения данных мерчанта

HTTP Request

GET

https://pay.alfabit.org/api/getAssetsSettings?apikey=your_api_key

Параметры

Параметр Обязательный Описание
apikey да API ключ
merchUid да uid мерчанта

Получить кошельки с балансами и пендингами мерчанта

import requests

response = requests.get("https://pay.alfabit.org/api/getMerchantWallets?apikey=your_api_key")
curl "https://pay.alfabit.org/api/getMerchantWallets?apikey=your_api_key"

Пример ответа:

{
    "success": true,
    "result": {
        "BTC": [
            {
                "id": 1,
                "uid": "ac9e5296-c4b6-4620-9f91-7d6b15d9a94d",
                "assetCode": "BTC",
                "address": "bc1qs5p3fn26rntdfngwxp36zygmpfp65vxpw3mtu8",
                "balance": 0,
                "name": "",
                "isVisible": true,
                "pendingWd": 0
            }
        ],
        "ETH": [
            {
                "id": 2,
                "uid": "bdf7fcb1-bb3d-45a0-abd2-f94963308f41",
                "assetCode": "ETH",
                "address": "0x1ED716357247638e524f9E1B49a4a5BFc425fD4f",
                "balance": 0,
                "name": "",
                "isVisible": true,
                "pendingWd": 0
            }
        ],
            ....

Эндпоинт предназначен для получения кошельков с балансами и пендингами мерчанта

HTTP Request

GET

https://pay.alfabit.org/api/getMerchantWallets?apikey=your_api_key

Параметры

Параметр Обязательный Описание
apikey да API ключ

Получть транзакции юзера по фильтрам

import requests

response = requests.get("https://pay.alfabit.org/api/getTransactions?apikey=your_api_key")
curl "https://pay.alfabit.org/api/getTransactions?apikey=your_api_key"

Пример ответа:

{
    "success": true,
    "result": {
        "count": 0,
        "rows": [
            {
                "id": 305,
                "uid": "f53b8c46-ff18-479f-95e0-3773ec9a3c61",
                "address": "tb1qgd3ccuet3z24k5s2y0nx386ru24cycy2k98fw4",
                "time": 1671851626,
                "payDeadline": 0,
                "status": "success",
                "amount": 0.000064875,
                "netFee": 0.000005225000000000001,
                "serviceFee": 0,
                "amountUsdEq": 1.092051255,
                "type": "withdraw",
                "bchCode": "BTCTEST",
                "tokenCode": "BTC-test",
                "cbUrl": "",
                "isDone": true,
                "isPayRecovered": false,
                "comment": "",
                "isUseCb": false,
                "warn": "",
                "error": "",
                "isNative": true,
                "txHashIn": "",
                "txHashSent": "75b87d3334e94ad7a06fff6f2b076faa70f57ab6129fb0e518d519d384bdc37a",
                "timeSent": 0,
                "timeIn": 0,
                "blockNumberIn": 0,
                "blockNumberSent": 0,
                "apiMode": "ui",
                "wdSender": "",
                "actorAddress": "tb1q56luwps0ckwrz6gqxsmdnfa8ssc3yaqekacezu",
            },
          ...
        ]
    }
}

Эндпоинт предназначен для получения транзакций юзера по фильтрам

HTTP Request

GET

https://pay.alfabit.org/api/getTransactions?apikey=your_api_key

Параметры

Параметр Обязательный Описание
apikey да API ключ
offset нет Смещение элементов
limit нет Кол-во элементов на странице
bchCode нет Код блокчейн ('ETH', 'BTC', 'BSC', 'AVAXC', 'MATIC', 'FTM', 'BTCTEST', 'TRX', 'LTC', 'BCH', 'XRP', 'TON)
tokenCode нет Код токена
status нет Статус транзакции ('waitDeposit', 'waitConfirmation', 'fail', 'success', 'pending', 'unknown')
type нет Тип транзакции ('payment', 'deposit', 'withdraw')
searchKey нет ???
uid нет Uid мерчанта
period нет Время в секундах (now - 300, вернет за последние 5 минут)

Создать вывод с внутреннеего адреса

import requests

response = requests.post("https://pay.alfabit.org/api/createWithdraw",
                         headers={"x-access-apikey": "your_api_key"},
                         json={"code": "BTC-TEST",
                               "amount": "some comments",
                               "cbUrl": "https://cb.domain.com?id=2323",
                               "comment": "some comments",
                               "addressTo": "bc1qs2xccfskt5rfz5fhez5vdmwh2dc23lwqanmexg",
                               "memoTag": None,
                               "sender": None})
curl -X POST "https://pay.alfabit.org/api/createWithdraw" \
     -H '{"x-access-apikey": "your_api_key"}' \
     -d '{"code": "BTC-TEST",
          "amount": "some comments",
          "cbUrl": "https://cb.domain.com?id=2323",
          "comment": "some comments",
          "addressTo": "bc1qs2xccfskt5rfz5fhez5vdmwh2dc23lwqanmexg",
          "memoTag": None,
          "sender": None}'

Пример ответа:

{
    "success": true,
    "result":
        {
            "id": 305,
            "uid": "f53b8c46-ff18-479f-95e0-3773ec9a3c61",
            "address": "tb1qgd3ccuet3z24k5s2y0nx386ru24cycy2k98fw4",
            "time": 1671851626,
            "payDeadline": 0,
            "status": "success",
            "amount": 0.000064875,
            "netFee": 0.000005225000000000001,
            "serviceFee": 0,
            "amountUsdEq": 1.092051255,
            "type": "withdraw",
            "bchCode": "BTCTEST",
            "tokenCode": "BTC-test",
            "cbUrl": "",
            "isDone": true,
            "isPayRecovered": false,
            "comment": "",
            "isUseCb": false,
            "warn": "",
            "error": "",
            "isNative": true,
            "txHashIn": "",
            "txHashSent": "75b87d3334e94ad7a06fff6f2b076faa70f57ab6129fb0e518d519d384bdc37a",
            "timeSent": 0,
            "timeIn": 0,
            "blockNumberIn": 0,
            "blockNumberSent": 0,
            "apiMode": "ui",
            "wdSender": "",
            "actorAddress": "tb1q56luwps0ckwrz6gqxsmdnfa8ssc3yaqekacezu",
        },
}

Эндпоинт предназначен для получения платежных заявок юзера

HTTP Request

POST

https://pay.alfabit.org/api/createWithdraw

Параметры

Параметр Обязательный Описание
apikey да API ключ
code да Код валюты
amount да Сумма к отправке
cbUrl нет Callback URL куда отправить ответ
comment нет Комментарии
addressTo да Адрес куда отправить
memoTag нет Мемо тэг
sender нет Отправитель

Создать платёж

import requests

response = requests.post("https://pay.alfabit.org/api/createPayment",
                         headers={"x-access-apikey": "your_api_key"},
                         json={"code": "USDT-ETH",
                               "comment": "some comments",
                               "cbUrl": "https://cb.domain.com?id=2323"})
curl -X POST "https://pay.alfabit.org/api/createPayment" \
     -H '{"x-access-apikey": "your_api_key"}' \
     -d '{"code":"https://test.com/test", 
          "comment": "some comments", 
          "cbUrl": "https://cb.domain.com?id=2323"}'

Эндпоинт предназначен для создания платежа

HTTP Request

POST

https://pay.alfabit.org/api/createPayment

Параметры

Параметр Обязательный Описание
apikey да API ключ
code да Код валюты
comment да Комментарии
cbUrl да Callbakc URL куда сервис отправит ответ, если депозит совершен, будет пытаться переодически, пока не получит code 200 OK

Создать несколько выводов с внутреннего адреса

import requests

response = requests.post("https://pay.alfabit.org/api/bulkCreateWithdaws",
                         headers={"x-access-apikey": "your_api_key"},
                         json=[{"code": "BTC-TEST",
                                 "amount": "0.2",
                                 "cbUrl": "https://cb.domain.com?id=2323",
                                 "comment": "some comments",
                                 "addressTo": "bc1qs3xccfskt5rfz5fhez5vdmwh2dc23lwqanmexg",
                                 "memoTag": null,
                                 "sender": null},
                                {"code": "BTC-TEST",
                                 "amount": "0.1",
                                 "cbUrl": "https://cb.domain.com?id=2323",
                                 "comment": "some comments",
                                 "addressTo": "bc1qs2xccfskt5rfz5fhez5vdmwh2dc23lwqanmexg",
                                 "memoTag": null,
                                 "sender": null}])
curl -x POST "https://pay.alfabit.org/api/bulkCreateWithdaws" \
     -H '{"x-access-apikey": "your_api_key"}' \
     -d '[{"code": "BTC-TEST",
           "amount": "0.2",
           "cbUrl": "https://cb.domain.com?id=2323",
           "comment": "some comments",
           "addressTo": "bc1qs3xccfskt5rfz5fhez5vdmwh2dc23lwqanmexg",
           "memoTag": null,
           "sender": null},
          {"code": "BTC-TEST",
           "amount": "0.1",
           "cbUrl": "https://cb.domain.com?id=2323",
           "comment": "some comments",
           "addressTo": "bc1qs2xccfskt5rfz5fhez5vdmwh2dc23lwqanmexg",
           "memoTag": null,
           "sender": null}]'
{
    "success": true,
    "result": [
          {
                "id": 305,
                "uid": "f53b8c46-ff18-479f-95e0-3773ec9a3c61",
                "address": "tb1qgd3ccuet3z24k5s2y0nx386ru24cycy2k98fw4",
                "time": 1671851626,
                "payDeadline": 0,
                "status": "success",
                "amount": 0.000064875,
                "netFee": 0.000005225000000000001,
                "serviceFee": 0,
                "amountUsdEq": 1.092051255,
                "type": "withdraw",
                "bchCode": "BTCTEST",
                "tokenCode": "BTC-test",
                "cbUrl": "",
                "isDone": true,
                "isPayRecovered": false,
                "comment": "",
                "isUseCb": false,
                "warn": "",
                "error": "",
                "isNative": true,
                "txHashIn": "",
                "txHashSent": "75b87d3334e94ad7a06fff6f2b076faa70f57ab6129fb0e518d519d384bdc37a",
                "timeSent": 0,
                "timeIn": 0,
                "blockNumberIn": 0,
                "blockNumberSent": 0,
                "apiMode": "ui",
                "wdSender": "",
                "actorAddress": "tb1q56luwps0ckwrz6gqxsmdnfa8ssc3yaqekacezu",
          },
        "Invalid recipient address",
{...tx}
    ]
}

Эндпоинт предназначен для создания несколько выводов с внутреннего адреса

HTTP Request

POST

https://pay.alfabit.org/api/bulkCreateWithdaws

Повтор выплаты со статусом Failed

import requests

response = requests.post("https://pay.alfabit.org/api/repeatFailedWithdraw",
                         headers={"x-access-apikey": "your_api_key"},
                         json={"wdUid": "123"})
curl -x POST "https://pay.alfabit.org/api/repeatFailedWithdraw" \
     -H '{"x-access-apikey": "your_api_key"}' \
     -d '{"apikey": "xxxx",
          "wdUid": "123"}'

Пример ответа:

{
    "success": true,
    "result": "Withdraw recovered"
}

Эндпоинт предназначен для повтора выплаты со статусом Failed

HTTP Request

POST

https://pay.alfabit.org/api/repeatFailedWithdraw

Отменить вывод

import requests

response = requests.post("https://pay.alfabit.org/api/cancelWithdraw",
                         headers={"x-access-apikey": "your_api_key"},
                         json={"wdUid": "123"})
curl -x POST "https://pay.alfabit.org/api/cancelWithdraw" \
     -H '{"x-access-apikey": "your_api_key"}' \
     -d '{"wdUid": "123"}'
{
    "success": true,
    "result": "Withdraw canceled"
}

Эндпоинт предназначен для отмены вывода средств

HTTP Request

POST

https://pay.alfabit.org/api/cancelWithdraw

Список bchCode

В AlfaBit.Pay используются следующие блокчейн коды:

ETH, BTC, BSC, AVAXC, MATIC, FTM, BTCTEST, TRX, LTC, BCH, XRP, TON

Статусы

Payment

waitDeposit

Создана заявка и ожидает пополнения

waitConfirmation

Включено в блок, ожидается заданное количество подтверждений

success

Получено необходимое количество подтверждений

Withdraw

pending

Ждёт отправки или добавления в мемпул.

unknown

Неизвестный статус. Требуется вмешательство оператора

canceled

Сброшено через метод cancelWithdraw

fail

Неудача, транзакция не прията чейном

success

Получено необходимое количество подтверждений

Diposit

success

Получено необходимое количество подтверждений

Callback url

Поле cbUrl хранит урл по которому будут производиться оповещения об изменениях статусов заявки на ввод и вывод. Вызывается POST с body:

  {    
      "id": number,
      "comment": string,
      "tokenCode": string,
      "amount": number,
      "txHashSent": string
      "status": string
      "isRecovered": boolean
      "warn": string
      "signature": string,
  }

signature это хеш sha256 в формате hex конкатенации id + comment + tokenCode + amount + status + secretKey, где secretKey это ключ подписи, который можно получить в личном кабинете юзера. Пример nodejs:

import crypto from 'crypto'

const signature = crypto.createHash('sha256').update(id + comment + tokenName + String(amount) + status + (secretKey || '')).digest('hex')

Ошибки

AlfaBit Pay API использует следующие коды ошибок:

Код ошибки Описание
400 Bad Request -- Ваш запрос некорректен
401 Unauthorized -- Ваш API ключ недействителен
403 Forbidden -- Отсутствует доступ для данного эндпоинта
404 Not Found -- Несуществующий запрос
405 Method Not Allowed -- Неверный метод для эндпоинта
429 Too Many Requests -- Слишком много запросов
500 Internal Server Error -- Проблема на стороне сервера. Попробуйте позже
503 Service Unavailable -- Сервер на техническом обслуживании. Попробуйте позже