← 목록
기타 2026-05-27 4KB 읽기 3분

포네 결제 페그 시점 정의 (2026-05-27)

개요

포네(FONE)는 화폐성 토큰이다. KRW 환산이 필요한 결제 시, 환율(포네/KRW)을 언제 기준으로 잡을지가 핵심 정책 결정이다. 본 모듈은 그 시점을 명확히 정의하고 셀코어 호환 룰로 거래유형→모드 매핑을 한다.

시점·모드 정의

  • 체결시점(spot): 거래 요청·매칭이 일어난 순간 — 그 순간의 포네 단가 기록
  • 정산시점(settlement): 최종 결제 확정 (T+1 또는 즉시) — 그 순간의 포네 단가
  • peg_mode = "spot": 체결가 페그 — 가격 안정성 ↑, 환율 변동 위험 결제자 부담
  • peg_mode = "settlement": 정산가 페그 — 환율 변동 위험 정산자(가맹점) 부담
  • peg_mode = "mid": (체결 + 정산)/2 — 양측 분담

거래유형 기본 모드 (셀코어 룰)

  • 정기settlement (구독·청구 예측 안정)
  • 즉시spot (결제자가 본 가격이 그대로)
  • 에스크로mid (양측 보호)

핵심 함수

함수역할
포네페그_체결기록(결제ID, 수량, 시각)PENDING 라인 생성, 체결단가 캡처
포네페그_정산기록(결제ID, 시각)정산 시각·단가 갱신, SETTLED 전환
포네페그_KRW환산(결제ID, 수량, mode)모드별 KRW 산출 (settlement 폴백 → 체결가)
포네페그_모드결정룰(거래유형)셀코어 룰 스키마로 거래유형→모드 매핑
포네페그_자가검증()3 시나리오 × 3 모드 검증

핵심 산식

체결단가 = 포네_단가_연도(체결시각.년) = 시즌1_단가_연도(년) / 729
정산단가 = 포네_단가_연도(정산시각.년)
KRW(spot)       = 수량 * 체결단가
KRW(settlement) = 수량 * 정산단가 (정산 없으면 체결단가 폴백)
KRW(mid)        = 수량 * (체결단가 + 정산단가) / 2

영속

/tmp/포네결제이력.dat
결제ID|체결시각|체결단가|정산시각|정산단가|상태
PAY002|2026-09-15T10:00|34|2027-10-01T10:00|37|SETTLED

셀코어 룰 스키마 (스키마 호환, 인라인 평가)

v0.38 한계로 시즌1포네맘 + 셀코어 동시 import 불가 → 룰 자료구조는 셀코어 룰엔진실행() 호환 맵 형태로 export, 평가는 본 모듈 내장 (포네페그_룰적용). 상위 호출자가 셀코어 룰엔진을 쓰려면 포네페그_룰묶음() 결과를 그대로 넘기면 된다.

연동

  • 크라우니페이(pay.crowny.org:9866) 진입점:
결제 매칭 시 포네페그_체결기록() → 확정 시 포네페그_정산기록() → 청구 산출 시 포네페그_KRW환산() (mode는 포네페그_모드결정룰(거래유형)로 결정)
  • 시즌1포네맘: 단가 페그 (포네_단가_연도) 재사용

관련 파일

  • /Users/ef/Downloads/CrownyTVM/std/포네페그.한선
  • /Users/ef/Downloads/CrownyTVM/std/포네페그.han
  • /tmp/포네결제이력.dat (런타임 생성)

검증 결과 (자가검증 발췌)

시나리오 2: 체결=2026 정산=2027
  spot       : 34000원 (체결단가 페그)
  settlement : 37000원 (정산단가 페그)
  mid        : 35000원 ((34+37)/2 x 1000)
이력 영속: PAY002 SETTLED 체결=34 정산=37 ✓

잔여 이슈

  1. 포네페그_단가_at 은 현재 연도 단위 페그 — 일/시각별 시세 도입 시 교체
  2. 셀코어 + 시즌1포네맘 동시 import 불가 (v0.38 심볼테이블 한계) — 룰 평가 인라인 우회
  3. 결제 수량은 이력에 저장하지 않음 (정책 분리) — 상위 시스템에서 추적