Tez boshlash
Token, kartani ulash va birinchi to'lov
1. Kalit oling
Admin panelda Mening biznesim → Kassalar → Kalit chiqarish ni oching. clientId va clientSecret
ni saqlab qo'ying: secret faqat bir marta ko'rsatiladi.
2. Token oling
TOKEN=$(curl -s -X POST https://splitpay-api.buzzi.uz/v1/auth/token \
-H 'content-type: application/json' \
-d '{"clientId":"sp_…","clientSecret":"sk_…"}' | jq -r .data.accessToken)Token bir soat yashaydi. API 401 qaytarsa, yangisini oling va clientSecret ni mijoz kodiga qo'ymang.
3. Kartani ulang
curl -X POST https://splitpay-api.buzzi.uz/v1/cards \
-H "authorization: Bearer $TOKEN" \
-H 'content-type: application/json' \
-d '{
"externalUserId": "user-42",
"cardNumber": "8600123456789012",
"expiryMonth": 9,
"expiryYear": 29
}'
# mijozga SMS kod keldi, ulashni tasdiqlang
curl -X POST https://splitpay-api.buzzi.uz/v1/cards/{cardId}/confirm \
-H "authorization: Bearer $TOKEN" \
-H 'content-type: application/json' \
-d '{"code":"123456"}'Karta raqamini o'zingizda saqlamang va loglarga yozmang: keyin faqat karta id sidan foydalaning.
4. Pul yeching
curl -X POST https://splitpay-api.buzzi.uz/v1/charges \
-H "authorization: Bearer $TOKEN" \
-H 'idempotency-key: order-777-charge' \
-H 'content-type: application/json' \
-d '{
"externalId": "order-777",
"cardId": "…",
"amount": 25000000,
"recipients": [
{ "recipientId": "01a0…b24b", "share": 7000 },
{ "recipientId": "01a0…7b8d", "share": 3000 }
]
}'amount tiyinda ko'rsatiladi, ya'ni 25 000 000 bu 250 000 so'm. Ulushlar bazis punktlarida beriladi
va yig'indisi 10000 bo'ladi: bu yerda 70% va 30%.
5% komissiyada qabul qiluvchilar 166 250 va 71 250 so'm oladi. Split va chek fonda bajariladi,
holatini GET /v1/charges/{chargeId} so'rovi orqali tekshiring.
idempotency-key sarlavhasi pul yoki karta yaratadigan barcha POST lar uchun majburiy: bir xil kalit
bilan takrorlangan so'rov birinchi natijani qaytaradi, ikkinchi to'lovni yaratmaydi.