
Checkout Sessions
호스팅된 체크아웃 중
discount_codes 및 UI 컨트롤로 하나 이상의 스택형 코드를 적용합니다.Validate Discount
할인 ID로 유효성을 확인하세요.
Get Discount by Code
코드 이름(예: “SAVE20”)을 사용해 할인을 조회하고 유효성을 확인하세요.
Create Discount (API)
프로그래밍 방식으로 새로운 할인 코드를 생성하세요.
List & Update Discounts
기존 할인을 찾아보고, 필요에 따라 업데이트하거나 삭제하세요.
할인 코드란?
할인 코드는 결제 시 주문 총액을 줄여주는 프로모션 토큰입니다. 다음과 같은 경우에 적합합니다:- 계절 캠페인: 블랙 프라이데이, 제품 출시 또는 기념일
- 획득 제안: 첫 구매 인센티브 또는 추천 보상
- 유지: 기존 고객을 위한 재유치 또는 충성도 보상
- B2B 거래: 계약된 또는 협상된 가격을 통한 비공식 코드
주요 이점
- 유연한 할인: 비율 또는 고정 금액 할인
- 대상 제어: 제품 및 구독 주기에 따라 제한
- 캠페인 관리: 만료 날짜 및 사용 한도
- 원활한 결제: 결제 세션을 통한 UI 필드 및 API 지원
- 유연한 할인: 백분율 또는 고정 금액 할인
-
중첩 가능한 코드: checkout, payment 또는 subscription당 최대 20개의 코드를 적용하고, 별도의 전용 코드를 만들지 않고 캠페인을 결합할 수 있습니다(예:
WELCOME10+BLACKFRIDAY20) - 세분화된 제어: product, subscription cycles 및 customer eligibility에 따라 제한
- 캠페인 관리: 예약된 시작일, 만료일, 전체 및 고객별 사용 한도
- 통화별 가격 책정: 통화별 고정 차감액, 금액 상한 및 최소 소계를 설정
- 원활한 checkout: checkout sessions를 통한 UI 필드 및 API 지원
대시보드 설정

대시보드 설정
- Discount Name (필수): 내부 및 대시보드 표시 이름
- Code (필수): 고객이 checkout에서 입력하는 문자열입니다. 제공된 버튼을 사용해 무작위 코드를 생성할 수도 있습니다.
- Type (필수): Percentage(일정 비율 할인) 또는 Amount(고정 금액 차감) 중에서 선택
- Amount (필수): Percentage 할인의 백분율 값 또는 Amount 할인의 고정 금액
- Start Date (선택 사항): 코드가 나중에 활성화되도록 예약합니다. 즉시 활성화하려면 비워 둡니다.
- Expiration Date (선택 사항): 이 날짜 이후 코드가 무효화됩니다.
- Usage Limit (선택 사항): 모든 고객을 대상으로 한 최대 총 사용 횟수
- Per-Customer Usage Limit (선택 사항): 단일 고객이 사용할 수 있는 최대 횟수입니다. 두 한도를 모두 설정하는 경우 전체 사용 한도보다 작거나 같아야 합니다.
- Customer Eligibility (선택 사항): 코드를 사용할 수 있는 대상을 제한합니다 — 모든 고객, 신규 고객, 기존 고객 또는 직접 선택한 목록
- Currency Options (선택 사항): 통화별 값 — Per-Currency Options 참조
- Product Restriction (선택 사항): 선택한 product에만 적용되도록 제한
- Subscription Cycle Limit (선택 사항): 할인이 적용되는 billing cycle 수
- Preserve on Plan Change (선택 사항): subscription의 plan이 변경되어도 할인을 활성 상태로 유지 (
preserve_on_plan_change) - Metadata (선택 사항): 내부 추적 또는 통합을 위한 사용자 지정 key–value 쌍 추가



Percentage
amount는 API에서 basis points로 표현됩니다 — 1500는 15%를 의미합니다. 고정 amount는 금액 값이며 code의 currency options에 따라 표시됩니다.할인 유형
두 유형 모두 동일한
discount_codes 배열에서 결합할 수 있으며 배열 순서대로 적용됩니다.

고객 자격
코드를 사용할 수 있는 대상을 제어하려면customer_eligibility를 설정합니다:

통화별 옵션
Currency options를 사용하면 판매하는 각 통화에서 하나의 코드가 올바르게 작동합니다. 각 항목은 단일 통화에 대해 다음을 설정합니다:- Amount — Amount 할인에서는 차감액 자체이고, Percentage 할인에서는 코드가 차감할 수 있는 최대 금액입니다. API의
max_amount_possible에 매핑됩니다. - Minimum subtotal — cart가 이 소계에 도달한 경우에만 코드가 적용됩니다.
0는 최소 금액이 없음을 의미합니다. - Default — 구성되지 않은 다른 통화가 변환될 기준으로 사용할 기본 항목을 하나 지정할 수 있습니다.

Minimum subtotal은 누적 할인 중간의 현재 합계가 아니라 항상 cart의 원래 가격을 기준으로 측정됩니다. 따라서 중첩 순서는 최소 금액 충족 여부에 영향을 주지 않습니다.
Checkout 경험
- 고객이 checkout 필드에 코드를 입력합니다.
- 자격을 충족하는 할인이 적용되고 합계가 즉시 업데이트됩니다.

