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:
masoodafar-web
2026-02-17 01:44:05 +03:30
parent ad31c8be97
commit 4ef4bfbeef
6 changed files with 632 additions and 32 deletions
+17 -11
View File
@@ -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
└─ آزادسازی رزرو انبار
```
---