docs: بروزرسانی کامل مستندات — باگها، فیکسها، دیپلوی Production، CI/CD cross-deploy
- payment-gateway.md: سکشن ۸-۱۳ (ZarinPal callback, تخفیف ۱۰۰٪, VAT, ExpirePendingOrders, DeliveryStatus mapping, Production deploy) - CICD-PIPELINE-GUIDE.md: باگ cross-deploy, قالب workflow Production, جدول مقایسه دو محیط - INFRASTRUCTURE-GUIDE.md: سرور Production (45.149.79.127), DB KBS, Proto v0.0.179 - DISCOUNT-STORE-STATUS.md: وضعیت Production Deploy, فلوی پرداخت جدید - SERVER-MIRRORS-CONFIG.md: registries.yaml سرور Production - INDEX.md: تاریخ, توضیحات بروز, لینکهای سریع جدید
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# فروشگاه تخفیفی — وضعیت پیادهسازی و تسکها
|
||||
|
||||
> **تاریخ:** ۱۴۰۴/۱۱/۲۲ (2026-02-11)
|
||||
> **آخرین بروزرسانی:** ۱۴۰۴/۱۱/۲۳
|
||||
> **وضعیت کلی:** بکند کامل ✅ | بکآفیس کامل ✅ | فرانتآفیس کامل ✅
|
||||
> **آخرین بروزرسانی:** ۱۴۰۴/۱۱/۲۸ (2026-02-17)
|
||||
> **وضعیت کلی:** بکند کامل ✅ | بکآفیس کامل ✅ | فرانتآفیس کامل ✅ | Production Deploy ✅
|
||||
|
||||
---
|
||||
|
||||
@@ -162,22 +162,28 @@
|
||||
│ هر محصول: قیمت × تعداد
|
||||
│ تخفیف هر محصول: price × count × maxDiscountPercent / 100
|
||||
│ جمع کل / جمع تخفیف / مبلغ درگاه
|
||||
├─ موجودی تخفیفی کاربر: XXX تومان
|
||||
├─ کاربر تعیین میکند چقدر از تخفیفی استفاده کند (≤ سقف مجاز)
|
||||
├─ مالیات ۹٪ روی مبلغ درگاه
|
||||
├─ مبلغ قابل پرداخت = مبلغ درگاه + مالیات
|
||||
├─ ⚠️ تخفیف اجباری: همیشه حداکثر (MaxDiscountPercent) اعمال میشود
|
||||
└─ [پرداخت]
|
||||
↓
|
||||
PlaceOrder RPC:
|
||||
├─ بررسی موجودی + محاسبه
|
||||
├─ ساخت سفارش (Pending)
|
||||
├─ بررسی موجودی + محاسبه (MaxDiscountPercent اجباری)
|
||||
├─ ساخت سفارش (PaymentStatus=Pending)
|
||||
├─ رزرو موجودی انبار
|
||||
├─ اگر gateway_amount > 0 → payment_url برگردانده میشود
|
||||
├─ اگر gateway_amount > 0 → ZarinPal payment_url
|
||||
└─ اگر gateway_amount = 0 → سفارش مستقیم تکمیل
|
||||
↓
|
||||
ریدایرکت به درگاه (اگر لازم باشد)
|
||||
ریدایرکت به ZarinPal
|
||||
↓
|
||||
CompleteOrderPayment RPC (بعد از callback):
|
||||
├─ success → کسر DiscountBalance + تأیید فروش + ثبت تراکنش
|
||||
└─ failure → آزادسازی رزرو انبار + لغو سفارش
|
||||
Callback → CompleteOrderPayment RPC:
|
||||
├─ success → کسر DiscountBalance + تأیید + PaymentTransaction + DeliveryStatus=Pending
|
||||
└─ failure → آزادسازی رزرو انبار + PaymentStatus=Reject + DeliveryStatus=Cancelled
|
||||
↓
|
||||
ExpirePendingOrdersService (Background):
|
||||
├─ هر ۵ دقیقه چک میکند
|
||||
├─ سفارشات Pending بالای ۳۰ دقیقه → Reject + Cancelled
|
||||
└─ آزادسازی رزرو انبار
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user