API — общий обзор

Это краткий обзор. Полная документация, тестовые ключи и примеры откроются в кабинете после заключения договора.

Как это работает

  1. Ваш сервер payments/create создаёт платёж и получает payment_url .
  2. Покупатель открывает ссылку (или сканирует QR на кассе) и платит через Click, Payme, Alif или Paynet.
  3. Как только платёж прошёл, SM PAY отправляет на ваш сервер подписанный webhook — по нему вы закрываете заказ.
  4. Деньги поступают на баланс и через 24 часа выводятся на вашу карту.

Основные адреса

Все запросы отправляются на https://api.smpay.uz в формате JSON.

POST /api/v1/payments/create Создание платежа — возвращает ссылку, данные QR и код оплаты
GET /api/v1/payments/{reference} Получить статус платежа
POST /api/v1/payments/cancel Отменить неоплаченный платёж
POST /api/v1/payments/refund Вернуть деньги покупателю
GET /api/v1/balance Баланс: в ожидании и доступно к выводу
GET /api/v1/payouts История запросов на вывод

Безопасность

  • Каждый запрос подписывается заголовками X-API-Key, X-Timestamp, X-Nonce va X-Signature (HMAC-SHA256).
  • Один nonce не принимается дважды, устаревший timestamp отклоняется — перехваченный запрос нельзя повторить.
  • Ключ можно ограничить по IP-адресам, test и live ключи используются раздельно.
  • Webhook-уведомления тоже подписываются — вы проверяете их перед приёмом.

Пример

# To'lov yaratish
POST https://api.smpay.uz/api/v1/payments/create
{
  "amount": 125000,
  "external_order_id": "2148",
  "description": "Buyurtma #2148",
  "return_url": "https://dokoningiz.uz/buyurtma/2148"
}

Точный состав строки подписи, формат webhook, коды ошибок и готовые примеры на PHP — в разделе «Документация API» в кабинете.

Чтобы получить ключи

Подайте заявку — после одобрения вы сами создадите test и live ключи в кабинете.

Подать заявку