Question packs removed at the root; all subscriptions 4 assistant questions a day; Bazaar is subscription-only
- subscription.0017/0018, payment.0013: pack plans deleted, QuestionCredit/HeartsPass models and Plan.kind / question_credits / hearts_days / Order.question_credits / hearts_days dropped. The only paid pack order was the company owner's test account (user 26). - Assistant: no credit spending; quota is the daily cap only (free 2, every plan 4, gift subscription 4). - Bazaar: verify_purchase is subscription-only (no inapp guess), start/purchase responses lose productType, verify refuses an order without a subscription. A paid order with no subscription now logs ERROR. - Removed POST /api/payment/orders (internal; no caller). Its permission tests stay. - Pack-based tests rewritten on subscriptions (refund, security, Bazaar token); pack-only test files deleted. - docs: profit table for 4/day on both payment routes plus free users; handbook, operations, CLAUDE.md current. 949 tests green. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
13
CLAUDE.md
13
CLAUDE.md
@@ -456,14 +456,17 @@ anyone who can read this repo can forge a token for any user.**
|
||||
- **محصولهای پیشخان** (پرسشِ API با توکنِ ساختگی، ۱۰۰۰۰–۱۰۶۹۹): فقط `10342` (یکماهه، تأییدِ سینیور)، `10343` (۹۰ روزه)،
|
||||
`10344` (۱۸۰ روزه)، زیرِ `com.tadrisino.math.app`؛ هر سه روی پلنها (`subscription.0014`، `0015`). بستهها دیگر فروخته نمیشوند. اتصالِ سرور به بازار از راهِ OAuthِ حسابِ شرکت است (کلیدِ پیشخان نداریم).
|
||||
- **روشهای پرداخت** در `payment/providers.py` (Strategy + factory)؛ تأییدِ خودِ پرداخت (کالبک/verify) عمداً بیرونش.
|
||||
- **فقط اشتراک** (`subscription.0016`، سینیور): یک/سه/ششماهه ۵۹۸/۸۹۸/۱٬۳۹۸ هزار تومان (= پیشخانِ بازار به گفتهی
|
||||
سینیور)، سقفِ دستیار ۵/۳/۳ در روز؛ حساب در `docs/ai-cost-and-guardrails.md` «اشتراکها». بستهها `on_sale=False`
|
||||
(کاربرِ ۲۶ یک بستهی پرداختشده و ۲۰ سوال اعتبار دارد). هر کارتِ خرید مزیتها و سقفِ دستیار را خودش میگوید.
|
||||
- **فقط اشتراک؛ بستهی سوال از ریشه حذف شد** (`subscription.0016`–`0018`، `payment.0013`؛ مالک و سینیور): مدلهای
|
||||
`QuestionCredit`/`HeartsPass`، `Plan.kind`، خرجِ اعتبار در دستیار، مسیرِ تکخریدِ بازار (`inapp`/consume) و
|
||||
`POST /api/payment/orders` (داخلی، بیمصرفکننده) رفتند. تنها سفارشِ پرداختشدهی بسته مالِ حسابِ آزمایشیِ صاحبِ شرکت
|
||||
(کاربرِ ۲۶) بود. یک/سه/ششماهه ۵۹۸/۸۹۸/۱٬۳۹۸ هزار تومان (= پیشخانِ بازار به گفتهی سینیور)، سقفِ دستیار ۴ در روز برای
|
||||
همه (و اشتراکِ هدیهی بیپلن)؛ رایگان ۲. جدولِ سود در `docs/ai-cost-and-guardrails.md` «اشتراکها».
|
||||
- **مسیر** و تمدیدِ خودکار: `docs/operations.md` «فروش در کافهبازار». `BAZAAR_DYNAMIC_PRICE_KEY` در `.env` سرور است (بکاپ:
|
||||
`.deploy-backups/env-before-bazaar-dynamic-20261012-175336`)؛ توکن فقط وقتی کدِ تخفیف قیمت را کم کرده میرود.
|
||||
- **فرانت:** دو کاشیِ «کارتِ بانکی» (پیشفرض) و «کافهبازار» همیشه کنارِ هم؛ بازار جایی که ممکن نیست غیرفعال با دلیل.
|
||||
داخلِ اپ قیمتِ پیشخان از Poolakey (`bazaarPrices`) روی کاشیِ بازار. پلِ `bazaarBuy`؛ کلیدِ RSA و `versionCode` ۲ در
|
||||
`android/`. `compileDebugKotlin` سبز؛ **APK ساخته نشده**.
|
||||
هر کارتِ اشتراک مزیتها و سقفِ دستیار را میگوید؛ تبِ فروشگاه «اشتراک». داخلِ اپ قیمتِ پیشخان از Poolakey
|
||||
(`bazaarPrices(skusJson)`) روی کاشیِ بازار. پلِ `bazaarBuy(sku, orderId, dynamicPriceToken)` فقط `subscribeProduct`؛ کلیدِ
|
||||
RSA و `versionCode` ۲ در `android/`. `compileDebugKotlin` سبز؛ **APK ساخته نشده**.
|
||||
- **سنجیده:** ۹۷۹ تست؛ روی سایتِ زنده با دموی ۱۴ و پلِ اندرویدِ ساختگی در مرورگر: کاشیها، و سرور SKUِ `10343`/«subscription»
|
||||
را به اپ داد (سفارشِ ۱۴ بعد لغو شد). **نسنجیده:** هیچ خرید، JWT یا تمدیدِ واقعی در بازار؛ برابریِ قیمتِ پیشخان با ادمین.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user