Перейти к содержимому

Выполнить пополнение

Запрос

Списывает с баланса userChargeUsdt + commissionUsdt (totalDebitUsdt из расчёта стоимости) и пополняет карту. Пополнение проводится сразу, поэтому в ответе обычно уже итог: succeeded или in_progress_manual, если эквайер его не провёл (ручной разбор, списание остаётся до решения — succeeded или refunded). Тот же статус приходит вебхуком card.recharge.*. Нужно право cards.recharge.

  • Повтор с тем же Idempotency-Key возвращает то же пополнение в текущем статусе, без второго списания. Ключ действует в рамках компании, а не карты или суммы; карта сначала проверяется заново, поэтому повтор по карте, ушедшей в closing, получит CARD_RETIRED.
  • Если эквайер отклонил пополнение сразу (422), списание тут же возвращается; пополнение сохраняется как failed, без вебхука.
  • Если эквайер не ответил, исход неизвестен: списание остаётся, ответ приходит со статусом pending и причиной в failureReason, а пополнение автоматически досверяется до итогового статуса; если за 30 минут ответа нет, оно переходит в in_progress_manual.
Безопасность
apiKeyAuth
Заголовки
Idempotency-Keystringобязательный
Телоapplication/jsonобязательный
cardIdstring, (uuid)обязательный
targetAmountnumber, [ 10 .. 1000000 ]обязательный

Сумма в USD, которая должна оказаться на карте: от 10 до 1 000 000, не больше двух знаков после запятой. У компании может быть свой минимум выше.

Пример:50
curl -i -X POST \
  https://b2b-app.lumowallet.io/_mock/apis/cards/recharge \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'X-API-Key: YOUR_API_KEY_HERE' \
  -d '{
    "cardId": "f16ba382-eb42-481a-b08f-c57bdc9aae24",
    "targetAmount": 50
  }'

Ответы

Пополнение создано

Телоapplication/json
idstring, (uuid)обязательный
cardIdstring, (uuid)обязательный
targetAmountUsdnumberобязательный
userChargeUsdtnumberобязательный
commissionUsdtnumberобязательный
statusstring(CardRechargeStatus)обязательный
  • pending — эквайер не ответил, исход выясняется
  • succeeded — средства на карте
  • in_progress_manual — эквайер не провёл пополнение или исход не выяснен; ручной разбор, списание остаётся до решения
  • refunded — отменено по итогам ручного разбора, списание возвращено
  • failed — отклонено сразу или при досверке, списание возвращено
Enum:"pending""succeeded""failed""refunded""in_progress_manual"
failureReasonstring or null
createdAtstring, (date-time)обязательный
Ответ
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "cardId": "f16ba382-eb42-481a-b08f-c57bdc9aae24", "targetAmountUsd": 0, "userChargeUsdt": 0, "commissionUsdt": 0, "status": "pending", "failureReason": "string", "createdAt": "2019-08-24T14:15:22Z" }