Тестирование
Тестовые карты, коды подтверждения и сценарии отказов
Тестовый режим повторяет поведение банка шаг в шаг, включая отказы. Ни SMS, ни деньги при этом не отправляются.
Тестовые карты
Сценарий задаётся последними цифрами номера. Срок — любой будущий, код подтверждения всегда 111111.
| Номер карты | Результат |
|---|---|
8600 0000 0000 1234 | Успешная привязка, процессинг UZCARD |
9860 0000 0000 1234 | Успешная привязка, процессинг HUMO |
8600 0000 0000 0000 | Карта не найдена |
8600 0000 0000 0001 | Карта не физлица |
8600 0000 0000 0002 | Карта заблокирована |
Сценарии списания
Результат списания определяется последними двумя цифрами суммы в тийинах.
| Сумма | Результат |
|---|---|
…13 | Отказ банка (DECLINED) |
…14 | Недостаточно средств (INSUFFICIENT_FUNDS) |
…15 | Таймаут — платёж останется в PROCESSING |
| любая другая | Успешное списание |
curl -X POST https://api.assalam.uz/subscribe/v1/charges \
-H "Authorization: Bearer sk_test_..." \
-H "Idempotency-Key: test-decline-1" \
-H "Content-Type: application/json" \
-d '{"amount": 1000014, "card": "cmsr…"}'{
"id": "cmsr9x8y",
"status": "FAILED",
"failureCode": "INSUFFICIENT_FUNDS"
}Что проверить до боевого запуска
- Успешная привязка карты и успешное списание.
- Каждый сценарий отказа: что видит клиент при недостатке средств и при отказе банка.
- Таймаут. Платёж остаётся в
PROCESSING— ваш код не должен считать это отказом и не должен создавать второй платёж. - Повтор запроса с тем же
Idempotency-Key— убедитесь, что второго списания не происходит. - Истёкшая карта и неверный код подтверждения.
- Отключение карты и попытка списать с отключённой.
Переключение на боевой режим
Меняется только ключ: sk_test_ на sk_live_. Код интеграции остаётся
прежним. Первое боевое списание стоит сделать на минимальную сумму и сверить
его в кабинете.