Skip to content

Story: 이관 인센티브 쿠폰 발급 로직

메타

항목
Story IDE-07-S-11
EpicE-07 쿠폰 & 추천인 코드
상태ready-for-dev
우선순위P1
규모S
담당 개발자BE

사용자 스토리

As a 기존 PortOne 구독자,
I want TossPayments로 카드 재등록 시 인센티브를 받고 싶다,
So that 기꺼이 카드를 재등록할 수 있다.


수락 기준 (Acceptance Criteria)

AC-01: 자동 발급

항목내용
Given기존 PortOne 유저가
WhenTossPayments 빌링키 발급에 성공하면
ThenMIGRATE10 쿠폰이 자동 발급된다

AC-02: 발급 조건

항목내용
Given쿠폰 발급 시
WhenPortOne 결제 이력이 없거나 이미 발급받았으면
Then쿠폰이 발급되지 않는다

AC-03: 자동 적용

항목내용
GivenMIGRATE10 쿠폰 보유 시
When첫 번째 정기결제가 실행되면
Then10% 할인이 자동 적용된다

태스크 분해

Task 1: MIGRATE10 쿠폰 설정

  • [ ] 1.1: 시스템 쿠폰 등록 (seed data)
    code: MIGRATE10
    type: PERCENT
    discountPercent: 10
    maxDiscountAmount: 11000 (PRO10 기준)
    maxUsageTotal: null (무제한)
    maxUsagePerUser: 1
    validUntil: 발급일 + 60일

Task 2: 자동 발급 로직

  • [ ] 2.1: TossPayments 빌링키 발급 성공 이벤트 리스너
  • [ ] 2.2: 발급 조건 검증
    • PortOne 결제 이력 존재
    • MIGRATE10 쿠폰 미보유
  • [ ] 2.3: 쿠폰 발급 + 유효기간 설정 (60일)

Task 3: 정기결제 자동 적용

  • [ ] 3.1: 정기결제 시 MIGRATE10 쿠폰 자동 적용 로직
    • 보유 중 + 미사용 + 유효기간 내
  • [ ] 3.2: 적용 후 쿠폰 사용 처리

개발 노트

이관 인센티브 쿠폰 스펙

항목
쿠폰 코드MIGRATE10
유형정률 할인 (PERCENT)
할인 비율10%
최대 할인액11,000원
유저당 사용1회
유효 기간발급일로부터 60일
적용 시점재등록 후 첫 번째 정기결제에 자동 적용

예시 플로우

[기존 유저 김셀러]

[PortOne으로 1년간 결제 중]

[이관 안내 알림 수신]

[TossPayments 카드 재등록 완료]

[시스템: MIGRATE10 쿠폰 자동 발급]

[다음 정기결제일 (2월 15일)]
    - 원가: 110,000원
    - 쿠폰 할인: -11,000원 (10%)
    - 최종 결제: 99,000원

[그 다음달 (3월 15일)]
    - 쿠폰: 없음 (이미 사용)
    - 최종 결제: 110,000원

FIRST100 vs MIGRATE10 차이

항목FIRST100MIGRATE10
대상신규 유저기존 이관 유저
할인109,900원 정액10% 정률
적용수동 (첫결제)자동 (정기결제)
트리거몰연동 완료빌링키 재등록

이벤트 로깅

이벤트파라미터
migrate_coupon_issueduser_id, coupon_code
migrate_coupon_useduser_id, discount_amount

생성일: 2026-01-20

장사왕 Product Team