Обзор
Приём платежей с банковских карт Узбекистана. Два способа подключения — выберите свой, читать оба не нужно.
Продаёте товары или услуги
Checkout API. Вы создаёте заказ и отправляете покупателя по ссылке. Корзину, ввод карты, код из СМС и списание берём на себя. О картах знать не нужно — интернет-магазин, оплата счёта, разовая покупка.
Списываете с сохранённой карты
Subscribe API. Клиент привязывает карту один раз, дальше вы списываете сами — когда нужно и сколько нужно, без его участия. Подписки, пополнение счёта, повторные покупки.
Внутри платформа одна: обе поверхности создают один и тот же платёж, теми же проводками и с той же идемпотентностью. Различается только объём, который вам нужно знать. Нужны обе — берите обе, ключ можно выпустить с полным доступом.
curl -X POST https://api.assalam.uz/merchant/v1/orders \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: order-1024" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000000,
"returnUrl": "https://shop.uz/order/1024/done",
"description": "Заказ A-1024"
}'{
"id": "cmsr…",
"object": "order",
"amount": 5000000,
"currency": "UZS",
"status": "PENDING",
"paymentUrl": "https://checkout.assalam.uz/pay/44705b…",
"expiresAt": "2026-08-21T21:42:43.813Z",
"livemode": false
}curl -X POST https://api.assalam.uz/subscribe/v1/charges \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: sub-1024-08" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000000,
"card": "cmsr…",
"description": "Подписка, август"
}'Суммы
Все суммы — в тийинах, целыми числами: 1 сум = 100 тийин. Платёж
на 50 000 сум передаётся как 5000000. Так исключены ошибки округления,
неизбежные при дробных суммах.
Что важно знать сразу
- Номер карты не проходит через ваш сервер. Покупатель вводит его на нашей странице или в вашей форме, но напрямую в наш API. Вы получаете только идентификатор карты.
- Режим определяется ключом. Ключ
sk_test_работает с тестовым банком и не двигает деньги;sk_live_— боевой. Тело запроса на это не влияет. - Что ключу доступно, задаёт его область. Ключ для продажи товаров не достаёт до карт клиентов, и наоборот. Область выбирается при выпуске — «Ключи и режимы».
- Идемпотентность обязательна. Каждый запрос, создающий операцию, требует
заголовок
Idempotency-Key: повтор вернёт прежний результат, а не спишет деньги второй раз. - CVV не нужен. Банк его не принимает — не спрашивайте у клиента.
Возврат есть, но только целиком
POST /v1/refunds работает и возвращает деньги на карту. Два ограничения:
вернуть можно только всю сумму платежа, а срок, в течение которого
возврат возможен, банк пока не назвал. Частичный возврат получит понятную
ошибку, а не мнимый успех. Подробнее — «Чего пока нельзя».