噫呼,
此诚奇闻,吾欲与君共之。且听吾言,支付处理器之事,实乃妙趣横生。
吾年十五,居俄罗斯,三周之内,独力编程,终成__JHSNS_SEG_f8128963_5__Doday。者,一待办事项之应用也,既为网络应用,复为Telegram微应用及Telegram机器人,而共一后台。大抵为Todoist之替代品,内含番茄工作法,兼有看板,与学校门户同步(专供俄国学子——此实为其壁垒),且可团队协作。
欲试之,可于此处:getdoday.ru · 代码:github.com/SwairIt/doday · 机器人:DodayTaskBot于Telegram上
吾欲论变现之事,盖以为他少年欲售货者或有所裨益也
其弊
吾自五月二日起建Doday。及吾欲增付费之项,此应用已有小群之用户(多吾之友及吾校之人,兼有数无名氏)。吾行于BETA_FREE_FOR_ALL=true 环境标志,意即人人得享Pro功能之免费。此乃初启之计,然吾欲实证世人愿为此物付费。
计策简明:注册俄罗支付之处理器(YooKassa,旧称Yandex Kassa——实为当地Stripe之比肩),实施其结账之程,事毕。
吾已注册为"自由职业者"(самозанятый——俄罗斯自十四岁起可依父母同意适用之税制),故有税号及实名银行账户。吾以为已足.
两日之内三拒
YooKassa——以gov-ID登录(Госуслуги,吾国电子政务/政府单点登录之等效服务)。立时拒之。"Госуслуги之童稚账户,不可登录。"吾之Госуслуги账户,已全然核实——吾以之纳税,行成人之事。然YooKassa验生辰,若未满十八,则无申辩之途。硬性之限也.
善,手录之可也。。吾启手册之表——彼欲上传扫描之彩色护照。其 OCR 识生辰而拒之。吾试以巧布模糊之日期——经时辰,得“无法验证身份”之语。壁障依旧。
。然,。T-Bank 求之。(又一大俄式处理器)。注册流程至“需为注册之IP(个体经营者)或LLC”。自由职业者得允,然仅限十八岁以上。欲注册为IP者,亦需年满十八(十六岁者,需父母同意及公证文书,然银行不纳此以获之)。
善,以父名注册之。。今钱财依法归之。倘有与客争端,吾父母必为辩之。税署视此收入为己有。若彼辈决意明日不与,吾之全部支付体系将旦夕倾覆。此不可行也。
。善,且待至十八岁。是三载之期。吾不能自辩,何故更倾注时力于此物,而未见金帛之验。
吾实欲弃其牟利。然忆及 Telegram Stars 之存。
Telegram Stars (XTR)
若不知者——Telegram 有其内嵌货币,名曰 Stars (货币代码)XTR在其Bot API中)。用户通过Telegram客户端(Apple/Google应用内购买)购买之。Bot可接受以星币支付。createInvoiceLink. 开发者得星值之七成,或经 TON 加密货币提,或由 Fragment 取之。
要事:BotFather(Telegram之机器人管理机器人)年满十三方可使用无文书,无税号,无银行。尔之契约在 Telegram,非在银行。
于吾十五之年,此乃唯一合法之支付路径。
吾坐而书之。
吾所建(技术)
-
架构迁徙 (
alembic 0039):users.pro_until(时间戳),star_payments表以UNIQUE(telegram_payment_charge_id)以保其不二 -
产品目录 (
app/billing/products.py) — 定价之唯一真源。Pro 1月 = 250⭐,Pro 12月 = 2500⭐,Pro 终身 = 12500⭐。但改此文件,足矣. -
HMAC签名之发票负载 —
v1:{product}:{user_id_hex}:{nonce}:{sig},无此则任何人可截取发票URL,易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易易。有此,则签验破,Bot API拒之。负载≤80字节(Telegram之限为128)。 -
无往复之支付应用 — Telegram于败则重试webhook。吾插入
star_payments,以UNIQUE于charge_id;再插入则引咎。IntegrityError→ 捕获并返回既有行。绝无双倍之赏。 -
effective_tier()尊崇pro_until— 付费用户,其过期之pro_until自动复归免费,无定时任务之扰。每请必懒评。终生购置者,使pro_until定于岁次二零九九,为警示之符。 -
更新则自既有
pro_until— 购买Pro尚余十日,续购非复三十日,乃延至current_pro_until + 30 days。(Todoist此举实误,姑录之。) -
退款之流 — 管理端调用
refundStarPaymentBot API,复回滚pro_until。Telegram许于二十一日内退款. -
Bot之应答 —
PreCheckoutQueryHandler(须十秒内应答,验签并核额),MessageHandler(filters.SUCCESSFUL_PAYMENT)(唤用支付成功)。
测试:凡二十四单元,覆签验伪、额失不允、一成不迁、更生算术、永岁警卫、过期化费之备。
微应用之界面,用Telegram.WebApp.openInvoice(url, callback)行内支付。网界开账单之址于新页,为案头之备。
吾亦堵一隙于安,POST /api/billing/change-tier昔者,任一得验者,可自升为Pro,无偿,以POST {"tier": "pro"}。同日而闭之,今升需402付费,唯降回免费乃自助耳。
财化一事,尚有要言
吾方出Stars,然此服务今尚在试运行,Pro之功能,今皆赠予众人。无人费金,吾亦不促之。及吾出试运行,则启付费之制,旧有之民(凡先于此变者),所创之业,皆得永免其费。于Mini App中,有创者之风"Pro永续"之议,值12500⭐。 — 为欲早锁Pro者设,待付费模式复启,非必也。若不购,则后享免费。
故变现之途,固已备设,然可择而行。俟产品稳立,渐旺方实启之。
堆栈(若汝所问)
- FastAPI 0.115 + 异步SQLAlchemy 2.0 + Pydantic v2
- PostgreSQL 16 (asyncpg)
- Jinja2與HTMX、Alpine.js、Tailwind通過CDN——無需React,無需構建步驟
- python-telegram-bot v21用於機器人工作
-
mypy --strict通過pre-commit在每個提交中強制執行 - ~20k行Python代碼,850+ pytest測試,39 Alembic遷移
- 一鍵部署:
git push→ 生產VPS每分鐘掃描一次,應用遷移,重啟uvicorn。約60秒內啟動。
论使用Claude Code
吾与Claude Code(Anthropic之AI编程助手)共撰于今日。吾非隐之——架构之决断出吾心,然Claude乃快手,记忆代码之基甚固。每有提交,必经审阅而后推之。凡吾不解之句,必重撰之,直至能朗言其理。
代码之基无AI之滞,盖因有轨也。mypy --strict 乃因类型之误而构建失败,凡行止之变,必附以测试,Jinja之检核能察Alpine不良之式,Claude所生也。循此规矩,AI之助,犹速配之师耳。
谓此为"真"码,视乎定义。吾以为然。若非三周独运此量,亦非无架构之识与评审之味,安能善成?
誠實之統計
- 首度提交:丙申年四月初二
- 總提交數:五百一十一
- 測試:八百五十
- 約二萬行 Python 程式碼
- 活躍使用者:甚少,多出於吾校及吾友之友。吾尚未嘗試大肆宣傳——此 Reddit 討論帖乃吾初次嘗試之一。
- 用者未尝有——初试之期,Pro者,人皆得而免,终身之惠,可择焉
- 所得之财,犹未盈钱
- 其略图:父级之板,为家之阶;公之API,有符可通;原iOS,以Capacitor裹微之App
所求者何
若尔心有所动,其生之示,在getdoday.ru — 界面为俄文,然英语读者可藉浏览器翻译以导航。若欲观诸般构件如何契合(Mini App 认证、Stars 付款流程、团队共享、选择入功能标志),则 github.com/SwairIt/doday 之代码库尤有趣焉。
尔若有感于架构,于支付之流,抑或亦尝涉于"未及格而欲运SaaS"之困——吾愿闻之。
尔若自运星之合——有一节吾心未定:今吾持provider_payment_charge_id为可空,盖不知Telegram实时何故充之。有知者乎?
若尔标此库——诚助之。吾非为乐而行此,愿终得以此谋生.
俄有少年十五载,致谢.
编者附言: 若惑于何故有俄裔少年发帖于 Reddit — 今日乃开源之 MIT,吾欲其超越俄语用户。代码库为英文(文档字符串、变量名、提交信息除外——此乃俄语过去时),故贡献者众。Telegram Stars 之集成尤为通用——凡售物于 Telegram 之人均可使用。












