Glowb Dev Docs
Admin세금계산서(어드민)

세금계산서 크레딧 입금

입금 확인 후 세금계산서 건으로 광고주 크레딧을 충전합니다 (운영자 전용).

세금계산서 크레딧 입금

광고주의 실제 계좌 입금을 확인한 뒤, 세금계산서 관리 페이지에서 버튼 하나로 해당 광고주의 글로벌 크레딧(Business.remainCredit) 을 충전합니다.

  • 충전 금액은 세금계산서의 공급가액(supplyAmount) 입니다 (VAT 제외).
  • 캠페인 예산이 아니라 광고주 글로벌 크레딧에 적립됩니다 (세금계산서는 광고주 단위 크레딧 충전 청구).
  • 크레딧 원장에 CREDIT_ADD / reason=TAX_INVOICE / description="세금계산서 입금" 한 행이 기록되며, 처리자(createdBy)는 어드민 토큰에서 도출합니다.

⚠️ admin 전용 endpoint입니다. ROLE_ADMIN 권한이 없으면 거부됩니다. 요청 바디는 없으며, 세금계산서 id만으로 대상 광고주·금액이 결정됩니다.

HTTP 요청

POST /ai/admin/tax-invoice/{id}/deposit-credit
Authorization: Bearer {access_token}

Path Parameters

파라미터타입필수설명
idpath Long크레딧을 입금할 TaxInvoice.id

선행조건 / 상태 전이

  • 세금계산서 상태가 ISSUED(발행 완료) 여야 합니다.
  • 입금이 반영되면 statusISSUEDDEPOSITED(입금 완료) 로 전이됩니다. 프론트는 이 status 값으로 입금 버튼 활성(ISSUED)/완료(DEPOSITED)를 판단합니다 — 별도 계산 불필요.
  • 한 세금계산서는 1회만 입금 가능합니다. 이미 DEPOSITED 상태면 재요청 시 거부됩니다(중복 방지).
  • 세금계산서에는 creditDepositedAt(반영 시각, 표시용)과 creditTxId(연결된 크레딧 트랜잭션 id, 역추적용)도 함께 기록됩니다.

성공 응답 (200 OK)

{
  "status": 200,
  "message": "세금계산서 크레딧 입금 완료",
  "data": {
    "id": 5001,
    "businessId": 1234,
    "transactionType": "CREDIT_ADD",
    "amount": 1000000,
    "balanceAfter": 1500000,
    "collabNo": null,
    "candyPaymentId": null,
    "description": "세금계산서 입금",
    "reason": "TAX_INVOICE",
    "memo": null,
    "reverseOfTxId": null,
    "createdAt": "2026-07-14T15:00:00",
    "createdBy": "admin-account-id"
  }
}

에러 응답

glowb 백엔드는 예외도 HTTP 200으로 내리고 body.status에 실제 코드를 실어 보냅니다. 프론트는 반드시 body.status를 검사해야 합니다.

body.statuscode설명
404TAX_INVOICE_001세금계산서를 찾을 수 없음
409TAX_INVOICE_002발행 완료(ISSUED) 상태가 아님
409TAX_INVOICE_003이미 크레딧이 입금됨 (중복)
404TAX_INVOICE_004세금계산서에 연결된 광고주를 찾을 수 없음
400INVALID_DATA관리자 권한 없음

On this page