XEX에서의 한 달, 요율 변경에서 정산된 청구까지.
여섯 구간. 그중 둘은 한 사람으로는 열리지 않습니다. 각 구간과 그것이 남기는 기록입니다.
보상 플랜은 코드가 아니라 설정입니다.
요율, 직급, 사다리, 기준값, 풀, 패키지별 조건을 구조화된 폼에서 편집하고 새 버전으로 저장합니다. JSON을 쓰는 사람도, 퍼센트 하나 바꾸려고 릴리스를 내는 사람도 없습니다.
저장한다고 요율이 살아나지는 않습니다. 버전에는 그것을 실행할 엔진 버전이 찍히고, 두 번째 운영자가 승인할 때까지 초안으로 남습니다. 본인 승인은 두 번 거부됩니다 — Go에서 한 번, 데이터베이스에서 한 번 — 그래서 API를 직접 호출해도 우회되지 않고, 모든 역할을 가진 운영자라도 우회할 수 없습니다.
엔진 버전이 플랜 버전에 기록되므로, 플랫폼의 계산 방식이 바뀌면 그것은 새 엔진 버전이지 당신의 플랜이 지난달 지급한 금액에 대한 조용한 변경이 아닙니다. 워크스페이스는 특정 엔진에 고정할 수도, 의도적으로 이전할 수도 있습니다.
internal/program · migrations · POST /v1/admin/programs/{version}/approve
회원은 우리 계좌가 아니라 당신의 계좌로 냅니다.
패키지의 가격과 판매는 당신의 몫입니다. 돈은 당신 소유의 계좌로 들어오고, 플랫폼은 들어왔다는 사실을 전달받습니다.
자체 결제로 넘기기
rails.host_handoff
온체인 송금
rails.onchain_transfer
계좌이체
rails.bank_transfer
Alipay
rails.alipay
WeChat Pay
rails.wechat_pay
M-PESA
rails.mpesa
이들 하나하나가 당신의 자격증명으로, 당신의 계좌 위에 설정됩니다. 수단 설정은 플랫폼 자체의 자격증명과 일치하는 값을 저장하기를 거부합니다 — 이 검사가 있는 이유는 정확히, “일단 우리 걸로 쓰죠”가 소프트웨어 공급자가 얼떨결에 지급결제 기관이 되는 경로이기 때문입니다.
internal/rails
여섯 개의 엔진, 하나의 원장.
각 엔진은 자신의 라인을 쓰고, 각 라인은 그것을 만든 규칙 식별자를 지니며, 모두 추가만 가능한 하나의 원장에 기록됩니다.
직추천
internal/direct
팀 차등
internal/team
동일 직급 오버라이드
internal/samerank
직급
internal/rank
월드 풀
internal/pool
클럽과 개별 조정
internal/club · internal/accommodations
엔진 코드에 하드코딩된 요율은 없습니다 — 엔진이 읽는 유일한 원천은 설정입니다. 모든 엔진은 골든 픽스처로 구동되고 Go 테스트 스위트가 변경마다 그것을 돌립니다. 실제 돈이 걸린 뒤에도 보상 엔진이 정직하게 남는 길은 이것뿐입니다.
정산 실행은 먼저 시뮬레이션입니다.
한 기간이 아무에게도 지급하지 않는 초안 라인으로 계산됩니다. 무엇을 하게 될지 당신이 읽고, 그다음 다른 사람이 승인합니다.
콘솔은 초안의 총 보상액을 해당 기간의 환불 차감 후 현금 매출과 나란히 보여 줍니다. 그 비율이 당신이 설정한 상한을 넘으면 그 실행은 아예 승인될 수 없습니다 — 이 검사는 실패 시 차단이며, 나중에 누군가 읽는 보고서가 아니라 승인 경로 안에 있습니다.
승인은 실행을 만든 사람이 아닌 다른 운영자에게서 와야 합니다. 기표는 이어서 할 수 있습니다. 중간에 끊긴 실행은 누군가 절반씩 기표된 두 기간을 손으로 맞추는 대신 다시 실행해서 끝냅니다. 원하지 않는 초안은 폐기하며, 폐기 역시 멱등합니다.
internal/runs · /admin/runs
회원이 청구합니다. 정산은 당신이 합니다.
청구는 정확한 원장 라인을 선점하고 지시를 내보냅니다. 플랫폼은 자신이 옮기라고 지시하는 돈을 결코 보유하지 않습니다.
정확한 라인, 선점
internal/claims
취소는 정산에 집니다
internal/claims
정산 시스템이 없다면? 콘솔이 있습니다.
internal/httpapi/payouts.go
회원이 보는 화면.
회원은 당신이 콘솔을 읽는 것보다 훨씬 자주 포털을 읽습니다. 포털이 하는 말이 곧 당신 프로그램의 목소리입니다.
열 개 언어의 포털 화면 열세 개, 오른쪽에서 왼쪽으로 읽는 언어 포함. 잔액, 팀, 유형별 수익, 패키지, 청구, 이의제기, 그리고 플랜 자체가 모두 엔진이 실행하는 그 설정에서 그려집니다 — 그래서 회원은 가입 전과 후에 같은 문장을 읽습니다.
정상이 아닌 모든 상태는 사유와 다음 행동을 함께 답니다. “지역 제한”만 써 두면 막다른 길입니다. 이 안내는 왜 그런지와 무엇을 하면 되는지를 말합니다. 어떤 숫자에 동의하지 않는 회원은 이의제기를 열고, 그것은 접수에서 조사 중으로, 다시 해결 또는 기각으로 이동하며 감사 기록이 붙습니다 — 같은 회원이 단체 대화방에서 추천인과 다투는 것보다 당신에게 훨씬 나은 결말입니다.
app/[locale]/portal · internal/disputes · i18n