Часто задаваемые вопросы
Документация API
Для создания счета необходимо сделать POST-запрос на URL:
В хедере запроса необходимо передать ваш API-ключ:
X-API-KEY: xxxx
В теле запроса необходимо передать:
{
"payment_currencies": ["BTC"], // список криптовалюты, в которой возможен прием платежей, возможные значения: BTC, ETH, USDT, USDC, TRX, ATOM, AVAX
"currency": "USDT", // валюта счета, возможные значения: BTC, ETH, USDT, USDC, TRX, ATOM, AVAX, RUB.R
"amount": 100, // сумма счета
"description": "покупка ноутбука модель Acer..", // описание счета
"language": "ru" // язык счета, который получит ваш клиент — "ru"| "en", default -"ru"
"header": "Фирма"', // заголовок счета (название организации, которая выставила счет)
"payer": "John Doe", // кому выставлен счет
"is_convert_payments": false, // конвертировать поступившие средства в рубли или оставить в крипте
"data": {}, // любые данные в формате json (они потом будут отправлены в ответ в вебхук запросе)
"sign": "requestsign", // подпись запроса вычисляется как (hmac(currency + amount + header + description, api_key, sha256))
}
При успешном создании мы отправим вам в ответ :
{
"result": "success",
"id": "1izt8r3YNoZ6kgwewB3xCB",
"link": "https://app.bitbanker.org/external/invoice/1izt8r3YNoZ6kgwewB3xCB",
"addresses": {
"BTC": "1JxiDZYqFReWStvRy8tAm3LLFY9BaGrHZp"
}
}
Можно также настроить вебхук на ваше API, чтобы узнавать об успешной оплате платежа. Для этого пришлите нам URL полной оплаты счета, на который мы сможем сделать POST-запрос в формате:
{
"payed": true,
"id": "123456qwerty",
"amount": 5000,
"currency": "RUB",
"payed_amount": 5000,
"transactions": [
{
"tx_id": "sfsertert23425345342345345",
"amount": 0.00015,
"fee": 0.0000000025,
"currency": "BTC"
}
],
"data": {},
"sign": "requestsign", // подпись запроса вычисляется как (hmac(currency + amount + header + description, api_key, sha256))
"sign_2": "webhooksign", // подпись запроса вычисляется как (hmac(currency + amount + header + description, api_secret, sha256))
}
Для получения информации о счете необходимо сделать GET-запрос на URL:
В headers (хедерах) необходимо передать:
X-API-KEY:"eGvBwIyn-Lwm6Yr4r-08UYI8DazyaR9t", // ваш API-KEY
В params (параметрах) необходимо передать:
id:"1YvVWI08GbDUb4D27LRp4n", // где id — это идентификатор счета, о котором вы хотите получить информацию
Вы можете выставлять счет только в определенных сетях, если эти сети подключены для пополнения счета в Bitbanker. Проверить актуальные сети можно в разделе «Пополнение и вывод».
ключ:// значение
"payment_chains": ["bsc", "tron", "eth", "avax", "ton"]
Пример
Python
import requests
import hmac
import hashlib
def main():
url = "https://api.aws.bitbanker.org/latest/api/v1/invoices"
api_key = "<your_api_key>"
# Invoice data
currency = "USDT"
amount = 100
header = "Company"
description = "Buying a laptop model Acer..."
sign_data = f"{currency}{amount}{header}{description}"
# Generate request signature
signature = hmac.new(api_key.encode(), sign_data.encode(), hashlib.sha256).hexdigest()
payload = {
"payment_currencies": ["BTC"],
"currency": currency,
"amount": amount,
"description": description,
"language": "en",
"header": header,
"payer": "John Doe",
"is_convert_payments": False,
"data": {"order_id": 12345},
"sign": signature
}
# Headers
headers = {
"X-API-KEY": api_key,
"Content-Type": "application/json"
}
# Send POST request
response = requests.post(url, json=payload, headers=headers)
# Print the response
print("Status Code:", response.status_code)
print("Response JSON:", response.json())
if __name__=='__main__':
main()
Bash
api_key="<your_api_key>"
currency="USDT"
amount=100
header="Company"
description="Buying a laptop model Acer..."
sign=$(echo -n "$currency$amount$header$description" | openssl dgst -sha256 -hmac "$api_key" | awk '{print $2}')
curl -X POST "https://api.aws.bitbanker.org/latest/api/v1/invoices" \
-H "X-API-KEY: $api_key" \
-H "Content-Type: application/json" \
-d '{
"payment_currencies": ["BTC"],
"currency": "'"$currency"'",
"amount": '"$amount"',
"description": "'"$description"'",
"language": "en",
"header": "'"$header"'",
"payer": "John Doe",
"is_convert_payments": false,
"data": {
"order_id": 12345
},
"sign": "'"$sign"'"
}'
JavaScript
const crypto = require("crypto");
async function createInvoice() {
const url = "https://api.aws.bitbanker.org/latest/api/v1/invoices";
const apiKey = "<your_api_key>";
// Invoice data
const currency = "USDT";
const amount = 100;
const header = "Company";
const description = "Buying a laptop model Acer...";
const signData = `${currency}${amount}${header}${description}`;
// Generate request signature
const signature = crypto
.createHmac("sha256", apiKey)
.update(signData)
.digest("hex");
const payload = {
payment_currencies: ["BTC"],
currency: currency,
amount: amount,
description: description,
language: "en",
header: header,
payer: "John Doe",
is_convert_payments: false,
data: { order_id: 12345 },
sign: signature,
};
const headers = {
"X-API-KEY": apiKey,
"Content-Type": "application/json",
};
try {
const response = await fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload),
});
const responseData = await response.json();
console.log("Status Code:", response.status);
console.log("Response JSON:", responseData);
} catch (error) {
console.error("Error:", error);
}
}
createInvoice();