Glowb Dev Docs
Admin APIAdmin Finance API

PATCH /ai/admin/finance/ledger/{txId}/provisional

임시 크레딧 표시 전환 (컬럼 기반, 잔액 무변동)

임시 크레딧 표시 전환

임시 크레딧 여부를 켜고 끕니다. 금액·발생일을 건드리지 않으므로 잔액도 balanceAfter 도 변하지 않습니다 (recalculatedCount 는 항상 0).

임시 크레딧이란

잔액이 부족한 상태에서 관리자가 캠페인 결제를 강행할 때 넣는 "나중에 회수해야 하는" 크레딧입니다 (CandyPaymentService.payCollabWithCreditByAdmin). 충전과 동시에 캠페인으로 빠져나가므로 잔액은 그대로지만, 실제로는 입금되지 않은 돈입니다.

예전에는 description 문자열("관리자 임시 크레딧 충전 ...")로만 표시했습니다. 그러면 집계·필터가 불가능하고, 어드민이 비고를 고치는 순간 표시가 사라집니다. 이제 is_provisional 컬럼이 진실원본이고 description 문구는 하위 호환으로만 남아 있습니다.

상태 조합

provisionalprovisionalSettledAt의미
falsenull일반 거래
truenull임시 크레딧 — 미정산
false시각임시였다가 정산 완료

HTTP 요청

PATCH /ai/admin/finance/ledger/{txId}/provisional?adminId={adminId}
Authorization: Bearer {access_token}
Content-Type: application/json

Path / Query Parameters

파라미터위치타입필수설명
txIdpathLong원장 행 id
adminIdqueryString아니오처리자 ID

Request Body

{
  "provisional": false
}
필드타입필수설명
provisionalBooleantrue=임시로 표시, false=확정(정산 시각 기록)

동작 규칙:

  • false 로 바꾸면 provisionalSettledAt 에 현재 시각이 기록됩니다.
  • true 로 되돌리면 provisionalSettledAt 이 지워집니다.
  • 같은 값으로 다시 호출해도 정산 시각이 덧씌워지지 않습니다 (멱등).

이 API 는 레거시 reverse 행에도 허용됩니다. 라벨을 붙였다 떼는 동작이라 원장 금액에 영향이 없고, 임시 충전 행이 이미 reverse 로 정정된 경우에도 표시는 정정할 수 있어야 하기 때문입니다. 삭제된 행만 거부합니다.

응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "임시 크레딧 상태 변경 완료",
  "data": {
    "transaction": {
      "id": 2103,
      "transactionType": "CREDIT_ADD",
      "amount": 3000000,
      "balanceAfter": 3000000,
      "description": "관리자 임시 크레딧 충전 (캠페인 결제용) - collabNo: 482",
      "occurredAt": "2026-06-14T09:11:00",
      "provisional": false,
      "provisionalSettledAt": "2026-08-11T14:31:07"
    },
    "recalculatedCount": 0,
    "newRemainCredit": 40000,
    "expectedRemainCredit": 40000,
    "balanceMismatch": false
  }
}

조회 노출

기업/캠페인 파이낸스 상세의 타임라인 row 에 provisional, provisionalSettledAt 이 함께 내려갑니다 (뱃지 표시용).

에러

상태조건
400provisional 누락
409이미 삭제된 행 (FINANCE_002)

API 테스트

On this page