알림톡 이용료 대납은 리셀러의 비용 납부 옵션이다. 켜면 그 리셀러의 하위 가맹점 전체가 보내는 유료 알림톡 이용료가 리셀러의 선불 잔액에서 빠지고, 하위 가맹점은 충전하지 않아도 보낼 수 있다. 하위 가맹점마다 따로 정하지 않는다.
핵심 요약
- 옵션은 리셀러를 만들 때 리셀러 가입 화면에서 고른다. 처음 값은 「하위 가맹점이 직접 낸다」다.
- 만든 뒤에는 부트페이 관리자만 바꿀 수 있다. 바꾸려면 부트페이에 문의한다. 리셀러 API 와 리셀러 관리자 콘솔은 보기만 한다.
- 지금 값은 리셀러 내 정보
GET /v2/reseller/me의reseller_contract.message_billing_payer와 리셀러 관리자 콘솔 「설정 › 계약·동의」에서 본다. - 옵션이 켜져 있으면 하위 가맹점의 모든 프로젝트에서 보내는 유료 알림톡이 리셀러 잔액에서 빠진다.
- 대납하려면 리셀러가 선불 요금제여야 한다. 리셀러는 부트페이 관리자의 이용요금 화면에서 자기 잔액을 충전한다(자동충전도 그대로 쓸 수 있다). 옵션이 켜져 있는데 리셀러가 선불 요금제가 아니면 하위 가맹점의 유료 알림톡이 400(16315)으로 막힌다. 하위 가맹점의 잔액으로 대신 내지 않는다.
- 대납 중에 리셀러 잔액이 모자라면 하위 가맹점의 유료 알림톡이 잔액 부족(16312)으로 막힌다. 문구는 「알림톡 이용료를 내는 리셀러의 잔액이 부족해 보낼 수 없어요」다.
- 부트페이가 옵션을 끄거나 리셀러 사용을 중지하면 하위 가맹점이 직접 내게 되고, 하위 가맹점 담당자에게 알림톡으로 알린다. 사용 중지가 풀리면 옵션이 켜져 있는 한 다시 리셀러가 낸다.
- 부트페이가 무료로 보내는 커머스 주문·구독 알림은 대납과 상관없이 계속 무료다.
대납하면 바뀌는 것
| 하위 가맹점이 직접 납부(옵션 꺼짐) | 리셀러 대납(옵션 켜짐) | |
|---|---|---|
| 유료 알림톡 이용료가 빠지는 곳 | 하위 가맹점 선불 잔액 | 리셀러 선불 잔액 |
| 하위 가맹점 충전 | 필요(처음 한 번은 충전해야 보낼 수 있다) | 필요 없음 |
| 잔액이 모자랄 때 | 그 하위 가맹점 발송이 16312 | 하위 가맹점 발송이 모두 16312 |
| 리셀러 잔액 내역(이용요금 화면) | — | 「알림톡 발송 이용료 차감 · 하위 가맹점 이름」으로 남는다 |
바뀐 뒤에 접수된 발송부터 적용된다. 이미 접수돼 처리 중인 발송은 접수할 때의 납부자 기준으로 끝난다.
대납 현황 조회
내 선불 잔액과, 기간 동안 하위 가맹점 대신 낸 금액을 본다. 리셀러 관리자 콘솔의 「알림톡 › 하위 가맹점 사용량」 화면과 같은 값이다.
GET
https://api.bootpay.co.kr/v2/reseller/billingBasic Auth (리셀러 계정 키)| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
s_at |
String | 선택 | 시작일 YYYY-MM-DD(한국 시간). 비우면 이번 달 1일 |
e_at |
String | 선택 | 종료일 YYYY-MM-DD. 비우면 지금. 기간이 92일을 넘으면 시작일을 당긴다 |
page |
Integer | 선택 | 쪽 번호(기본 1). 하위 가맹점은 새로 만든 순 |
limit |
Integer | 선택 | 한 쪽 가맹점 수(기본 20, 최대 100) |
RESELLER_AUTH=$(printf '%s' "$BOOTPAY_RESELLER_CLIENT_KEY:$BOOTPAY_RESELLER_SECRET_KEY" | base64)
curl "https://api.bootpay.co.kr/v2/reseller/billing?s_at=2026-11-01&e_at=2026-11-30" \
-H "Authorization: Basic $RESELLER_AUTH"bash{
"period": { "from": "2026-11-01T00:00:00+09:00", "to": "2026-11-30T23:59:59+09:00" },
"balance": 52300.5,
"available": 51600.5,
"held": 700,
"paid_total": 11161.15,
"payer_count": 2,
"pays_children": true,
"children": [
{ "provider_id": "65a1c0aa8f1b5b00367a0001", "name": "하위 가맹점 가", "payer": "reseller", "success": 1243, "paid_amount": 8887.45 },
{ "provider_id": "65a1c0aa8f1b5b00367a0002", "name": "하위 가맹점 나", "payer": "reseller", "success": 318, "paid_amount": 2273.7 }
],
"count": 2,
"page": 1,
"limit": 20
}json| 필드 | 타입 | 필수 | 설명 |
|---|---|---|---|
balance |
Number | 필수 | 선불 잔액(VAT 포함). 건당 차감액에 소수가 있어 소수 둘째 자리까지 온다 |
available |
Number | 필수 | 지금 쓸 수 있는 금액 = balance − held |
held |
Number | 필수 | 보내는 중이라 잡아 둔 금액. 발송 결과가 나오면 차감되거나 풀린다 |
paid_total |
Number | 필수 | 기간 동안 하위 가맹점 대신 낸 금액 합계. page 와 상관없이 기간 전체다 |
payer_count |
Integer | 필수 | 지금 대납 중인 하위 가맹점 수. 옵션이 켜져 있으면 하위 가맹점 전부, 꺼져 있으면 0 |
pays_children |
Boolean | 필수 | 대납 옵션이 지금 켜져 있는지. 사용 중지 중이면 false |
children |
Array | 필수 | 이 쪽의 하위 가맹점 |
payer |
String | 필수 | reseller 내가 낸다 · self 가맹점이 낸다 |
success |
Integer | 필수 | 기간 동안 성공한 유료 알림톡 건수 |
paid_amount |
Number | 필수 | 기간 동안 내가 대납한 금액. 옵션이 꺼져도 그 기간에 이미 대납한 금액은 남는다 |
count |
Integer | 필수 | 하위 가맹점 수(전체) |
paid_amount 는 발송 결과가 확정된 건마다 「단가 × 1.1(VAT), 소수 둘째 자리 버림」으로 계산한 금액의 합이다. 잔액에서 건마다 빼는 금액과 같은 계산이다(보내는 순간 잔액을 확인해 막으므로 드물지만, 결과가 확정될 때 잔액이 모자라 빼지 못한 건도 여기에는 들어간다). 이 API 는 reseller:seller:read 범위로 부른다. 기간 형식이 틀리면 PARAMS_INVALID(HTTP 400), 그 밖의 실패는 COMMERCE_REQUEST_FAILED(8182)다.
에러 코드
| 코드 | 메시지 | 대처 방법 |
|---|---|---|
API_ONLY_RESELLER (601) |
리셀러만 이용이 가능한 API 다 | 리셀러 권한 계정 키로 호출한다 |
API_SCOPE_INVALID |
허용되지 않은 API 권한의 키다 (HTTP 401) | reseller:seller:read 리셀러 스코프 를 주거나 전체 권한(supervisor) 키로 호출한다 |
PARAMS_INVALID (-33) |
기간 형식이 틀렸다 (HTTP 400) | s_at·e_at 을 YYYY-MM-DD 로 보낸다 |
COMMERCE_REQUEST_FAILED (8182) |
커머스 연동 서버에 요청하지 못했다 (HTTP 400) | 잠시 후 다시 부른다. 원인은 payload.commerce_error_code |



