API Reference
Приём карты от клиента
Публичные вызовы страницы оплаты — без секретного ключа
Эти запросы идут из браузера или приложения и авторизуются токеном
сессии, а не ключом продукта: секретному ключу в клиентском коде не место.
Токен вы получаете полем clientToken при создании сессии.
Ограничения: 3 попытки ввода карты и 5 попыток кода на сессию.
Данные карты и отправка кода
POST
/checkout/v1/sessions/{token}/cardНомер карты не сохраняется: обменивается на токен рельсы и забывается.
Поле
Тип
curl -X POST \
https://api.assalam.uz/checkout/v1/sessions/6a3f…/card \
-H "Content-Type: application/json" \
-d '{
"pan": "8600000000001234",
"expiry": "3001",
"phone": "998901234567"
}'{
"status": "AWAITING_CODE",
"maskedPan": "860000******1234"
}{
"message": "Карта неактивна или заблокирована",
"code": "CARD_INACTIVE"
}Подтверждение кодом из SMS
POST
/checkout/v1/sessions/{token}/codeВ тестовом режиме код всегда 111111.
Поле
Тип
curl -X POST \
https://api.assalam.uz/checkout/v1/sessions/6a3f…/code \
-H "Content-Type: application/json" \
-d '{"code": "123456"}'{
"status": "COMPLETED",
"returnUrl": "https://your.app/cards/return"
}{
"message": "Код не подошёл",
"code": "WRONG_CODE"
}Отправить код повторно
POST
/checkout/v1/sessions/{token}/code/resendПовторная отправка кода в рамках той же сессии.
curl -X POST \
https://api.assalam.uz/checkout/v1/sessions/6a3f…/code/resend{ "status": "AWAITING_CODE" }Состояние сессии
GET
/checkout/v1/sessions/{token}Состояние сессии для вашей формы: название продукта, режим и статус. Ничего чувствительного не возвращает.
curl https://api.assalam.uz/checkout/v1/sessions/6a3f…{
"status": "PENDING",
"productName": "SOS24",
"livemode": false,
"maskedPan": null,
"returnUrl": null,
"expiresAt": "2026-08-14T10:15:00.000Z"
}{
"message": "Срок действия ссылки истёк",
"error": "Gone",
"statusCode": 410
}