API — общий обзор
Это краткий обзор. Полная документация, тестовые ключи и примеры откроются в кабинете после заключения договора.
Как это работает
- Ваш сервер
payments/createсоздаёт платёж и получаетpayment_url. - Покупатель открывает ссылку (или сканирует QR на кассе) и платит через Click, Payme, Alif или Paynet.
- Как только платёж прошёл, SM PAY отправляет на ваш сервер подписанный webhook — по нему вы закрываете заказ.
- Деньги поступают на баланс и через 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-NoncevaX-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 ключи в кабинете.