Main API결제 API
POST /ai/payments/credit/confirm
크레딧 충전 결제 승인
크레딧 충전 결제 승인
캠페인과 무관하게 기업 크레딧을 충전합니다.
이 API는 순수 크레딧 충전 전용입니다. 캠페인 결제는 /ai/payments/collab/confirm을 사용하세요.
| 항목 | 값 |
|---|---|
| 메서드 | POST |
| 경로 | /ai/payments/credit/confirm |
| 인증 | 필요 |
크레딧 계산 방식
결제금액에서 실제 크레딧이 계산됩니다.
기본 공식: 크레딧 = 결제금액 / 1.1
크레딧 충전표
| 결제금액 | 기본 크레딧 | 보너스 | 총 크레딧 |
|---|---|---|---|
| 55,000원 | 50,000 | - | 50,000 |
| 110,000원 | 100,000 | - | 100,000 |
| 330,000원 | 300,000 | - | 300,000 |
| 550,000원 | 500,000 | - | 500,000 |
| 1,100,000원 | 1,000,000 | - | 1,000,000 |
| 2,200,000원 | 2,000,000 | - | 2,000,000 |
| 3,300,000원 | 3,000,000 | - | 3,000,000 |
| 5,500,000원 | 5,000,000 | +25,000 | 5,025,000 |
| 7,700,000원 | 7,000,000 | +40,000 | 7,040,000 |
| 11,000,000원 | 10,000,000 | +100,000 | 10,100,000 |
보너스 크레딧은 정확히 해당 금액(5,000,000 / 7,000,000 / 10,000,000 크레딧)일 때만 적용됩니다.
요청
POST /ai/payments/credit/confirm HTTP/1.1
Host: api.glowb.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
{
"paymentKey": "intent_1234567890123456",
"orderId": "credit_20250105_001",
"amount": 5500000
}curl -X POST "https://api.glowb.com/ai/payments/credit/confirm" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: application/json" \
-d '{
"paymentKey": "intent_1234567890123456",
"orderId": "credit_20250105_001",
"amount": 5500000
}'const response = await fetch('/ai/payments/credit/confirm', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
paymentKey: 'intent_1234567890123456',
orderId: 'credit_20250105_001',
amount: 5500000 // 결제금액 (원)
})
});
const result = await response.json();Request Body 스키마
Prop
Type
응답
성공 응답 (200 OK)
{
"status": 200,
"code": null,
"message": "크레딧 충전 성공",
"data": {
"intentKey": "intent_1234567890123456",
"orderId": "credit_20250105_001",
"orderName": "credit_20250105_001",
"mId": 12345,
"totalAmount": 5500000,
"status": "APPROVED",
"requestedAt": "2025-01-05T10:30:00",
"approvedAt": "2025-01-05T10:30:01"
}
}위 예시에서 totalAmount: 5,500,000원 결제 시:
- 기본 크레딧: 5,000,000
- 보너스 크레딧: +25,000
- 총 충전 크레딧: 5,025,000
응답 스키마
Prop
Type
에러 응답
| 상태 코드 | 에러 코드 | 설명 |
|---|---|---|
| 400 | INVALID_USER | 기업 정보를 찾을 수 없음 |
| 400 | PAYMENT_FAILED | 캔디페이 결제 승인 실패 |
| 500 | INTERNAL_SERVER_ERROR | 서버 오류 |
{
"status": 400,
"code": "INVALID_USER",
"message": "기업 정보를 찾을 수 없습니다",
"data": null
}크레딧 충전 흐름
- 프론트엔드에서 CandyPay SDK로 결제 UI 호출
- 사용자가 결제 완료 후
paymentKey,orderId반환 - 이 API 호출하여 결제 승인 + 크레딧 충전
- 결제금액 / 1.1 = 기본 크레딧 계산
- 보너스 크레딧 적용 (해당 시)
TB_CANDY_PAYMENT에 결제 정보 저장TB_CREDIT_TRANSACTION에 충전 이력 저장TB_BUSINESS.remain_credit잔액 증가
결제 실패 시 TB_CANDY_PAYMENT_FAILURE 테이블에 자동으로 실패 정보가 기록됩니다.