작가-사용자 플랫폼 재개장 사전 기획서 · 일반 사용자 / 작가 / 관리자 3개 역할의 결제와 정산 흐름을 9개 핵심 화면으로 설계했습니다. 제안서의 3대 역제안(코드 인수 진단 · 불변 정산 원장 · D-45 런칭 게이트)이 실제 화면에서 어떻게 작동하는지 증명합니다.
화면은 이미 만들어져 있습니다. 비어 있는 것은 '결제 버튼을 눌렀을 때 서버가 해야 할 일'입니다. 이 흐름의 3~5단계가 이번 과업의 핵심 구현 범위입니다.
기존 목록·검색 화면 그대로 사용 (수정 없음)
구매 전 12% 미리보기, 잠긴 구간 안내
주문 스냅샷 생성 및 PG 결제창 호출
서버 웹훅 수신으로만 주문 확정 (유실 방지)
확정 즉시 열람 개방 + 정산 원장 적재
독자는 3화까지 읽고 멈췄습니다. 화면은 이미 있지만 '결제하고 바로 읽기'를 눌러도 아무 일이 일어나지 않는 상태 — 이것이 지금 플랫폼이 매출 0원인 이유입니다. 우리는 이 버튼 뒤의 서버 로직만 정확히 채웁니다.
버튼을 누르는 순간 주문 스냅샷(작품·화·금액·수수료율)을 그대로 얼려 저장합니다. 이후 작품 가격이 바뀌어도 이 주문의 정산 금액은 절대 변하지 않습니다. [제안서 역제안 02 — 불변 정산 원장] / [데모 Step 1과 연결]
결제창에서 '승인 완료'가 떠도 아직 주문은 확정이 아닙니다. 브라우저가 닫히거나 네트워크가 끊기면 결제만 되고 주문은 사라지는 사고가 여기서 납니다. 이 화면은 그 구간을 눈에 보이게 만든 설계입니다.
주문 확정은 오직 PG 서버 웹훅으로만 처리합니다. 같은 웹훅이 두 번 와도 결과는 한 번만 반영되며(멱등), 웹훅이 늦으면 조회 API로 자동 보정합니다. [데모 Step 2와 연결]
| 작품 | 화 | 결제일 | 금액 | 열람 |
|---|---|---|---|---|
| 밤의 필사자 | 3화 | 2026.10.12 | 2,500원 | 가능 |
| 밤의 필사자 | 2화 | 2026.10.05 | 2,500원 | 가능 |
| 종이 위의 계절 | 완결 | 2026.09.28 | 8,900원 | 가능 |
| 편집자의 붉은 펜 | 1화 | 2026.09.21 | 0원 | 무료 |
| 새벽 세 시의 교정지 | 5화 | 2026.09.14 | 2,500원 | 환불 |
결제가 확정되는 순간 두 가지가 동시에 일어납니다. 독자에게는 열람 권한이 열리고, 작가의 정산 원장에는 판매 기록이 쌓입니다. 이 둘이 한 트랜잭션으로 묶여 있어야 '돈은 받았는데 못 읽는' 상황이 생기지 않습니다.
환불이 발생해도 기존 기록을 삭제하지 않고 반대 부호의 새 기록을 추가합니다. 그래서 어제의 정산 잔액을 오늘 다시 계산해도 같은 값이 나옵니다. [제안서 역제안 02 / 데모 Step 3과 연결]
작가가 플랫폼을 떠나는 이유는 팔리지 않아서가 아니라 정산이 틀려서입니다. 판매부터 입금까지 모든 금액에 이유와 시각이 남도록 설계했습니다.
원본 업로드·썸네일 생성 (서버 처리)
결제 확정 시 원장에 SALE·FEE 자동 기록
말일 마감 배치로 정산 대상액 확정
원천징수 3.3% 반영 실지급액 확인 후 신청
익월 10일 지급 · 명세서·영수증 자동 발급
| 작품 | 판매 | 판매액 | 수수료 20% | 정산 대상액 |
|---|---|---|---|---|
| 밤의 필사자 3화 | 168건 | 420,000원 | −84,000원 | 336,000원 |
| 밤의 필사자 2화 | 121건 | 302,500원 | −60,500원 | 242,000원 |
| 종이 위의 계절 (완결) | 23건 | 204,700원 | −40,940원 | 163,760원 |
| 새벽 세 시의 교정지 | 94건 | 235,000원 | −47,000원 | 188,000원 |
| 환불 (6건) | −6건 | −15,000원 | +3,000원 | −12,000원 |
작가가 가장 자주 여는 화면입니다. '이번 달에 얼마 들어오나'라는 단 하나의 질문에 즉시 답하도록, 실지급액을 화면에서 가장 큰 글자로 배치했습니다.
수수료율(20%)과 원천징수율(3.3%)은 코드가 아니라 설정값입니다. 클라이언트가 정책을 늦게 확정해도 개발이 멈추지 않고, 나중에 바뀌어도 과거 정산은 그대로 보존됩니다.
| 기록시각 | 유형 | 사유 | 주문번호 | 금액 | 누적 잔액 |
|---|---|---|---|---|---|
| 10.12 21:04:11 | SALE | 밤의 필사자 3화 판매 | ORD-20261012-0417 | +2,500원 | 803,088원 |
| 10.12 21:04:11 | FEE | 플랫폼 수수료 20% | ORD-20261012-0417 | −500원 | 800,588원 |
| 10.11 09:22:40 | REFUND | 구매자 환불 요청 승인 | ORD-20261009-0233 | −2,500원 | 801,088원 |
| 10.11 09:22:40 | FEE_REV | 환불에 따른 수수료 환입 | ORD-20261009-0233 | +500원 | 803,588원 |
| 10.10 18:41:02 | SALE | 종이 위의 계절 판매 | ORD-20261010-0388 | +8,900원 | 803,088원 |
| 10.10 18:41:02 | FEE | 플랫폼 수수료 20% | ORD-20261010-0388 | −1,780원 | 794,188원 |
이 프로젝트에서 가장 중요한 화면입니다. 잔액을 더하고 빼는 방식이면 환불 한 건에 정산이 무너지고, 어디서 틀어졌는지 아무도 모릅니다. 그래서 모든 금액 이동을 한 줄씩 쌓는 원장 방식으로 설계했습니다.
SALE / FEE / REFUND / FEE_REVERSAL / PAYOUT 다섯 가지 유형만으로 모든 상황을 표현합니다. 어떤 시점의 잔액이든 그 시점까지의 기록을 더하면 나옵니다. [제안서 역제안 02의 핵심 증거 / 데모 Step 3과 연결]
작가가 실제로 돈을 받는 마지막 관문입니다. 계좌 실명 확인, 세금 구분, 원천징수 계산, 증빙 서류까지 — 개발이 아니라 세무·운영에서 사고가 나는 구간이라 화면에서 미리 전부 보여줍니다.
신청 즉시 해당 금액을 HOLD 상태로 잠급니다. 잠긴 금액은 다음 회차 정산에 이중으로 잡히지 않으며, 관리자 승인 후에만 PAYOUT 기록으로 전환됩니다.
관리자 화면도 이미 만들어져 있습니다. 우리는 그 화면 뒤에서 돌아야 할 마감 배치와 승인·대사 로직을 채웁니다. 이 흐름이 없으면 작가에게 단 1원도 나갈 수 없습니다.
말일 원장 스캔 후 작가별 정산액 확정
계좌 미확인·이상 금액 자동 보류 처리
관리자 권한 계정만 승인 가능 (서버 검증)
승인 건만 이체 대기열로 이동 · PAYOUT 기록
PG 입금액과 원장 합계 대조 · 차액 0원 확인
매달 말일 밤에 한 번 도는 배치입니다. 이 배치가 실패하면 다음 날 137명의 작가가 동시에 문의를 넣습니다. 그래서 진행률과 로그를 화면에서 직접 보게 만들었습니다.
배치는 몇 번을 다시 돌려도 같은 결과가 나오도록 설계합니다(멱등). 중간에 서버가 죽어도 이어서 재실행하면 되고, 중복 정산이 발생하지 않습니다. [데모 Step 2와 연결]
| 작가 | 정산 대상액 | 원천징수 | 실지급액 | 계좌 | 상태 |
|---|---|---|---|---|---|
| 한도윤 (ART-0142) | 830,400원 | −27,312원 | 803,088원 | 확인 | 승인 대기 |
| 서유하 (ART-0208) | 1,204,000원 | −39,732원 | 1,164,268원 | 확인 | 승인 대기 |
| 문재이 (ART-0311) | 486,200원 | −16,044원 | 470,156원 | 미확인 | 지급 보류 |
| 백서린 (ART-0407) | 2,918,400원 | −96,307원 | 2,822,093원 | 확인 | 승인 대기 |
| 정하람 (ART-0512) | 342,000원 | −11,286원 | 330,714원 | 확인 | 승인 완료 |
돈이 실제로 빠져나가는 유일한 지점입니다. 화면을 숨기는 것만으로는 부족하고, 서버가 요청자의 권한을 매번 확인해야 합니다. 기존 관리자 화면은 그대로 두고 인가 로직만 서버에 붙입니다.
일반 사용자·작가 계정이 같은 주소를 직접 호출해도 서버가 403으로 거부합니다. 승인 행위는 누가 언제 무엇을 승인했는지 감사 로그로 남습니다.
| 일자 | PG 입금 | 원장 합계 | 환불 | 차액 | 판정 |
|---|---|---|---|---|---|
| 2026.10.12 | 1,842,000원 | 1,842,000원 | −2,500원 | 0원 | 정합 |
| 2026.10.11 | 1,617,500원 | 1,617,500원 | −2,500원 | 0원 | 정합 |
| 2026.10.10 | 2,204,900원 | 2,204,900원 | 0원 | 0원 | 정합 |
| 2026.10.09 | 1,988,000원 | 1,988,000원 | −5,000원 | 0원 | 정합 |
| 2026.10.08 | 1,745,600원 | 1,745,600원 | 0원 | 0원 | 정합 |
재개장 이후 클라이언트가 매일 확인하게 될 화면입니다. PG에 실제로 들어온 돈과 우리 원장이 계산한 금액이 같은지를 하루 한 번 자동으로 맞춰 봅니다.
차액이 1원이라도 생기면 해당 주문번호가 즉시 목록에 뜨고 지급 배치는 자동으로 멈춥니다. 잘못된 돈이 나가는 것보다 하루 늦게 나가는 것이 언제나 낫습니다. [제안서 역제안 02·03 / 데모 Step 4와 연결]