Assalam Docs

Обзор

Приём платежей с банковских карт Узбекистана. Два способа подключения — выберите свой, читать оба не нужно.

Внутри платформа одна: обе поверхности создают один и тот же платёж, теми же проводками и с той же идемпотентностью. Различается только объём, который вам нужно знать. Нужны обе — берите обе, ключ можно выпустить с полным доступом.

Заказ — покупатель платит по ссылке
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 работает и возвращает деньги на карту. Два ограничения: вернуть можно только всю сумму платежа, а срок, в течение которого возврат возможен, банк пока не назвал. Частичный возврат получит понятную ошибку, а не мнимый успех. Подробнее — «Чего пока нельзя».

На этой странице