API — umumiy tanishuv

Bu qisqa tanishuv. To'liq hujjat, test kalitlari va namunalar shartnoma tuzilgach kabinetingizda ochiladi.

Ishlash tartibi

  1. Serveringiz payments/create orqali to'lov yaratadi va payment_url oladi.
  2. Xaridor havolani ochadi (yoki kassadagi QR ni skanerlaydi) va Click, Payme, Alif yoki Paynet orqali to'laydi.
  3. To'lov o'tishi bilan SM PAY serveringizga imzolangan webhook yuboradi — buyurtmani shu xabar bo'yicha yopasiz.
  4. Pul balansingizga tushadi va 24 soatdan keyin kartangizga yechib olinadi.

Asosiy manzillar

Barcha so'rovlar https://api.smpay.uz ga, JSON formatida yuboriladi.

POST /api/v1/payments/create To'lov yaratish — havola, QR ma'lumoti va to'lov kodi qaytadi
GET /api/v1/payments/{reference} To'lov holatini olish
POST /api/v1/payments/cancel To'lanmagan to'lovni bekor qilish
POST /api/v1/payments/refund Xaridorga pulni qaytarish
GET /api/v1/balance Balans: kutilmoqda va yechish mumkin
GET /api/v1/payouts Pul yechish so'rovlari tarixi

Xavfsizlik

  • Har bir so'rov X-API-Key, X-Timestamp, X-Nonce va X-Signature (HMAC-SHA256) headerlari bilan imzolanadi.
  • Bir nonce ikki marta qabul qilinmaydi, eski timestamp rad etiladi — so'rovni ushlab qayta yuborib bo'lmaydi.
  • Kalitni IP manzillar bilan cheklash, test va live kalitlarini alohida ishlatish mumkin.
  • Webhook xabarlari ham imzolanadi — ularni tekshirib qabul qilasiz.

Namuna

# 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"
}

Imzo satrining aniq tarkibi, webhook formati, xato kodlari va tayyor PHP namunalari — kabinetdagi «API hujjatlari» bo'limida.

Kalitlarni olish uchun

Ariza bering — tasdiqlangach kabinetda test va live kalitlarini o'zingiz yaratasiz.

Ariza berish