Оптовая цена с депозита, доставка за секунды, идемпотентные заказы. Ключ выдаётся через Telegram, без регистрации и KYC.
API=https://hexpay.live/api/reseller
# 1. фиксируем цену, депозит не тронут
curl -X POST $API/order/create \
-H "Authorization: Bearer $KEY" \
-d '{"custom_id":"a3f1","product":"stars",
"quantity":500,"username":"durov"}'
# 2. списываем депозит и уходим в доставку
curl -X POST $API/order/pay \
-H "Authorization: Bearer $KEY" \
-d '{"custom_id":"a3f1"}'
# {"status":"delivered","charged_rub":"..."}Разделение на фиксацию и оплату снимает классическую проблему: показать цену клиенту и не списать деньги раньше, чем он согласился.
createЦена фиксируется, депозит не списан. Можно показать её клиенту.
payСписываем депозит и ставим заказ в очередь доставки.
deliveredВоркер разбирает очередь каждые 3 секунды и отдаёт товар.
Неоплаченный заказ живёт 30 минут, дальше отменяется сам. Если доставка сорвалась, депозит возвращается автоматически.
/productsкаталог с оптовыми ценами/balanceостаток депозита/check-recipientпроверить получателя до заказа, бесплатно/order/createзафиксировать цену/order/payсписать депозит и доставить/order/{custom_id}статус заказа, источник истины/statsагрегаты и доставки за 30 днейstars, premium_3m / 6m / 12mStars: от 50 до 1 000 000 за заказУникальность заказа держит база, а не наша память. Ретрай при таймауте сети вернёт тот же заказ, а не создаст второй. Это снимает главный страх интеграции с платным API.
Доставка сорвалась, депозит вернулся. Без тикетов и переписки.
HMAC-SHA256 в заголовке X-Signature, три ретрая с бэкоффом. Polling при этом остаётся источником истины.
В базе лежит только sha256-хеш ключа, плейнтекст показывается один раз и ротируется в кабинете. Лимит около 60 запросов в минуту, на превышении приходит 429 с заголовком Retry-After.
Аккаунт создаётся сам при первом входе. Регистрация, документы и KYC не нужны.
Тем же аккаунтом Telegram, что и в боте. Аккаунт создаётся сам — без регистрации и KYC.
Войти в кабинетКабинет также доступен в боте, раздел «API».