docs: fix Regular Store payment — wallet-only, no IPG/ZarinPal

- Regular Store: Balance deduction only (SubmitShopBuyOrderCommandHandler)
  NO ZarinPal redirect, NO payment gateway
- Discount Store: DiscountBalance + ZarinPal IPG for remainder
  Added gatewayAmount=0 edge case (discount covers 100%)
- VAT: Both stores use 9% (ShopVAT=0.1 is stale/unused constant)
- Added ZarinPal usage scope note (only: Discount Store, Wallet Top-up, Package Purchase)
- Fixed BUSINESS-02: sections 2, 5.2, 5.3, 7
- Fixed BUSINESS-03: store comparison chart
- Fixed OVERVIEW-01: user journey + both store flowcharts
- Fixed OVERVIEW-03: timeline entry
This commit is contained in:
masoodafar-web
2026-02-18 23:52:35 +03:30
parent 1b04ba5326
commit b861b66cda
4 changed files with 39 additions and 25 deletions
+15 -12
View File
@@ -17,7 +17,7 @@ flowchart TD
B -->|بله| G["Login + JWT"]
G --> H{"عضو باشگاه؟"}
H -->|خیر| F["🛒 Regular Store\nخرید عادی — IPG پرداخت"]
H -->|خیر| F["🛒 Regular Store\nخرید عادی — پرداخت از کیف‌پول"]
H -->|بله| I["🏆 Club Member Dashboard"]
I --> J["فروشگاه تخفیفی\nper-product MaxDiscount%"]
@@ -126,11 +126,12 @@ flowchart TD
A1["مشاهده محصولات"] --> B1["Lazy Load — 12 per page"]
B1 --> C1["افزودن به سبد"]
C1 --> D1["بررسی موجودی"]
D1 --> E1["Checkout"]
E1 --> F1["ZarinPal IPG\n100% نقدی"]
F1 --> G1["ثبت سفارش"]
G1 --> H1["کسر موجودی"]
H1 --> I1["SMS تأیید"]
D1 --> E1["Checkout Summary\nانتخاب آدرس"]
E1 --> F1{"Balance کافی؟"}
F1 -->|بله| G1["کسر از Balance کیف‌پول\n+ VAT"]
G1 --> H1["ثبت سفارش"]
H1 --> I1["کسر موجودی"]
F1 -->|خیر| J1["❌ خطا: موجودی کیف‌پول کافی نیست"]
```
### ۵.۲ Discount Store
@@ -141,12 +142,14 @@ flowchart TD
B2 --> C2["افزودن به سبد"]
C2 --> D2["بررسی موجودی + DiscountBalance"]
D2 --> E2["محاسبه سهم تخفیف\nMaxDiscount% هر محصول"]
E2 --> F2["محاسبه سهم نقدی\nباقیمانده"]
F2 --> G2["کسر از DiscountBalance"]
G2 --> H2["ZarinPal IPG\nبرای باقیمانده نقدی"]
H2 --> I2["ثبت سفارش ترکیبی"]
I2 --> J2["کسر موجودی"]
J2 --> K2["SMS تأیید"]
E2 --> F2["محاسبه باقیمانده\ngatewayAmount = total - discountUsed"]
F2 --> G2{"gatewayAmount > 0?"}
G2 -->|بله| H2["کسر DiscountBalance\n+ ZarinPal IPG برای باقیمانده + 9% VAT"]
H2 --> I2["Redirect → ZarinPal\nCallback → ثبت سفارش"]
G2 -->|خیر| J2["فقط کسر از DiscountBalance\nبدون درگاه"]
J2 --> K2["ثبت سفارش"]
I2 --> L2["کسر موجودی + SMS تأیید"]
K2 --> L2
```
---