Быстрый старт
Быстрый старт
От нуля до первого доставленного заказа за 5 минут.
Шаг 1. Получите ключ и депозит
- Откройте нашего бота → кнопка «🔌 API».
- «🔑 API-ключ» → «Выпустить ключ».
- «💳 Пополнить депозит» → выберите способ оплаты и сумму.
API-ключ показывается только один раз. Сразу сохраните его в надёжном месте.
Шаг 2. Проверьте баланс и цены
curl -H "Authorization: Bearer $KEY" \
https://hexpay.live/api/reseller/balance
# {"success": true, "balance_nano": 500000, "balance_rub": 500.0}
curl -H "Authorization: Bearer $KEY" \
https://hexpay.live/api/reseller/productsШаг 3. Посмотрите каталог нужного товара
Для подарков, нейросетей и игр получите доступные позиции перед созданием заказа:
curl -H "Authorization: Bearer $KEY" \
https://hexpay.live/api/reseller/gifts
curl -H "Authorization: Bearer $KEY" \
https://hexpay.live/api/reseller/neural
curl -H "Authorization: Bearer $KEY" \
https://hexpay.live/api/reseller/games
curl -H "Authorization: Bearer $KEY" \
"https://hexpay.live/api/reseller/games?game=<key>"
curl -H "Authorization: Bearer $KEY" \
"https://hexpay.live/api/reseller/games?game=<key>®ion=<code>"Третий запрос для игр — с game и region — возвращает готовый product_ref, оптовую цену, способ доставки (delivery) и обязательные fields для пополнения.
Шаг 4. Закажите (двухфазно: create → pay)
Заказ создаётся в два шага: сначала фиксируете цену (create), затем списываете депозит (pay).
custom_id придумываете вы (UUID) — это ключ идемпотентности.
Используйте новый
custom_idдля каждого заказа. Повторныйcreateилиpayс тем же значением не создаст новый заказ и не спишет депозит повторно.
# 3.1 — создать заказ (цену зафиксировали, депозит НЕ списан)
curl -X POST https://hexpay.live/api/reseller/order/create \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"custom_id":"my-order-0001","product":"stars","recipient_username":"durov","quantity":100}'
# {"success":true,"custom_id":"my-order-0001","status":"created","total_to_pay_rub":131.68}
# 3.2 — оплатить (списать депозит, поставить в доставку)
curl -X POST https://hexpay.live/api/reseller/order/pay \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"custom_id":"my-order-0001"}'
# {"success":true,"custom_id":"my-order-0001","status":"pending","price_charged_rub":131.68}Шаг 5. Дождитесь доставки (polling)
Доставка асинхронная — опрашивайте статус до delivered или failed:
curl -H "Authorization: Bearer $KEY" \
https://hexpay.live/api/reseller/order/my-order-0001
# {"success":true,"status":"delivered","delivered_payload":{"tx_hash":"..."}, ...}Полный сценарий на Python
import requests, uuid, time
BASE = "https://hexpay.live"
KEY = "ВАШ_КЛЮЧ"
H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
# баланс
print(requests.get(f"{BASE}/api/reseller/balance", headers=H).json())
custom_id = str(uuid.uuid4())
# create → pay
r = requests.post(f"{BASE}/api/reseller/order/create", headers=H, json={
"custom_id": custom_id, "product": "stars",
"recipient_username": "durov", "quantity": 100,
}).json()
print("create:", r)
r = requests.post(f"{BASE}/api/reseller/order/pay", headers=H,
json={"custom_id": custom_id}).json()
print("pay:", r)
# polling
while True:
o = requests.get(f"{BASE}/api/reseller/order/{custom_id}", headers=H).json()
print("status:", o["status"])
if o["status"] in ("delivered", "failed"):
print("payload:", o.get("delivered_payload"), "error:", o.get("error_message"))
break
time.sleep(3)Не хотите поллить? Укажите
callback_urlвcreate— пришлём вебхук о доставке. Вебхук не заменяет polling: источником истины остаётсяGET /order/{custom_id}.
Updated 6 days ago
