API

다음 결제일·예상 요금 조회

작성일 2026.04.23 | 수정일 2026.04.29

GET/crm-core/v1/plans/me/next-billing

다음 결제 예정일과 예상 요금 breakdown(좌석 요금 + 초과 요금)을 반환합니다. 모든 금액은 VAT 포함가이며, breakdownsubtotal/taxAmountsplitVatInclusive(total) 로 역산됩니다.

Response

NameTypeRequiredDescription
nextBillingDatedate | null다음 결제 예정일 (FREE는 null)
tierstring*현재 티어
paidSeatsnumber*과금 좌석 수 (최소 1)
scheduledSeatsnumber*예약된 좌석 수 (변경 예약이 없으면 paidSeats와 동일)
unitPricenumber*티어 기본 월 단가 (원, VAT 포함)
breakdownobject*예상 요금 상세
seatChargenumber*좌석 요금 합계 (unitPrice × scheduledSeats)
estimatedOveragenumber*예상 초과 요금 (현재는 0 — 갱신일에 스냅샷 기준 산정)
subtotalnumber*공급가액 (VAT 제외)
taxAmountnumber*부가세
totalChargenumber*총 결제 금액 (VAT 포함)
notestring*안내 문구 (FREE/ENTERPRISE/유료 케이스별 다름)

Structure

코드 예제

const crypto = require('crypto');

const apiKey = 'NCSXXXXXXXXXXXXX';
const apiSecret = 'YOUR_API_SECRET';
const dateTime = new Date().toISOString();
const salt = crypto.randomBytes(16).toString('hex');
const signature = crypto.createHmac('sha256', apiSecret).update(dateTime + salt).digest('hex');
const authHeader = HMAC-SHA256 apiKey=${apiKey}, date=${dateTime}, salt=${salt}, signature=${signature};

const response = await fetch('https://api.solapi.com/crm-core/v1/plans/me/next-billing', {
method: 'GET',
headers: { 'Authorization': authHeader, 'Content-Type': 'application/json' }
});
const data = await response.json();

import hmac, hashlib, secrets, requests
from datetime import datetime, timezone

api_key = 'NCSXXXXXXXXXXXXX'
api_secret = 'YOUR_API_SECRET'
date_time = datetime.now(timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
salt = secrets.token_hex(16)
signature = hmac.new(api_secret.encode(), (date_time + salt).encode(), hashlib.sha256).hexdigest()
auth_header = f'HMAC-SHA256 apiKey={api_key}, date={date_time}, salt={salt}, signature={signature}'

response = requests.get('https://api.solapi.com/crm-core/v1/plans/me/next-billing', headers={
'Authorization': auth_header,
'Content-Type': 'application/json'
})
data = response.json()

API_KEY="NCSXXXXXXXXXXXXX"
API_SECRET="YOUR_API_SECRET"
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
SALT=$(openssl rand -hex 16)
SIGNATURE=$(echo -n "${DATE}${SALT}" | openssl dgst -sha256 -hmac "${API_SECRET}" | awk '{print $NF}')
AUTH="HMAC-SHA256 apiKey=${API_KEY}, date=${DATE}, salt=${SALT}, signature=${SIGNATURE}"

curl -X GET 'https://api.solapi.com/crm-core/v1/plans/me/next-billing' \
-H "Authorization: ${AUTH}" \
-H "Content-Type: application/json"

lightbulb

FREE 티어는 결제가 발생하지 않으며 `nextBillingDate`가 null일 수 있습니다. ENTERPRISE는 수동 청구 대상이며 `note`에 안내가 포함됩니다.

lightbulb

**401 응답**: `{ "errorCode": "Unauthorized", "errorMessage": "권한이 없습니다." }`