Перейти к содержимому
Последнее обновление

Закрытие карты

Закрытие карты — асинхронная операция: вы отправляете запрос, карта переходит в статус closing, а после завершения — в closed. Остаток средств на карте на момент закрытия за вычетом комиссии за закрытие возвращается на баланс компании.

Запрос

POST /cards/{id}/retire

Нужно право cards.retire. Заголовок Idempotency-Key необязателен.

Пример

curl -X POST 'https://b2b.lumowallet.io/cards/8c7f1823-.../retire' \
  -H 'X-API-Key: YOUR_API_KEY'

Ответ

Возвращается карта в статусе closing (или сразу closed, если закрытие прошло мгновенно — например, в тестовом режиме). Ответ — 201.

{
  "id": "8c7f1823-...",
  "externalId": "user-42-card-1",
  "status": "closing",
  "maskedPan": "4466********1234",
  "expiry": "03/29",
  "assignedAt": "2026-04-23T12:00:00.000Z",
  "createdAt": "2026-04-23T11:59:00.000Z",
  "upayState": null,
  "upayStateName": null
}

Что происходит дальше

  1. Карта переходит в closing — пополнения по ней запрещены (POST /cards/recharge вернёт CARD_RECHARGE_INVALID с сообщением CARD_RETIRED: …).
  2. Закрытие обрабатывается на нашей стороне (может занять некоторое время).
  3. После завершения карта переходит в closed, а остаток на карте за вычетом cardClosureFeeUsdt зачисляется на баланс компании.
  4. Приходит webhook card.closed с итоговыми суммами.
{
  "event": "card.closed",
  "cardId": "8c7f1823-...",
  "maskedPan": "4466********1234",
  "closingBalance": 24.5,
  "feeUsdt": 1,
  "refundUsdt": 23.5,
  "createdAt": "2026-04-24T09:30:00.000Z"
}
  • closingBalance — остаток на карте на момент закрытия.
  • feeUsdt — комиссия за закрытие (cardClosureFeeUsdt).
  • refundUsdt — сумма, возвращённая на баланс компании (closingBalance − feeUsdt, не меньше 0).

Важно

  • Повторный запрос. Для карты в статусе closed повтор просто возвращает карту. Для closing повтор не запускает второе закрытие и второй возврат; если закрытие уже в работе, он может завершиться ошибкой 422 — это не повод повторять дальше, дождитесь card.closed.
  • Возврат один раз. Средства возвращаются ровно один раз — в момент перехода в closed. Ориентируйтесь на webhook card.closed и статус карты, а не на ответ исходного запроса.
  • Только выданные карты. Закрыть можно карту в статусе assigned; для closing, closed и retired запрос безопасно повторять, см. выше.
  • Если карта надолго осталась в closing, напишите в поддержку.
  • Комиссия за закрытие по умолчанию 1 USDT, если для компании не задана другая.

Тестовый режим

При cardsTestMode = true закрытие происходит мгновенно: карта сразу получает статус closed, возврат зачисляется на баланс, и webhook card.closed отправляется без задержки.