Glowb Dev Docs
Main API결제 API

POST /ai/payments/credit/{transactionId}/cancel

크레딧 결제 취소 (transactionId로 환불)

크레딧 결제 취소

크레딧 거래 ID로 결제를 취소하고 환불 처리합니다.

이 API는 순수 크레딧 충전캠페인 결제 모두 취소할 수 있습니다.

  • 순수 크레딧 충전 (collabNo가 null인 경우): 언제든 환불 가능
  • 캠페인 결제 (collabNo가 있는 경우): 모집 시작 전까지만 환불 가능

환불 조건

  • PAYMENT 타입인 경우에만 취소 가능합니다.
  • 현재 잔액이 환불 금액 이상이어야 합니다. (크레딧을 사용했으면 환불 불가)
  • 캠페인 관련 결제는 크리에이터 모집 시작 전까지만 환불 가능합니다.
  • 이미 취소된 결제는 다시 취소할 수 없습니다.
항목
메서드POST
경로/ai/payments/credit/{transactionId}/cancel
인증필요 (기업 토큰)

요청

POST /ai/payments/credit/45/cancel HTTP/1.1
Host: api.glowb.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json

{
  "cancelReason": "크레딧 충전 취소 요청"
}
curl -X POST "https://api.glowb.com/ai/payments/credit/45/cancel" \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "cancelReason": "크레딧 충전 취소 요청"
  }'
const response = await fetch(`/ai/payments/credit/${transactionId}/cancel`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${accessToken}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    cancelReason: '크레딧 충전 취소 요청'
  })
});
const result = await response.json();

Path Parameters

Prop

Type

Request Body 스키마

Prop

Type

응답

성공 응답 (200 OK)

{
  "status": 200,
  "code": null,
  "message": "결제 취소 성공",
  "data": {
    "status": "success",
    "message": "결제가 취소되었습니다",
    "httpStatusCode": 200
  }
}

응답 스키마

Prop

Type

에러 응답

상태 코드에러 코드설명
400CANCEL_FAILED결제 취소 실패
400CANCEL_FAILEDPAYMENT 타입이 아님
400CANCEL_FAILED크레딧이 이미 사용되어 환불 불가
400CANCEL_FAILED이미 취소된 결제
400CANCEL_FAILED모집이 시작되어 환불 불가
404NOT_FOUND거래를 찾을 수 없음
500INTERNAL_SERVER_ERROR서버 오류

타입 오류 예시:

{
  "status": 400,
  "code": "CANCEL_FAILED",
  "message": "충전(PAYMENT) 타입만 취소 가능합니다. 현재 타입: CREDIT_USE",
  "data": null
}

잔액 부족 예시:

{
  "status": 400,
  "code": "CANCEL_FAILED",
  "message": "크레딧이 이미 사용되어 환불이 불가능합니다. 현재 잔액: 50000, 환불 금액: 5025000",
  "data": null
}

환불 처리 흐름

  1. 크레딧 거래 조회 (transactionId로 조회)
  2. 거래 타입 확인 (PAYMENT 타입만 취소 가능)
  3. 현재 잔액 확인 (잔액 < 환불금액이면 환불 불가)
  4. 캠페인 관련인 경우 모집 상태 확인
  5. CandyPay 환불 API 호출 (CandyPayment가 있는 경우)
  6. 크레딧 환불 (잔액 차감) + 환불 이력 저장
  7. 캠페인 상태 변경 (캠페인 결제인 경우)

거래 ID 조회 방법

거래 ID는 GET /ai/payments/credits/history API에서 조회할 수 있습니다.

{
  "transactions": [
    {
      "id": 45,  // ← 이 ID를 사용
      "transactionType": "PAYMENT",
      "amount": 5025000,
      "refundable": true,
      "refundableReason": "환불 가능"
    }
  ]
}

API 테스트

On this page