비즈니스 구조
기업 → 플랫폼(수수료 15%) → 학생. 평가 1회 = 보상 1회, 등급 가중(S×1.3 / A×1.0 / B×0.8), 기타소득 원천징수 8.8%를 플랫폼이 대행한다.
Phase 1 — 교내 (외부 API 조합)
| 단계 | 수단 |
|---|---|
| 견적서 생성 | jsPDF + Resend API |
| 입금 감지 | 토스페이먼츠 가상계좌 웹훅 |
| 세금계산서 | 팝빌 API |
| 계좌 실명 확인 | 토스페이먼츠 계좌유효성 API |
| 자동 지급 | 토스페이먼츠 지급대행 API (JWE 암호화·당일 지급) |
에스크로 상태 기계
Prisma PaymentPool 테이블로 자금을 잠근다 — PENDING → ACTIVE → DISTRIBUTING → DISTRIBUTED. status 변경은 서버 사이드에서만 가능하게 제한.
- PaymentPool — project_id · total_amount · platform_fee · reward_pool · status
- Distribution — user_id · grade · amount · tax · net_amount · status
- ChainLog — event_type · payload_hash · tx_hash · block_number
Phase 2 — 외부 확장 (신뢰 자동화)
- 에스크로 → 스마트 컨트랙트: 운영자도 임의 출금 불가, 기업이 코드로 직접 검증
- 기록 무결성 → 블록체인 앵커링(ethers.js + Polygon): 입금 잠금·등급 확정·지급 완료 시점에 해시 기록
- 지급 → 오픈뱅킹 API(금융결제원)로 전환 (사업자 등록 후)