Checkout Sessions에서 하나 이상의 코드를 미리 적용하려면
discount_codes(배열)를 전달합니다. 할인 입력 필드는 기본적으로 표시됩니다. 즉, feature_flags.allow_discount_code의 기본값은 true이므로, 필드를 숨기려는 경우에만 false로 설정하세요. 코드는 배열 순서대로 적용되며, 최대 20개까지 적용할 수 있습니다.Discount Codes 중첩
checkout sessions, payments 및 subscriptions는discount_codes 배열을 통해 최대 20개의 중첩 코드를 허용합니다(최대 20개 항목). 코드는 배열 순서대로 적용되므로 첫 번째 적격 코드가 기본 가격을 먼저 낮추고, 다음 코드는 이미 할인된 가격을 낮추는 방식으로 계속 적용됩니다. 적용된 전체 할인 집합은 응답의 discount_ids(payments/subscriptions) 및 discounts(위치와 남은 subscription cycles를 포함한 더 상세한 할인별 정보)에 반환됩니다.
단일
discount_code 필드는 deprecated 상태이지만 backward compatibility를 위해 계속 완전히 지원됩니다 — 기존 통합은 변경 없이 계속 작동합니다. 동일한 요청에서 discount_codes와 함께 사용할 수는 없습니다. 중첩 및 더 풍부한 응답 구조를 활용할 수 있도록 하나의 코드만 사용하는 경우에도 편리한 시점에 discount_codes(배열 형식)로 마이그레이션하는 것이 좋습니다.API 관리
Create discounts
Create discounts
type 및 amount를 사용해 프로그래밍 방식으로 discount codes를 생성합니다.
API Reference
create discount API를 확인합니다.
List and retrieve
List and retrieve
관리를 위해 모든 discount를 나열하거나 세부 정보를 조회합니다.
API Reference
listing 및 retrieval API를 확인합니다.
Get discount by code
Get discount by code
내부 ID 대신 사람이 읽을 수 있는 코드(예: “SAVE20”)를 사용해 discount를 조회합니다.
API Reference
code name으로 discount를 조회합니다.
Update discounts
Update discounts
amount, expiration 또는 restrictions와 같은 discount 구성을 수정합니다.
API Reference
discount 세부 정보를 업데이트하는 방법을 알아봅니다.
Validate discounts
Validate discounts
적용하기 전에 discount가 유효하고 적용 가능한지 확인합니다.
API Reference
discount 사용을 검증합니다.
Delete discounts
Delete discounts
더 이상 필요하지 않은 discount를 비활성화하거나 삭제합니다.
API Reference
discount를 삭제합니다.
Manage the customer allow list
Manage the customer allow list
customer_eligibility가 specific로 설정된 discount의 경우, 사용할 수 있는 고객을 관리합니다:GET /discounts/{discount_id}/customers— 연결된 고객을 나열합니다(pagination 적용, 페이지당 최대 100명).POST /discounts/{discount_id}/customers— ID로 고객을 연결합니다. 이 호출은 idempotent하며 최대 1000개의 ID를 허용합니다. 모든 ID는 business에 이미 존재해야 합니다. 응답에는 해당 요청에서 제출된 ID만 반환되므로 전체 allow list를 확인하려면 endpoint를 조회해야 합니다.DELETE /discounts/{discount_id}/customers/{customer_id}— 단일 고객의 연결을 해제합니다.
일반적인 사용 사례
- Intro offers: 신규 product를 위한 기간 한정 출시 프로모션
- Bulk 또는 B2B: 특정 product 세트를 위한 계약 할인
- Retention 전략: churn-prevention workflow에서 고객 재유치를 위한 코드
- Seasonal campaigns: holiday 또는 event 기반 프로모션
통합 예시
Metadata를 사용한 discount 생성
내부 추적을 위한 사용자 지정 key–value 쌍을 추가합니다.Checkout Sessions에서 discount 적용
하나 이상의 중첩 discount를 미리 적용하고 code input UI를 표시합니다.plan 변경 중 discount 적용
고객이 subscription을 upgrade 또는 downgrade할 때 프로모션 가격을 제공합니다.subscription response의 새로운
discounts 배열을 통해 subscription에 적용된 모든 discount를 확인합니다. 각 항목에는 discount_id, position, cycles_remaining(subscription의 경우) 및 원래 코드가 포함됩니다.할인 코드 필드 숨기기
할인 입력 필드는 기본적으로 표시되므로, 사전에 코드를 전달하지 않아도 고객이 언제든지 코드를 입력할 수 있습니다. 필드를 완전히 숨기려면allow_discount_code를 false로 설정하세요.
모범 사례
- 명확한 이름 사용: campaign 이름과 일치하는 알아보기 쉬운 코드 사용
- 기간 제한: 긴급성을 높이고 오용을 방지하도록 만료일 추가
- 범위 신중하게 설정: margin leakage를 방지하기 위해 특정 product로 제한
- 조기 검증: checkout을 확정하기 전에 코드 적용 가능 여부 확인
- 영향 모니터링: campaign별 사용량 및 전환 추적
Discount codes는 acquisition 및 retention을 위한 강력한 수단입니다. 간단하고 이름이 명확한 offer로 시작하고, 철저히 검증한 뒤 성과에 따라 반복 개선하세요.