식품·화장품·생활용품·굿즈 박스처럼 실물 상품을 정해진 주기로 반복 배송하는 서비스예요.
enum 값은 delivery_subscription 이에요. 유형 선택 가이드
정기배송은 결제와 물류가 연결된 구독 유형이에요. 다른 유형과의 결정적 차이는 하나예요 — 매 회차 결제가 성공할 때마다 그 회차의 배송 주문이 자동 생성돼요. 정기구독·렌탈이 1회차(계약 시점)에만 배송을 만드는 것과 다르게, 정기배송은 회차마다 출고가 반복돼요.
내가 하는 것
- 배송 주기·배송 정책 설계
- 회차 배송 주문의 출고·물류 처리
- 배송지 변경 허용 범위 결정
- 재고·출고 마감 운영
Bootpay가 알아서 하는 것
- 매 회차 자동 결제, 실패 재시도
- 결제 성공 시 회차 배송 주문 생성
- 배송 예정일 계산 (배송불가 요일 자동 회피)
- 웹훅 알림, 회차·주문 내역 제공
전체 흐름
결제일이 사실상 배송 마감일이에요. 결제 직전 배송지 변경 마감, 이번 회차 건너뛰기, 출고 후 취소 불가 시점을 정책으로 먼저 정해야 CS가 줄어요.
시작 순서
배송 정책 설계
배송 주기, 결제 후 며칠 뒤 배송할지, 배송불가 요일을 정해요. 배송 정책 설정
상품 등록
실물(배송) 상품에 정기배송 템플릿을 적용해요.
신청 → 승인
고객이 배송지를 입력해 신청하면 신규 승인으로 첫 결제와 첫 배송 주문을 만들어요.
회차 배송 운영
매 회차 생성되는 배송 주문을 출고 처리해요. 회차 배송 흐름
공통 API 바로가기
| 하고 싶은 것 | 문서 |
|---|---|
| 계약 목록·상태 조회 | 계약 조회 |
| 회차·결제 내역 확인 | 회차 조회 · 거래 목록 |
| 이번 회차 금액 보정 | 회차 금액 조정 |
| 일시정지·재개·해지 | 일시정지 · 재개 · 해지 |
| 회차 배송 주문 조회 | 주문 조회 |
배송 정책 설정
정기배송의 배송 규칙은 구독 템플릿에서 정해요. 여기서 정한 정책이 상품에 적용되고, 계약 시점에 스냅샷으로 고정돼요.
설정 항목
| 설정 | 설명 |
|---|---|
| 배송 주기 | 회차가 반복되는 간격이에요. 결제 주기와 함께 굴러가요. |
| 배송 소요일 | 결제 성공 후 며칠 뒤 배송 예정일로 잡을지 정해요. 도서·산간 지역은 추가 소요일이 반영돼요. |
| 배송불가 요일 | 물류가 쉬는 요일을 지정하면, 배송 예정일이 그 요일에 걸릴 때 자동으로 다음 가능한 날로 미뤄져요. |
| 배송지 변경 허용 | 구독 중 고객이 배송지를 바꿀 수 있게 할지 정해요. |
| 배송일 변경 허용 | 고객이 이번 회차 배송을 미루거나(딜레이) 당길 수(긴급) 있게 할지 정해요. |
배송 예정일 = 회차 결제일 + 배송 소요일. 이 날짜가 배송불가 요일이면 다음 가능 요일로 롤오버돼요. 계산은 부트페이가 자동으로 처리하니, 가맹점은 물류가 감당할 수 있는 소요일과 요일만 정확히 입력하면 돼요.
정책 설계 체크리스트
- 결제일과 출고 마감의 간격 — 결제 직후 출고한다면 배송 소요일을 짧게, 주 1회 출고라면 배송불가 요일로 출고일을 좁혀요.
- 배송지 변경 마감 — 변경 허용을 켜더라도 "결제 후 출고 전 변경은 반영 불가" 같은 운영 정책을 약관에 명시해요.
- 건너뛰기(스킵) 정책 — 이번 회차를 쉬고 싶은 고객은 일시정지 후 재개로 처리하는 게 기본이에요.
관련 문서
- 회차 배송 흐름 — 설정이 실제 회차에서 동작하는 방식
- 배송지·배송일 변경 — 운영 중 변경 처리
- 구독 모델 구조 — 템플릿·정책·스냅샷 관계
회차 배송 흐름
정기배송에서 회차는 결제 단위이자 배송 단위예요. 회차 하나가 성공하면 그 회차의 배송 주문이 하나 생겨요.
회차마다 일어나는 일
회차 결제일 도달
부트페이가 빌링키로 자동 결제를 시도해요.
결제 성공 → 배송 주문 생성
그 회차의 배송 주문이 자동으로 만들어져요. 배송 예정일은 배송 정책의 소요일·배송불가 요일 규칙으로 계산돼요.
가맹점 출고
생성된 주문을 주문 API로 조회하고 출고·송장 처리를 해요.
다음 회차 예약
다음 결제일과 다음 배송 예정일이 자동으로 예약돼요.
결제 실패 시
회차 결제가 실패하면 배송 주문은 생성되지 않아요. 부트페이가 재시도 스케줄을 실행하고, 재시도로 성공하면 그 시점 기준으로 배송 예정일이 계산돼요. 재시도 정책과 유예 설계는 구독 흐름 설계를 봐요.
"결제 성공 = 출고 대상"이라는 단일 기준을 유지해요. 결제 실패 상태에서 임의로 출고하면 미수금이 생기고, 반대로 결제 성공 회차를 출고 누락하면 CS가 돼요. 회차 상태는 회차 조회로 동기화해요.
다른 유형과의 차이
| 정기배송 | 정기구독·렌탈·종량제 | |
|---|---|---|
| 배송 주문 생성 | 매 회차 | 배송 상품이면 1회차만 |
| 결제 실패의 의미 | 이번 회차 출고 보류 | 서비스 이용 유예/차단 |
관련 문서
배송지·배송일 변경
정기배송을 오래 유지하려면 고객 사정(이사, 휴가, 재고 소진)을 해지 없이 흡수할 수 있어야 해요. 변경 가능 여부는 배송 정책 설정에서 템플릿에 미리 정해둔 허용 범위를 따라요.
변경 경로
| 누가 | 방법 |
|---|---|
| 고객 | 부트페이가 호스팅하는 마이페이지에서 배송지·배송일을 직접 변경해요. 템플릿에서 허용한 항목만 노출돼요. |
| 관리자 | CS로 접수된 배송지 변경은 계약 내용 변경의 address_id 로 계약 정보를 직접 수정해요. 배송일은 이 API로 바꿀 수 없어요. |
배송일 변경 두 방향
| 동작 | 언제 |
|---|---|
| 미루기 (딜레이) | 재고가 남았거나 장기 부재일 때 이번 회차 배송을 뒤로 미뤄요. |
| 당기기 (긴급) | 상품이 일찍 떨어졌을 때 이번 회차 배송을 앞당겨요. |
두 동작 모두 템플릿에서 각각 허용을 켜야 고객에게 노출돼요.
결제·출고 직전의 변경은 물류에 반영되지 못할 수 있어요. "배송 예정일 N일 전까지 변경 가능" 같은 마감 규칙을 약관과 안내 문구에 명시하는 걸 권장해요.
오래 쉬어야 한다면
배송일 미루기로 감당이 안 되는 장기 중단(장기 출장, 계절 상품)은 일시정지 → 재개 흐름으로 처리해요. 일시정지 중에는 결제와 배송이 모두 멈춰요.
관련 문서
제약과 주의점
정기배송을 설계하기 전에 알아두면 시행착오가 줄어드는 제약들이에요.
배송비 쿠폰 적용 불가
정기배송 구독에는 배송비 쿠폰을 적용할 수 없어요. 매 회차 배송이 반복되는 구조라 1회성 배송비 쿠폰과 맞지 않기 때문이에요. 적용을 시도하면 에러가 반환돼요.
| 에러 코드 | 의미 |
|---|---|
11513 |
정기배송 구독에는 배송비 쿠폰을 적용할 수 없어요 |
상품 금액 할인 쿠폰은 정상 적용돼요. 회차 단위 할인이 필요하면 회차 금액 조정을 써요.
결제일 = 물류 마감일
정기배송의 결제일은 사실상 배송 마감일이에요. 아래를 정하지 않으면 CS가 크게 늘어요.
- 결제 직전 배송지 변경의 반영 마감 — 배송지·배송일 변경
- 이번 회차 건너뛰기 처리 방식 — 일시정지 활용
- 출고 후 취소 불가 시점 — 반품·환불 정책과 연결
해지·환불 기준
실물이 오가는 유형이라 해지 기준이 다른 유형과 달라요.
| 시점 | 처리 |
|---|---|
| 출고 전 | 이번 회차 취소 후 해지 가능 |
| 출고 후 | 이번 회차는 반품 절차, 다음 회차부터 해지 |
해지 요청 API는 유형 공통이에요 — 해지.
관련 문서
- 유형 선택 가이드 — 다른 유형과의 비교
- 구독 상품 유형별 차이 — 정기배송 운영 정책 (블로그)
