دليل إعداد وتشغيل متجر 1.0.0
مرجع عملي كامل لتثبيت المتجر، إضافة المنتجات، إعداد الدفع والشحن، إدارة الطلبات، الأمان، النسخ الاحتياطي، والمحتوى—مع توضيح ما يعمل آلياً وما يحتاج إجراءً يدوياً.
Matjar 1.0.0 Setup & Operations Guide
A complete practical reference for installation, products, payments, shipping, orders, security, backups, and content—with clear distinctions between automated and manual workflows.
جرّب كلمة أقصر أو مساراً مثل الدفع، الشحن، المنتج.
Try a shorter term such as payment, shipping, or product.
نظرة عامة على النظامSystem overview
أبرز الإمكانات المتاحة لإدارة المتجر وتشغيله.Core capabilities for managing and operating the store.
يوفر متجر واجهة بيع عربية وإنجليزية، حسابات للعملاء، كتالوجاً بخيارات متعددة، سلة وCheckout، إدارة للمخزون والطلبات والمرتجعات، وأدوات للمحتوى والتشغيل ضمن لوحة إدارة موحدة.
منتجات وتصنيفات، بحث، مفضلة، سلة، Checkout، حساب العميل، تتبع الطلب والفاتورة.
مخزون وحجوزات، طلبات، مدفوعات، شحن ثابت، ليبل محلي، مرتجعات واستردادات.
صفحات، محرر مرئي، مدونة، SEO، كوبونات، عروض، ولاء، نشرة، تقييمات ولافتات.
صلاحيات، أمان، SMTP، نسخ احتياطي، صيانة، ترقيات محلية، فحص صحة وسجلات أخطاء.
Matjar provides an Arabic and English storefront, customer accounts, a variant-aware catalog, cart and checkout, inventory, orders, returns, and content and operational tools within one administration area.
Products, categories, search, wishlist, cart, checkout, customer account, order tracking, and invoices.
Inventory and reservations, orders, payments, flat-rate shipping, local labels, returns, and refunds.
Pages, visual builder, blog, SEO, coupons, deals, loyalty, newsletter, reviews, and banners.
Permissions, security, SMTP, backups, maintenance, local upgrades, health checks, and error logs.
متطلبات الخادم والتحضيرServer requirements & preparation
المواصفات الضرورية قبل رفع الملفات.What must be ready before files are uploaded.
| العنصر | المطلوب | ملاحظات |
|---|---|---|
| PHP | 8.2 أو أحدث | استخدم إصداراً مدعوماً وحديثاً في الإنتاج. |
| قاعدة البيانات | MySQL 8 أو MariaDB حديثة | قاعدة فارغة ومستخدم يملك صلاحية الإنشاء والتعديل. |
| امتدادات PHP | PDO, pdo_mysql, mbstring, OpenSSL, fileinfo, DOM/XML, cURL, JSON, ZipArchive | ZipArchive للحزم والنسخ الشاملة؛ DOM/XML لتعقيم المحتوى الغني. |
| HTTPS | إلزامي للإنتاج | ضروري للمفاتيح والجلسات وStripe Live والمحافظ. |
| Web Root | يفضل public/ | يمكن رفع الجذر إلى public_html مع قواعد الحماية المرفقة. |
صلاحيات الكتابة وقت التثبيت
يجب أن يستطيع PHP إنشاء .env والكتابة في public/uploads وstorage وفروعه: app، app/backups، app/private، cache، cache/sessions، cache/rate-limits، وlogs. تُضبط الملكية والصلاحيات وفق نموذج الصلاحيات لدى مزود الاستضافة، مع تجنب منح 777 لجميع الملفات.
قائمة تحضير قصيرة
- نطاق موجه إلى الاستضافة
- شهادة SSL فعالة
- قاعدة بيانات وبيانات دخول
- إصدار PHP وامتداداته
- بريد المدير الآمن
- نسخة محفوظة من الحزمة الأصلية
| Item | Requirement | Notes |
|---|---|---|
| PHP | 8.2 or newer | Use a currently supported production build. |
| Database | MySQL 8 or a modern MariaDB | Use an empty database and a user allowed to create and alter tables. |
| PHP extensions | PDO, pdo_mysql, mbstring, OpenSSL, fileinfo, DOM/XML, cURL, JSON, ZipArchive | ZipArchive is used by packages/backups; DOM/XML sanitizes rich content. |
| HTTPS | Required in production | Needed for keys, sessions, Stripe Live, and wallets. |
| Web root | Prefer public/ | The root may also be placed in public_html using the included protection rules. |
Writable locations during installation
PHP must be able to create .env and write to public/uploads plus storage and its app, app/backups, app/private, cache, cache/sessions, cache/rate-limits, and logs branches. Ownership and permissions follow the hosting provider’s permission model; 777 permissions should not be granted to all files.
Preparation checklist
- Domain points to the host
- Valid SSL certificate
- Database and credentials
- Correct PHP and extensions
- Secure administrator email
- Original package retained safely
تثبيت متجر على cPanelInstalling Matjar on cPanel
دليل كامل من إعداد النطاق وقاعدة البيانات إلى تشغيل Cron.A complete guide from domain and database setup through Cron.
اختيار بنية النشر
| الطريقة | مثال للمسار | متى تُستخدم |
|---|---|---|
| الموصى بها | /home/ACCOUNT/matjarDocument Root: /home/ACCOUNT/matjar/public | عندما تسمح صفحة Domains بتحديد Document Root للنطاق أو النطاق الفرعي. تبقى ملفات التطبيق الخاصة خارج جذر الويب. |
| المتوافقة مع public_html | /home/ACCOUNT/public_html | عندما لا تسمح الاستضافة بتغيير جذر النطاق الأساسي. تُرفع الحزمة كاملة، ويعمل index.php و.htaccess في الجذر على توجيه الطلبات وحماية المجلدات الخاصة. |
ACCOUNT اسم توضيحي ويُستبدل باسم حساب cPanel الفعلي، كما يُستبدل example.com بالنطاق المرتبط بالتثبيت.
index.php وapp وpublic وstorage مباشرة داخل جذر التثبيت، لا داخل مجلد إضافي مثل Matjar-1.0.0/Matjar-1.0.0. يجب أيضاً بقاء ملفات .htaccess و.user.ini المخفية في أماكنها.خطوات التثبيت داخل cPanel
يُضاف النطاق أو النطاق الفرعي من Domains ويُوجّه إلى مسار التثبيت المختار. تُفعّل شهادة AutoSSL أو Let’s Encrypt، ويُنتظر حتى يعمل العنوان بصيغة https:// من دون تحذير.
من MultiPHP Manager أو Select PHP Version يُحدد PHP 8.2 أو أحدث. تُفعّل PDO، pdo_mysql، mbstring، OpenSSL، fileinfo، DOM/XML، cURL، JSON وZipArchive، وتُضبط حدود الرفع بما يكفي لحجم الحزمة والصور.
من MySQL Databases تُنشأ قاعدة فارغة ثم مستخدم بكلمة مرور قوية، ويُربط المستخدم بالقاعدة مع ALL PRIVILEGES. تُحفظ الأسماء الكاملة التي يضيف إليها cPanel بادئة الحساب. يكون المضيف عادة localhost والمنفذ 3306 ما لم يحدد مزود الاستضافة غير ذلك.
من File Manager تُرفع حزمة ZIP إلى مسار التثبيت ثم تُستخرج. يمكن استخدام SFTP للحزم الكبيرة. بعد الاستخراج يُتحقق من الحجم وبنية المجلدات، ثم يُحذف ملف ZIP من مساحة الويب.
يُفعّل خيار Show Hidden Files في File Manager للتأكد من وجود .htaccess في جذر المشروع وداخل public. عند استخدام public_html لا تُنقل محتويات public منفردة ولا يُحذف مجلد public.
تبدأ الملفات عادة بصلاحية 644 والمجلدات 755. يجب أن يتمكن PHP من إنشاء .env والكتابة داخل storage وفروعه وpublic/uploads. عند ظهور فشل كتابة يمكن استخدام 775 للمجلد المطلوب إذا كان نموذج الاستضافة يسمح به؛ لا تُمنح 777 لجميع الملفات.
يُفتح https://example.com/install من المتصفح، وليس /public/install. يفحص المعالج إصدار PHP والامتدادات والكتابة، ويوقف زر التثبيت إلى أن تنجح المتطلبات الأساسية.
تُدخل أسماء المتجر بالعربية والإنجليزية، بريد التواصل، والرابط الكامل في APP URL مثل https://shop.example.com من دون مسار إضافي غير مستخدم. العربية هي اللغة الافتراضية.
تُستخدم أسماء قاعدة البيانات والمستخدم الكاملة كما يعرضها cPanel، مع المضيف والمنفذ وكلمة المرور. ثم يُنشأ حساب المدير الأساسي باسم واضح وبريد صالح وكلمة مرور قوية وفريدة.
ينشئ المعالج الجداول والبيانات الأساسية وحساب المدير، ويولّد APP_KEY آمناً وملف .env، ثم ينقل إلى /signin. بعد نجاح التثبيت يعيد المسار /install التوجيه إلى تسجيل الدخول.
.env: يحتوي الملف على بيانات قاعدة البيانات ومفتاح التشفير. يجب ألا يكون قابلاً للتنزيل أو مضموماً في تذكرة دعم. بعد التثبيت يمكن ضبطه إلى 600 أو 640 إذا كانت الاستضافة تدعم ذلك وكان PHP ما يزال قادراً على قراءته.اختبارات ما بعد التثبيت
- فتح الصفحة الرئيسية و/signin عبر HTTPS
- الدخول بحساب المدير وفتح /admin/license
- رفع صورة اختبار للتأكد من صلاحية
public/uploads - التأكد أن طلب
/.envو/app/يعيد 403 أو 404 ولا يعرض محتوى - فتح صفحة System Health ومراجعة الأخطاء
إعداد Cron من cPanel
من Cron Jobs تُضاف مهمة كل 5–15 دقيقة. يُستخدم مسار PHP CLI الذي يعرضه مزود الاستضافة والمسار المطلق الفعلي للتثبيت. أمثلة:
تدير المهمة النسخ التلقائي المستحق وتنظف جلسات Checkout والطلبات اليدوية والحجوزات المنتهية. يُفضّل إبقاء بريد أخطاء Cron مفعلاً أثناء الاختبار الأول؛ حركة الزوار ليست بديلاً موثوقاً عن Cron.
مشكلات cPanel الشائعة
| العرض | الفحص المقترح |
|---|---|
| خطأ 500 بعد الرفع | مراجعة Errors في cPanel، إصدار PHP والامتدادات، سلامة .htaccess، وملكية الملفات. |
| الرئيسية تعمل وبقية الروابط 404 | التأكد من وجود .htaccess ودعم mod_rewrite وAllowOverride لدى مزود الاستضافة. |
| التصميم أو الصور لا تظهر | التحقق من بقاء public/assets وبنية التثبيت وAPP URL وعدم حذف قواعد الجذر. |
| Access denied لقاعدة البيانات | مراجعة بادئة cPanel في اسم القاعدة والمستخدم، كلمة المرور، وربط المستخدم بالقاعدة مع ALL PRIVILEGES. |
فشل إنشاء .env أو الكتابة | مراجعة ملكية جذر التثبيت وصلاحيات storage وpublic/uploads وفق نموذج PHP في الاستضافة. |
Choose the deployment layout
| Method | Example path | When to use it |
|---|---|---|
| Recommended | /home/ACCOUNT/matjarDocument Root: /home/ACCOUNT/matjar/public | Use when Domains allows the document root of a domain or subdomain to be changed. Private application files remain outside the general web root. |
| public_html compatible | /home/ACCOUNT/public_html | Use when the primary-domain document root cannot be changed. Upload the complete package; the root index.php and .htaccess route requests and protect private directories. |
ACCOUNT is a placeholder for the actual cPanel account name, and example.com is replaced by the domain connected to the installation.
index.php, app, public, and storage must appear directly in the installation root, not inside an extra directory such as Matjar-1.0.0/Matjar-1.0.0. Hidden .htaccess and .user.ini files must remain in place.Detailed cPanel installation
Add the domain or subdomain under Domains and point it to the selected installation path. Enable AutoSSL or Let’s Encrypt and wait until the address loads through https:// without a certificate warning.
Use MultiPHP Manager or Select PHP Version to choose PHP 8.2 or newer. Enable PDO, pdo_mysql, mbstring, OpenSSL, fileinfo, DOM/XML, cURL, JSON, and ZipArchive, and ensure upload limits are sufficient for the package and product images.
Under MySQL Databases, create an empty database and a user with a strong password, then assign that user to the database with ALL PRIVILEGES. Retain the complete cPanel-prefixed names. The host is normally localhost and the port 3306 unless the hosting provider specifies otherwise.
Upload the ZIP through File Manager into the selected installation path and extract it. SFTP can be used for large packages. Verify the extracted size and folder structure, then remove the ZIP from the web space.
Enable Show Hidden Files in File Manager and confirm that .htaccess exists in the project root and in public. For a public_html deployment, do not move only the contents of public or delete the public directory.
Files normally begin at 644 and directories at 755. PHP must be able to create .env and write to storage, its branches, and public/uploads. If a write check fails, 775 may be used for the required directory where the hosting model permits it; do not grant 777 to all files.
Open https://example.com/install, not /public/install. The wizard checks PHP, required extensions, and writable paths, and disables installation until essential checks pass.
Enter the Arabic and English store names, contact email, and complete APP URL such as https://shop.example.com without an unused extra path. Arabic is the default language.
Use the complete database and user names shown by cPanel, together with the host, port, and password. Create the primary administrator with a clear name, valid email, and a strong unique password.
The wizard creates the schema, baseline data, and administrator, generates a secure APP_KEY and .env, then redirects to /signin. After completion, /install redirects to sign-in.
.env: this file contains database credentials and the encryption key. It must not be downloadable or included in a support ticket. After installation, permissions may be set to 600 or 640 when supported by the host and PHP can still read the file.Post-installation checks
- Open the homepage and /signin over HTTPS
- Sign in as the administrator and open /admin/license
- Upload a test image to verify
public/uploadsaccess - Confirm that requests to
/.envand/app/return 403 or 404 without content - Open System Health and review reported issues
Configure Cron in cPanel
Under Cron Jobs, add a task every 5–15 minutes. Use the PHP CLI path supplied by the hosting provider and the actual absolute installation path. Examples:
The task runs due automatic backups and cleans expired checkout sessions, manual orders, and stock reservations. Cron error email should remain enabled during the first test; web traffic is not a reliable scheduler.
Common cPanel issues
| Symptom | Suggested check |
|---|---|
| HTTP 500 after upload | Review cPanel Errors, PHP version and extensions, .htaccess integrity, and file ownership. |
| Homepage works but other routes return 404 | Confirm that .htaccess exists and that the host supports mod_rewrite and AllowOverride. |
| Styles or images are missing | Confirm that public/assets remains present, the installation structure is correct, APP URL is accurate, and root rewrite rules remain intact. |
| Database access denied | Check cPanel prefixes in the database and user names, password, and the user-to-database assignment with ALL PRIVILEGES. |
.env creation or write check fails | Review installation-root ownership and permissions for storage and public/uploads according to the host’s PHP model. |
إدارة الترخيصLicense management
التفعيل والفحص والتجديد وإلغاء التفعيل.Activation, checking, renewal, and deactivation.
بعد التثبيت تبقى واجهة المتجر العامة متاحة، بينما تُقفل صفحات الإدارة إلى أن يُفعّل ترخيص صالح. تتم إدارة العملية كاملة من /admin/license.
الحصول على كود الترخيص
يتم شراء الترخيص من dapn.net/digital-product-14.html. تُستكمل بيانات حساب العميل والطلب والدفع وفق الخيارات المعروضة في موقع المزود.
بعد اعتماد الطلب تُفتح صفحة تراخيص المشتريات من حساب العميل لدى dapn.net. تعرض الصفحة الترخيص المرتبط بالمنتج وبياناته المتاحة.
يُنسخ كود الترخيص كما يظهر في حساب العميل، من دون مسافات إضافية أو تغيير للأحرف. رقم الطلب أو رقم الفاتورة ليس بديلاً عن كود الترخيص.
تُراجع بيانات النطاق وحالة الترخيص وتاريخ الانتهاء قبل التفعيل. إذا كان الترخيص مرتبطاً بنطاق مختلف، يُلغى تفعيله من التثبيت السابق أو تُفتح تذكرة لدى المزود.
إذا اكتمل الطلب ولم يظهر الكود في صفحة التراخيص، تُفتح تذكرة من مركز الدعم مع رقم الطلب، من دون نشر بيانات الدفع أو كلمة المرور.
إضافة الكود وتفعيل المتجر
يُفتح /signin ثم /admin/license. تظل صفحة الترخيص متاحة حتى عندما تكون بقية صفحات الإدارة مقفلة.
يُلصق الكود في حقل «أدخل أو حدّث كود الترخيص» ثم يُضغط «تفعيل الترخيص» مرة واحدة. لا يُضاف اسم النطاق أو البريد أو أي API secret إلى الحقل.
يرسل النظام كود الترخيص ومعرف المنتج والنطاق ومعرف التثبيت إلى المزود عبر HTTPS، ثم يخزن الكود مشفراً ويعرض نسخة مخفية جزئياً منه.
تُراجع الحالة والنطاق والمنتج وتاريخا التفعيل والانتهاء والمدة المتبقية وآخر فحص والفحص القادم. تعني الحالة «فعال» أن صفحات الإدارة أصبحت متاحة.
يُستخدم زر «إعادة الفحص» بعد تجديد الترخيص أو تصحيح النطاق. تُخزَّن نتيجة الفحص الناجح لمدة 12 ساعة، وتوجد مهلة اتصال حتى 48 ساعة لترخيص كان صالحاً ثم تعذر الوصول إلى المزود.
قبل نقل المتجر إلى نطاق آخر، يُلغى التفعيل من الصفحة نفسها. تتطلب العملية كلمة مرور المدير الأساسي وتأكيد المزود عن بُعد قبل حذف بيانات التفعيل المحلية.
After installation, the public storefront remains available while administration pages stay locked until a valid license is activated. The complete process is managed at /admin/license.
Obtain the license code
The license is purchased from dapn.net/digital-product-14.html. Customer account, order, and payment details are completed according to the options shown by the provider.
After the order is approved, open Purchase Licenses in the customer’s dapn.net account. The page displays the license associated with the product and its available details.
Copy the code exactly as shown in the customer account, without extra spaces or changed characters. An order number or invoice number is not a substitute for the license code.
Review the domain, status, and expiry date before activation. If the license is attached to another domain, deactivate it from the previous installation or open a provider ticket.
If the order is complete but no code appears under licenses, open a ticket through the support center and include the order number without sharing payment credentials or passwords.
Add the code and activate Matjar
Open /signin, then /admin/license. The license page remains available while other administration pages are locked.
Paste the code into “Enter or update license key” and select “Activate license” once. Do not add the domain, email, or an API secret to this field.
The system submits the license code, product identifier, domain, and installation ID to the provider over HTTPS, then stores the code encrypted and displays a masked form.
Review status, domain, product, activation and expiry dates, remaining time, last check, and next check. An Active status means administration pages are available.
Use “Recheck license” after renewal or a domain correction. A successful result is cached for 12 hours, and a 48-hour connectivity grace period applies to a previously valid license when the provider cannot be reached.
Before moving the store to another domain, deactivate the license from the same page. The primary administrator password and remote provider confirmation are required before local activation data is removed.
أول تسجيل دخول وترتيب الإعدادFirst sign-in & setup order
ترتيب عملي يمنع إطلاق متجر ناقص.A practical order that avoids an incomplete launch.
- فعّل الترخيص ثم افتح /admin/system-health وعالج المتطلبات الحمراء.
- أكمل اسم المتجر والشعار والرابط والبريد والعنوان والعملة والدولة والضريبة.
- اضبط SMTP وأرسل رسالة اختبار قبل تفعيل التحقق البريدي أو OTP أو النشرة.
- اضبط Stripe Test أو طرق الدفع اليدوية، ثم الشحن وأسعار كل طريقة.
- أنشئ التصنيفات وراجع المنتجات والأسعار والمخزون والصور وحقوق استخدامها.
- نفّذ طلباً كاملاً: منتج بخيارات، دفع، فاتورة، تجهيز، ليبل، تتبع، وإشعار.
- أنشئ نسخة احتياطية، اضبط Cron، راجع سياسة الخصوصية والشحن والمرتجعات، ثم انشر.
- Activate the license, then open /admin/system-health and resolve red requirements.
- Complete the store name, logo, URL, email, address, currency, country, and tax.
- Configure SMTP and send a test before enabling email verification, administrator OTP, or newsletter flows.
- Configure Stripe Test or manual payments, then shipping and every method’s price.
- Create categories and review all products, prices, stock, images, and usage rights.
- Run a complete order: variant product, payment, invoice, fulfillment, label, tracking, and notification.
- Create a backup, configure Cron, review privacy/shipping/return policies, and then launch.
هوية الموقع وإعدادات المتجرSite identity & store settings
الاسم، الوصف، التواصل، العملة، والسياسات التشغيلية.Names, description, contact, currency, and operating policies.
الإعدادات العامة /settings
| المجموعة | الخيارات | الأثر |
|---|---|---|
| الاسم والعنوان | اسم عربي، اسم إنجليزي، وصف الرئيسية حتى 160 حرفاً | الرئيسية: «اسم المتجر | الوصف». بقية الصفحات: «اسم المتجر | اسم الصفحة». |
| الاتصال | بريد التواصل وAPP URL | يستخدمان في الروابط والتنبيهات وبيانات الصفحة. |
| الهيدر | إظهار بحث الهيدر، خط الواجهة | يتحكم في التصفح والمظهر العام. |
| الهوية | شعارات Light/Dark لـRTL وLTR، شعار الليبل، favicon | JPG/PNG/WebP حتى 5MB؛ favicon ICO/PNG حتى 2MB. |
| الفوتر | صورة وسائل الدفع حتى 3MB | صورة تعريفية فقط؛ لا تفعّل بوابة دفع. |
| الاجتماعي | Facebook, X, Instagram, LinkedIn, YouTube, TikTok, WhatsApp, Telegram, GitHub | أدخل الرابط وفعّل الشبكة المطلوبة فقط. |
إعدادات التشغيل /admin/store/settings
- بريد وهاتف وعنوان المتجر
- العملة والدولة
- حد المخزون المنخفض
- بادئة رقم الطلب
- تشغيل/إيقاف المتجر
- تشغيل المرتجعات ومدتها
- اقتراحات السلة
- عنوان خريطة التواصل
اضبط مدة انتهاء الطلب اليدوي غير المدفوع بين 1 و168 ساعة، وحدود طلب الضيف بحسب IP والبريد ونافذة الزمن، وخيار استثناء الدفع عند الاستلام من الانتهاء. الإعداد الافتراضي للانتهاء 24 ساعة.
العملات المتاحة
General settings /settings
| Group | Options | Effect |
|---|---|---|
| Name & title | Arabic name, English name, home description up to 160 characters | Home: “Store name | description”. Other pages: “Store name | page name”. |
| Contact | Contact email and APP URL | Used for generated links, alerts, and page identity. |
| Header | Header search visibility and interface font | Controls navigation and general appearance. |
| Brand assets | Light/dark RTL and LTR logos, label logo, favicon | JPG/PNG/WebP up to 5MB; ICO/PNG favicon up to 2MB. |
| Footer | Payment-method image up to 3MB | Visual information only; it does not enable a gateway. |
| Social links | Facebook, X, Instagram, LinkedIn, YouTube, TikTok, WhatsApp, Telegram, GitHub | Enter a URL and enable only the required networks. |
Operating settings /admin/store/settings
- Store email, phone, and address
- Currency and country
- Low-stock threshold
- Order-number prefix
- Store enabled/disabled
- Returns and return window
- Cart suggestions
- Contact-map address
Set manual unpaid-order expiry between 1 and 168 hours, guest-order limits by IP and email within a time window, and whether cash on delivery is exempt from expiry. The default expiry is 24 hours.
Available currencies
اللغات وترجمة المنتجاتLanguages & product translation
العربية مصدر المحتوى، واللغات الأخرى واجهات مترجمة.Arabic is the content source; other languages are translated views.
العربية هي لغة المصدر الثابتة. الترجمة العامة عبر Google Translate مفعلة افتراضياً للرموز en,sv,de,fr,es,tr,it,nl، ويمكن تعديل القائمة بالفواصل. يدعم الكتالوج أيضاً pt, pl, da, no, fi, ru, uk, el, ro, cs, hu, he, fa, ur, hi, id, ms, th, ja, ko, zh-CN, zh-TW. يتغير الاتجاه تلقائياً للعربية والعبرية والفارسية والأردية.
ترجمة حقول المنتج من العربية إلى الإنجليزية
| المزود | الإعداد | ملاحظات |
|---|---|---|
| MyMemory | لا يحتاج مفتاحاً | أسهل للبدء، مع حدود وجودة قد تكون أقل. |
| OpenAI | API key + موديل، الافتراضي gpt-4o-mini | المفتاح يحفظ مشفراً؛ يرسل النص إلى خدمة خارجية. |
| Google Cloud Translate v2 | API key | يحتاج مشروعاً وفوترة حسب Google. |
من نموذج المنتج استخدم «ترجمة حقول EN الفارغة» للحفاظ على النص الموجود، أو «ترجمة واستبدال EN» بعد التأكيد. الحد 40 طلباً بالدقيقة للجلسة و12,000 حرف للطلب.
Arabic is the fixed source language. General Google Translate support defaults to en,sv,de,fr,es,tr,it,nl and accepts a comma-separated list. The catalog also supports pt, pl, da, no, fi, ru, uk, el, ro, cs, hu, he, fa, ur, hi, id, ms, th, ja, ko, zh-CN, and zh-TW. Direction switches automatically for Arabic, Hebrew, Persian, and Urdu.
Translating product fields from Arabic to English
| Provider | Configuration | Notes |
|---|---|---|
| MyMemory | No key required | Easiest option to start with, with possible service limits and lower quality. |
| OpenAI | API key + model; default gpt-4o-mini | The key is encrypted; text is sent to an external service. |
| Google Cloud Translate v2 | API key | Requires a Google project and any applicable billing. |
In the product form, use “Translate empty EN fields” to preserve existing copy, or “Translate and replace EN” after confirmation. The limit is 40 requests per minute per session and 12,000 characters per request.
تخطيط المتجر والمظهرStore layout & appearance
تخطيط الكتالوج، الفوتر، القالب والألوان.Catalog layout, footer, theme, and colors.
تخطيط الواجهة /admin/store/layout
- عرض الكتالوج: شبكة، صفوف، أو شبكة كبيرة.
- الرئيسية: جميع المنتجات مع تحميل مستمر، تصنيف واحد، أو كتل من عدة تصنيفات.
- التصنيف الافتراضي، وعرض إطار صورة المنتج من 320–1400 وارتفاعه من 240–1200.
- الفوتر: إظهار صورة الدفع، حقوق النشر، الخصوصية والشروط، ومبدّل اللغة؛ وتحديد Left/Center/Right لكل عنصر.
منشئ القالب /admin/theme-builder
اختر Preset: Matjar Blue أو Emerald أو Indigo أو Amber أو Slate، ثم عدّل ألوان الهوية والحالات والوضعين الفاتح/الداكن المتاحة. يمكن ضبط زوايا البطاقات والأزرار والحقول، عرض الشريط الجانبي، عرض المحتوى، الكثافة، الظلال، موضع الشعار، وCustom CSS حتى 20,000 حرف.
Storefront layout /admin/store/layout
- Catalog view: grid, rows, or large grid.
- Homepage: all products with infinite loading, one category, or blocks from several categories.
- Default category and product image frame width 320–1400, height 240–1200.
- Footer: show payment image, copyright, privacy/terms, and language switcher; place each at Left/Center/Right.
Theme Builder /admin/theme-builder
Start with Matjar Blue, Emerald, Indigo, Amber, or Slate, then customize the available brand, status, light, and dark colors. Adjust card/button/input radii, sidebar widths, content width, density, shadows, logo position, and up to 20,000 characters of custom CSS.
التصنيفات وأنواع المنتجاتCategories & product types
نظّم الكتالوج قبل إضافة المنتجات.Structure the catalog before adding products.
إنشاء تصنيف /admin/store/categories
أدخل الاسم بالعربية والإنجليزية، slug، التصنيف الأب، نوع المنتج الافتراضي، الترتيب، الوصفين، الصورة، وحالتي «فعال» و«يظهر في الرئيسية». استخدم slug قصيراً لاتينياً وثابتاً لأنه يدخل في الروابط والاستيراد.
الأنواع المضمنة
النوع يحدد حقول المواصفات والخيارات المناسبة، مثل التخزين والذاكرة للإلكترونيات، المقاس والخامة للملابس، التركيز والحجم للعطور، أو ISBN واللغة للكتب. تُستخدم الأنواع والخصائص المضمنة مباشرة، بينما لا يتوفر إنشاء أنواع وخصائص مخصصة من لوحة الإدارة.
Create a category /admin/store/categories
Enter Arabic/English names, slug, parent, default product type, order, both descriptions, an uploaded image, and the Enabled/Homepage flags. Use a short, stable Latin slug because URLs and CSV import depend on it.
Built-in product types
A type selects relevant specification and option fields—for example storage/RAM for electronics, size/material for clothing, concentration/volume for fragrance, or ISBN/language for books. Built-in types and properties are available directly; custom type and property creation is not available in administration.
إضافة وتحرير منتجAdd & edit a product
كل حقول المنتج ومسار عمل مقترح.Every product field and a recommended workflow.
افتح /admin/store/products ثم «إضافة منتج». ابدأ بالبيانات الإلزامية ثم أكمل المحتوى والتسعير والمخزون والصور والخيارات.
| المجموعة | الحقول الفعلية | إرشاد |
|---|---|---|
| التعريف | الاسم AR/EN، التصنيف، النوع، العلامة AR/EN، SKU/الموديل، slug | الاسم والسعر إلزاميان. يُولّد SKU يبدأ MJ إن كان فارغاً. |
| الحالة | منشور/فعال، مسودة، مخفي، سلة المحذوفات | استخدم المسودة حتى تكتمل الصور والسعر والمخزون. |
| المحتوى | وصف قصير وكامل AR/EN، مواصفات، ملاحظة توصيل AR/EN، جدول مقاسات AR/EN | اجعل الوصف القصير مساعداً على اتخاذ قرار شراء سريع، والوصف الكامل للمعلومات الدقيقة. |
| التسعير | سعر البيع، التكلفة، السعر القديم | السعر القديم يعرض المقارنة؛ لا تجعله أقل من سعر البيع. |
| المخزون | الكمية، حد منخفض، كمية إعادة الطلب | حدود التنبيه لا تطلب من المورد تلقائياً. |
| الشحن | وزن الشحن وملاحظة التوصيل | الوزن لا يدخل في تسعير طرق الشحن الثابتة الحالية. |
| الوسائط | رفع صور متعدد وترتيبها | الأولى هي الرئيسية. |
صياغة المحتوى
- الوصف القصير: 1–3 جمل تلخص الفائدة وأبرز ما يميّزه.
- الوصف الكامل: الاستخدام، المواد/المكونات، المقاسات، محتويات العبوة، العناية والتحذيرات الحقيقية.
- المواصفات: قيم دقيقة قابلة للمقارنة، لا عبارات تسويقية.
- ملاحظة التوصيل: وقت تجهيز أو شرط خاص، مع عرض المدد والشروط المؤكدة فقط.
Open /admin/store/products and select “Add product.” Start with required fields, then complete content, pricing, stock, images, and options.
| Group | Actual fields | Guidance |
|---|---|---|
| Identity | AR/EN name, category, type, AR/EN brand, SKU/model, slug | Name and price are required. An MJ-prefixed SKU is generated if empty. |
| Status | Published/active, draft, hidden, trash | Keep as draft until images, price, and stock are ready. |
| Content | AR/EN short/full description, specifications, AR/EN delivery note, AR/EN size chart | Use the short copy for a quick decision and full copy for exact details. |
| Pricing | Selling price, cost, old price | Old price shows comparison; do not set it below the selling price. |
| Inventory | Quantity, low-stock level, reorder quantity | Alert thresholds do not order from a supplier automatically. |
| Shipping | Shipping weight and delivery note | Weight is not used by the current flat-rate shipping methods. |
| Media | Multiple image upload and ordering | The first image is primary. |
Writing product copy
- Short description: 1–3 sentences with the key benefit and differentiator.
- Full description: use, materials/ingredients, sizing, box contents, care, and truthful warnings.
- Specifications: exact, comparable values—not marketing phrases.
- Delivery note: confirmed preparation times or special conditions only.
الخيارات والمتغيراتOptions & variants
المقاس واللون والتخزين وكل تركيبة قابلة للبيع.Size, color, storage, and every sellable combination.
يعرض النوع حقولاً ديناميكية قد تكون نصاً أو رقماً أو نعم/لا أو قائمة أو تاريخاً، وبعضها مواصفة وبعضها خيار متغير.
اختر القيم الجاهزة، أضف قيماً مخصصة عند الحاجة، وحدد القيمة الافتراضية التي تظهر أولاً.
ينشئ النظام حاصل ضرب القيم ويقصّ القائمة بصمت عند نحو 500 تركيبة؛ قد يحتفظ التنفيذ الحالي بـ501، لذلك قلل القيم غير الضرورية مسبقاً.
SKU، السعر، السعر القديم، التكلفة، المخزون، والصورة. الحقول الفارغة ترث المنتج الأب.
The type exposes dynamic text, number, yes/no, select, or date fields. Some are specifications; others generate variants.
Choose prepared values, add custom values where needed, and mark the default selection shown first.
The system creates the Cartesian product and limits it to roughly 500 combinations; the resulting total may reach 501, so reduce unnecessary values in advance.
SKU, price, old price, cost, stock, and image. Blank fields inherit the parent product.
صور المنتجات والاستيرادProduct images & import
الرفع، تحليل الصورة، استيراد URL وCSV.Uploads, image analysis, URL import, and CSV.
رفع الصور
- الصيغ: JPG/JPEG/PNG/GIF/WebP، حتى 10MB للصورة.
- ارفع عدة صور واسحب لإعادة الترتيب؛ الأولى هي الصورة الرئيسية.
- واجهة التفاصيل تعرض حتى 12 صورة. توصية 250×250 إرشادية فقط؛ لا يوجد Resize تلقائي.
- يمكن إزالة الصور الجديدة قبل الحفظ. الصور المحفوظة تعرض خيار جعلها رئيسية، ولا يظهر حذف مباشر واضح لها من النموذج الحالي.
تحليل الصورة عبر Gemini
من إعدادات المتجر فعّل التحليل، أدخل Gemini API key واختر الموديل (الافتراضي gemini-2.5-flash-lite). يحلل أول صورة ويقترح الاسم والوصف والعلامة والمواصفات المرئية، بوضع ملء الفارغ أو الاستبدال. لا يولّد السعر أو المخزون أو SKU؛ راجع كل اقتراح.
استيراد منتج من رابط
تجلب الأداة صفحة HTTP/HTTPS حتى 2MB و4 تحويلات، وتستخرج JSON-LD Product وOpen Graph وTwitter والعنوان والوصف والعلامة وSKU/الموديل والسعر/العملة والصور. اختر الحقول المطلوبة ويمكن تنزيل حتى 6 صور.
CSV /admin/store/import
| النوع | الأعمدة | السلوك |
|---|---|---|
| إلزامي | sku, name_en, price | يُرفض الصف إذا غاب أحدها أو كان غير صالح. |
| مدعوم | slug, name_ar, old_price, stock_quantity, category_slug, status, is_active | يحدّث المنتج الموجود بحسب SKU أو ينشئ جديداً. |
| الحدود | 5MB افتراضياً، سقف 20MB، حتى 5000 صف | التصنيف يجب أن يكون موجوداً بنفس slug. |
| غير مدعوم في CSV | صور، أوصاف، نوع، خيارات، متغيرات، مواصفات، تكلفة، وزن، SEO | أكملها بعد الاستيراد أو استخدم نسخة Backup كاملة. |
تصدير CSV للمنتجات لا يتضمن category_slug، لذلك ليس Round-trip كاملاً. استيراد/تصدير JSON أيضاً ليس بديلاً عن نسخة DB + files الموقعة.
Image upload
- Formats: JPG/JPEG/PNG/GIF/WebP, up to 10MB per image.
- Upload several images and drag to reorder; the first is primary.
- The detail view displays up to 12 images. The 250×250 recommendation is advisory; no automatic resize is performed.
- New images can be removed before saving. Existing images offer “make primary,” but the current form has no clear direct delete action.
Gemini image analysis
Enable analysis in store settings, enter a Gemini API key, and choose a model (default gemini-2.5-flash-lite). The first image can suggest names, descriptions, brand, and visible specifications in fill-empty or replace mode. It does not generate price, stock, or SKU; review every suggestion.
Import from a product URL
The tool fetches an HTTP/HTTPS page up to 2MB and four redirects, then extracts JSON-LD Product, Open Graph, Twitter data, title, description, brand, SKU/model, price/currency, and images. Select the desired fields and download up to six images.
CSV /admin/store/import
| Type | Columns | Behavior |
|---|---|---|
| Required | sku, name_en, price | A row is rejected when one is missing or invalid. |
| Supported | slug, name_ar, old_price, stock_quantity, category_slug, status, is_active | Updates by SKU or creates a new product. |
| Limits | 5MB default, 20MB hard cap, up to 5,000 rows | The category must already exist with the same slug. |
| Not supported in CSV | Images, descriptions, type, options, variants, specifications, cost, weight, SEO | Complete these later or use a full signed backup. |
Product CSV export omits category_slug, so it is not a complete round trip. General JSON import/export is also not a substitute for a signed DB + files backup.
إدارة المخزونInventory management
الكميات والحركات والحجوزات والتنبيهات.Quantities, movements, reservations, and alerts.
من /admin/store/inventory راقب إجمالي المخزون، منخفض/نافد المخزون، مستويات إعادة الطلب، قيمة المخزون بسعر التكلفة، وجدول آخر 200 حركة. يمكن تصدير CSV.
تزيد الكمية الحالية بالقيمة المدخلة وتسجل السبب والمستخدم والوقت.
تخفض الكمية مع منع النتيجة غير الصالحة وتسجيل الحركة.
يستبدل الكمية بقيمة دقيقة؛ استخدمه بعد الجرد الفعلي مع ملاحظة.
يحجز النظام مخزون المنتج أو المتغير أثناء بوابة الدفع ثم يلتقطه أو يحرره بصورة آمنة.
يتحقق Checkout من المخزون على الخادم، لا من الرقم الظاهر في المتصفح فقط. عند نجاح الدفع يثبت الخصم؛ عند الفشل أو الإلغاء أو الانتهاء يحرر الحجز مع منع التكرار.
At /admin/store/inventory, monitor total, low/out-of-stock counts, reorder levels, inventory value at cost, and the latest 200 movements. CSV export is available.
Increases current stock by the entered amount and records reason, user, and time.
Reduces stock while preventing an invalid result and recording the movement.
Replaces stock with an exact value; use after a physical count and add a note.
The system reserves product or variant stock during gateway payment, then captures or releases it safely.
Checkout verifies stock on the server, not only the browser. Successful payment commits the deduction; failure, cancellation, or expiry releases the reservation idempotently.
بوابات وطرق الدفعPayment gateways & methods
مستوى الأتمتة المتاح لكل طريقة دفع.The available automation level for each payment method.
تدار الطرق من /admin/store/payment-gateways. تفعيل صف أو رفع أيقونة لا يعني وجود تكامل API؛ يعتمد Checkout على وجود Adapter حقيقي ومفاتيح صالحة.
| الطريقة | نوع التكامل | حالة الطلب | ملاحظة |
|---|---|---|---|
| Stripe + البطاقات والمحافظ وKlarna/iDEAL/Swish/Bancontact | آلي فعلي | يُؤكد من Stripe وWebhook | يحتاج مفاتيح صحيحة وHTTPS في Live. |
| تحويل بنكي | يدوي | Pending / غير مدفوع | الإدارة تؤكد بعد التحقق خارج النظام. |
| USDT | يدوي | Pending / غير مدفوع | أدخل الشبكة والعنوان والتعليمات في الوصف. |
| الدفع عند الاستلام | يدوي | Pending حتى التحصيل | يمكن تجهيزه وشحنه قبل تعليم الدفع. |
| PayPal | إعداد أولي فقط | لا يظهر في Checkout | لا يتوفر Adapter للإنشاء أو الالتقاط أو الاسترداد. |
حالات الدفع
سجل المعاملات Append-only ولا يمكن حذفه من واجهة الإدارة. يمنع تكرار مرجع المزود، وتسجيل أكثر من دفعة ناجحة للطلب، أو استرداداً يتجاوز الإجمالي. الطلب المدفوع لا يعود إلى Pending/Failed.
Methods are managed at /admin/store/payment-gateways. Enabling a row or uploading an icon does not create an API integration; checkout requires a real adapter and valid credentials.
| Method | Integration type | Order result | Note |
|---|---|---|---|
| Stripe + cards, wallets, Klarna/iDEAL/Swish/Bancontact | Real automation | Confirmed by Stripe and webhook | Needs valid keys and HTTPS in Live. |
| Bank transfer | Manual | Pending / unpaid | Administration confirms after external verification. |
| USDT | Manual | Pending / unpaid | Put network, address, and instructions in the description. |
| Cash on delivery | Manual | Pending until collected | May be prepared and shipped before payment is marked. |
| PayPal | Configuration placeholder | Unavailable at checkout | No create, capture, or refund adapter is available. |
Payment states
The transaction ledger is append-only and cannot be deleted from administration. It prevents duplicate provider references, more than one successful payment per order, and refunds beyond the total. A paid order cannot be moved back to Pending/Failed.
إعداد Stripe بالتفصيلDetailed Stripe setup
Test أولاً، Webhook صحيح، ثم الانتقال إلى Live.Test first, correct webhook, then move to Live.
أكمل التحقق التجاري، العملة والدولة وطرق الدفع المتاحة في Stripe Dashboard.
فعّل Stripe وأدخل Publishable key يبدأ pk_test_ وSecret key يبدأ sk_test_ أو rk_test_. لا تخلط وضعين.
زر Test connection يتصل بحساب Stripe ويعرض Account ID. ترك حقل Secret فارغاً عند تعديل لاحق يحافظ على القيمة المخزنة.
استخدم زر الإنشاء/المزامنة أو أنشئ Endpoint في Stripe إلى https://YOUR-DOMAIN/webhooks/stripe.
payment_intent.succeeded وpayment_intent.payment_failed وcharge.refunded، ثم انسخ Signing secret الذي يبدأ whsec_.
تحقق من نجاح الدفع، إنشاء الطلب والفاتورة، تحديث المخزون، وصول Webhook، وسجل المعاملة.
تأكد من HTTPS وAPP URL، ثم أدخل مفاتيح pk_live_ وsk_live_/rk_live_ وWebhook Live مستقل واختبر بمبلغ صغير.
طرق Stripe الموجودة
| العرض | التنفيذ | شرط الظهور الأهم |
|---|---|---|
| Visa / Mastercard / American Express | card | حساب Stripe وعملة/دولة مدعومة. |
| Apple Pay | card wallet | جهاز/متصفح مؤهل ونطاق مسجل إن فُرض التحقق. |
| Google Pay | card wallet | جهاز/متصفح مؤهل ونطاق مسجل إن فُرض التحقق. |
| Link | card / Link | يمكن تقييده للعملاء المحفوظين. |
| Klarna | klarna | بلد وعميل وعملة مؤهلة؛ دول الكود تشمل شمال/غرب أوروبا وUS. |
| iDEAL | ideal | EUR فقط. |
| Swish | swish | SEK فقط. |
| Bancontact | bancontact | EUR فقط. |
Apple Pay وGoogle Pay ليسا بوابتين مستقلتين؛ يظهران كخيارين مؤهلين داخل Stripe Payment Element بحسب الحساب والعميل والجهاز. بيانات البطاقة يجمعها Stripe.js ولا يخزنها المتجر.
كيف يتحقق متجر من الدفع؟
Complete business verification, currency/country setup, and eligible methods in Stripe Dashboard.
Enable Stripe and enter a pk_test_ publishable key plus an sk_test_ or rk_test_ secret. Never mix modes.
Test connection calls the Stripe account and displays its Account ID. Leaving a stored secret blank during a later edit preserves it.
Use create/synchronize, or add an endpoint in Stripe pointing to https://YOUR-DOMAIN/webhooks/stripe.
payment_intent.succeeded, payment_intent.payment_failed, and charge.refunded; copy the whsec_ signing secret.
Verify payment, order and invoice creation, stock update, webhook receipt, and the transaction record.
Confirm HTTPS and APP URL, enter independent pk_live_, sk_live_/rk_live_, and Live webhook values, then test a small real amount.
Available Stripe methods
| Presentation | Implementation | Main visibility condition |
|---|---|---|
| Visa / Mastercard / American Express | card | Supported Stripe account, currency, and country. |
| Apple Pay | card wallet | Eligible device/browser and registered domain when enforced. |
| Google Pay | card wallet | Eligible device/browser and registered domain when enforced. |
| Link | card / Link | May be limited to saved customers. |
| Klarna | klarna | Eligible buyer, country, and currency; code covers Northern/Western Europe and US. |
| iDEAL | ideal | EUR only. |
| Swish | swish | SEK only. |
| Bancontact | bancontact | EUR only. |
Apple Pay and Google Pay are not independent gateways; they appear as eligible Stripe Payment Element wallet presentations based on account, buyer, device, and browser. Stripe.js collects card details; Matjar does not store them.
How does Matjar verify payment?
إعداد الدفع اليدويConfigure manual payments
التحويل البنكي وUSDT والدفع عند الاستلام.Bank transfer, USDT, and cash on delivery.
التحويل البنكي
فعّل الطريقة واكتب في الوصف العربي/الإنجليزي: اسم البنك، المستفيد، IBAN/الحساب، BIC/SWIFT عند الحاجة، ما يكتبه العميل كمرجع، والمهلة. لا تعرض بيانات لا ترغب في نشرها على Checkout.
USDT
اذكر الشبكة بدقة (مثل TRC20 أو ERC20)، عنوان المحفظة، العملة المطلوبة، من يتحمل رسوم الشبكة، والمرجع المطلوب. لا يتوفر اتصال Blockchain أو فحص آلي للمحفظة.
الدفع عند الاستلام
اكتب المناطق والشروط والرسوم في الوصف، واضبط الشحن الملائم. يمكن استثناء COD من انتهاء الطلب اليدوي. لا تعلّم الطلب مدفوعاً حتى يتم التحصيل.
ينشأ Order ومعاملة Pending ويحجز/يخصم المخزون حسب مسار الطلب.
راجع كشف البنك أو المحفظة أو تحصيل شركة الشحن. رفع إثبات الدفع غير متاح.
افتح الطلب وعدّل Payment status إلى Paid ثم Update، أو استخدم Bulk action → Mark as paid.
Bank transfer
Enable the method and put bank name, beneficiary, IBAN/account, BIC/SWIFT if needed, required customer reference, and deadline in the Arabic/English description. Sensitive information not intended for checkout should remain excluded.
USDT
State the network exactly (for example TRC20 or ERC20), wallet address, required asset, who pays network fees, and the required reconciliation reference. Blockchain connectivity and automatic wallet verification are not available.
Cash on delivery
State regions, conditions, and fees in the description and configure suitable shipping. COD can be exempted from manual-order expiry. Do not mark it paid before collection.
An order and Pending transaction are created, with stock reserved/deducted according to the order path.
Check the bank statement, wallet, or carrier collection. Payment-proof upload is not available.
Open the order, set Payment status to Paid and update, or use Bulk action → Mark as paid.
إعداد طرق الشحنConfigure shipping methods
أسعار ثابتة وشحن مجاني، من دون تكاملات API مع شركات الشحن.Flat rates and free shipping, without carrier APIs.
من /admin/store/shipping-methods عدّل اسم ووصف/تعليمات AR/EN والتكلفة الثابتة والترتيب والأيقونة والحالة. يعرض Checkout الطرق الفعالة وتكلفتها في عملة المتجر.
| الطريقة الجاهزة | السعر الابتدائي | نوع التكامل |
|---|---|---|
| PostNord | 79 | يدوي / ثابت |
| DHL | 99 | يدوي / ثابت |
| Aramex | 119 | يدوي / ثابت |
| FedEx | 149 | يدوي / ثابت |
| UPS | 139 | يدوي / ثابت |
| Bring | 89 | يدوي / ثابت |
| Budbee | 69 | يدوي / ثابت |
| DB Schenker | 109 | يدوي / ثابت |
| Early Bird | 59 | يدوي / ثابت |
| TNT | 129 | يدوي / ثابت |
هذه أسعار مبدئية وتصبح في عملة المتجر الحالية من دون تحويل. تُستبدل بالأسعار الفعلية المتفق عليها مع شركة الشحن. التسعير لا يتغير حسب العنوان أو الوزن؛ وزن المنتج ليس مستخدماً في هذا المسار.
الشحن المجاني
فعّله وحدد الحد الأدنى، وهل يحسب قبل الخصم أو بعده، واكتب الرسالة AR/EN باستخدام {amount} لعرض المبلغ المتبقي.
At /admin/store/shipping-methods, edit AR/EN name and description/instructions, flat cost, sort order, icon, and enabled state. Checkout displays enabled methods and their cost in the store currency.
| Prepared method | Initial price | Integration type |
|---|---|---|
| PostNord | 79 | Manual / flat |
| DHL | 99 | Manual / flat |
| Aramex | 119 | Manual / flat |
| FedEx | 149 | Manual / flat |
| UPS | 139 | Manual / flat |
| Bring | 89 | Manual / flat |
| Budbee | 69 | Manual / flat |
| DB Schenker | 109 | Manual / flat |
| Early Bird | 59 | Manual / flat |
| TNT | 129 | Manual / flat |
These are initial rates in the current store currency, without conversion. Replace them with the actual rates agreed with the carrier. Pricing does not vary by address or weight; product weight is not used by this path.
Free shipping
Enable it, set the minimum, decide whether the threshold is before or after discounts, and write AR/EN messages using {amount} for the remaining amount.
الطلبات والفواتيرOrders & invoices
من الطلب الجديد حتى التسليم، مع القيود المحاسبية.From new order to delivery, with accounting safeguards.
صفحة /admin/store/orders توفر البحث والفلاتر والتبويبات، بيانات العميل والعنوان، عناصر الطلب وخياراتها وSKU، الإجماليات والدفع والشحن، سجل الأحداث، الفاتورة، الملاحظات والإشعارات.
الحالات
| المجموعة | الحالات |
|---|---|
| الطلب | new, pending_payment, paid, processing, ready_to_ship, shipped, in_transit, delivered, cancelled, returned, refunded |
| الدفع | pending, paid, failed, refunded |
| الشحن | pending, ready_to_ship, shipped, in_transit, delivered |
إجراءات يومية
- تصفية المدفوع وغير المدفوع
- نسخ العنوان والهاتف والبريد
- تعليم جاهز للشحن
- إدخال التتبع وإرسال الإشعار
- طباعة ليبل مفرد أو جماعي
- عرض/تنزيل فاتورة HTML
- إعادة إرسال رابط الفاتورة
- مراجعة سجل الأحداث
الإجراءات الجماعية تشمل Mark as paid وReady to ship وMark sent without tracking وطباعة الليبلات. لا تستخدم الحذف كمسار تشغيلي؛ الإلغاء والاسترداد يحافظان على السجل.
الفاتورة
الفاتورة ثنائية اللغة وتعرض العميل والعنوان والدفع والمرجع والمنتجات والخيارات وSKU والشحن والضريبة والحالات. زر التنزيل يعطي ملف HTML للطباعة من المتصفح، وليس PDF مولداً.
/admin/store/orders provides search, filters, tabs, customer/address details, line items with options and SKU, totals, payment, shipping, event history, invoice, notes, and notifications.
Statuses
| Group | States |
|---|---|
| Order | new, pending_payment, paid, processing, ready_to_ship, shipped, in_transit, delivered, cancelled, returned, refunded |
| Payment | pending, paid, failed, refunded |
| Shipping | pending, ready_to_ship, shipped, in_transit, delivered |
Daily actions
- Filter paid and unpaid
- Copy address, phone, and email
- Mark ready to ship
- Add tracking and notify
- Print single or bulk labels
- View/download HTML invoice
- Resend invoice link
- Review event history
Bulk actions include Mark as paid, Ready to ship, Mark sent without tracking, and label printing. Do not use deletion as a normal workflow; cancellation and refund preserve the record.
Invoice
The bilingual invoice includes customer, address, payment/reference, products, options, SKU, shipping, tax, and states. Download returns an HTML file for browser printing, not a generated PDF.
طباعة الليبل وإرسال المنتج وتتبّعهPrint labels, ship, and track
مسار التنفيذ اليدوي السريع والواضح.A fast, clear manual fulfillment workflow.
تأكد من العنوان والمنتج والخيارات والكمية، ومن أن الدفع Paid أو أن الطريقة COD.
غيّر الحالة إلى Ready to ship، اطبع الفاتورة/قائمة العناصر عند الحاجة، وافحص المنتج.
تُستخدم بوابة شركة الشحن أو الحساب التعاقدي للحصول على بوليصة الناقل الفعلية ورقم التتبع.
من /admin/store/orders/label اطبع ليبل 100×150mm، أو حدد حتى 80 طلباً واطبع جماعياً.
من إجراء Ship أدخل الرقم والرابط HTTP/HTTPS، ثم علّم Shipped. يمكن الشحن بلا تتبع عند الضرورة.
يرسل النظام إشعاراً داخلياً/بريداً عند تهيئة SMTP. حدّث إلى In transit ثم Delivered حسب معلومات الناقل.
يمكن تعديل التتبع أو التراجع عن Shipped قبل الحالة النهائية؛ عند التراجع يختفي رابط التتبع من حساب العميل حتى إضافته مجدداً.
Confirm address, product, options, quantity, and that payment is Paid or the method is COD.
Move to Ready to ship, print the invoice/pick details if needed, and inspect the item.
Use the carrier portal or contracted account to obtain the real carrier label and tracking number.
Print a 100×150mm label from /admin/store/orders/label, or select up to 80 orders for bulk printing.
In Ship, enter the number and HTTP/HTTPS URL, then mark Shipped. Shipping without tracking is also possible.
Matjar sends internal/email notice when SMTP is configured. Move to In transit and Delivered using carrier information.
Tracking may be edited or Shipped undone before a final state; undoing temporarily hides the customer tracking link until it is added again.
المرتجعات والاسترداداتReturns & refunds
طلب العميل، الاستلام، الفحص، إعادة المخزون ورد المبلغ.Customer request, receipt, inspection, restocking, and refund.
الإعداد الأولي
- من /admin/store/settings فعّل المرتجعات وحدد النافذة بالأيام؛ الافتراضي 14 يوماً.
- من /admin/store/return-instructions أدخل العنوان AR/EN، المستلم، عنوان الإرسال، شركة مقترحة، البريد، الهاتف، التعليمات وملاحظة التغليف.
- راجع صفحة سياسة الإرجاع كي تتفق مع التنفيذ والقانون المحلي.
مسار الطلب
| المرحلة | ما يحدث | القيود |
|---|---|---|
| طلب العميل | يحدد المنتجات والكميات والسبب والملاحظة ويرفع صورة واحدة على الأقل. | لطلب Delivered داخل النافذة؛ حتى 10 صور، JPG/PNG/WebP، 5MB للصورة. |
| إرسال العميل | يدخل شركة الشحن ورقم التتبع إلزامياً ورابطاً اختيارياً. | الحالة awaiting_store_receipt؛ الشحن يُحجز ويدفع خارج النظام. |
| استلام المتجر | الإدارة تؤكد الاستلام ثم تفحص كل عنصر. | لا يمكن إنهاء الفحص قبل تأكيد الاستلام. |
| قرار العنصر | مقبول/مرفوض مع ملاحظة وسبب رفض، وللمقبول Restock أو Damaged/No restock. | إعادة المخزون تعود لنفس المنتج/المتغير مرة واحدة فقط. |
| رد المبلغ | Stripe آلي عند توفر المرجع والمفتاح؛ غيره تسجيل يدوي. | يدعم جزئياً ويمنع تجاوز المبلغ المتبقي والتكرار. |
أسباب العميل: تالف، منتج مختلف، عيب مصنع، غير مناسب، أخرى. الصور خاصة لا يفتحها إلا المالك أو مدير الطلبات. يمكن للعميل الإلغاء قبل استلام المتجر وقبل بدء الاسترداد.
Initial configuration
- At /admin/store/settings, enable returns and set the day window; default is 14 days.
- At /admin/store/return-instructions, enter AR/EN title, recipient, address, suggested carrier, email, phone, instructions, and packing note.
- Review the published return policy so it matches implementation and local law.
Return flow
| Stage | What happens | Constraints |
|---|---|---|
| Customer request | Selects items, quantities, reason, note, and uploads at least one photo. | Delivered order within window; up to 10 JPG/PNG/WebP images, 5MB each. |
| Customer shipment | Enters required carrier and tracking number, with optional URL. | Moves to awaiting_store_receipt; postage is booked/paid externally. |
| Store receipt | Administration confirms receipt and inspects each line. | Review cannot be finalized before receipt confirmation. |
| Item decision | Approve/reject with note and rejection reason; approved lines get Restock or Damaged/No restock. | Restock returns once to the same product/variant source. |
| Refund | Automated for Stripe with key/reference; otherwise recorded manually. | Partial refunds are supported; over-refund and duplicate are blocked. |
Customer reasons are damaged, wrong item, manufacturing defect, unsuitable, or other. Photos are private to the owner and order managers. The customer may cancel before store receipt and refund processing.
الضرائب وVATTaxes & VAT
النسبة الافتراضية، قواعد الدولة، الأسعار والشحن.Default rate, country rules, catalog prices, and shipping.
افتح /admin/store/taxes واضبط تفعيل الضريبة، بلد الضريبة، نسبة VAT، نسبة Income Tax، اسم الضريبة، هل أسعار الكتالوج شاملة الضريبة، وهل الشحن خاضع للضريبة.
قواعد حسب الدولة
أدخل قاعدة في كل سطر بصيغة COUNTRY=RATE، حتى 200 قاعدة ونسبة 0–100. يقبل رمزاً أو اسماً، مثلاً:
عند عدم مطابقة بلد العميل تُستخدم النسبة الافتراضية. تعرض الصفحة معاينة، ويسجل الطلب والفاتورة معدل الضريبة والمبلغ المطبقين وقت الشراء.
Open /admin/store/taxes and configure tax enablement, tax country, VAT rate, income-tax rate, tax label, whether catalog prices include tax, and whether shipping is taxable.
Country-specific rules
Enter one COUNTRY=RATE rule per line, up to 200 rules with a 0–100 rate. Codes and names are accepted, for example:
When the buyer’s country has no match, the default rate applies. The page previews the calculation, and the order/invoice records the rate and amount applied at purchase time.
العملاء والحساباتCustomers & accounts
الملفات الشخصية والعناوين والطلبات والدعم.Profiles, addresses, orders, and support.
من /admin/store/customers اعرض ملف العميل وطلباته وإجمالي الإنفاق والتذاكر والتقييمات ونقاط الولاء. إدارة المستخدمين الأوسع في /admin/users تعرض الدور والحالة والدولة والهاتف وIP والتاريخ وتتيح التعديل والتفعيل والتعطيل والحذف وفق الصلاحية.
الملف والعناوين والطلبات وتفاصيلها والفواتير والتتبع والمرتجعات والمفضلة والتفضيلات.
تطبق حدود IP والبريد ونافذة الزمن، ويمكن تتبعه برقم الطلب مع البريد أو الهاتف المطابق.
فعّله فقط بعد نجاح SMTP؛ روابط التحقق واستعادة كلمة المرور تعتمد على البريد.
Rate limits وقفل محاولات الدخول وCaptcha وكلمات المرور، مع حماية المدير الأساسي.
استخدم /admin/store/track-order للبحث الإداري بالرقم أو العميل، بينما صفحة العميل العامة /track-order تطلب رقم الطلب مع بريد أو هاتف مطابق وتطبق Rate limit كي لا تكشف بيانات الطلبات.
At /admin/store/customers, view customer profile, orders, total spend, tickets, reviews, and loyalty points. Broader user management at /admin/users shows role, state, country, phone, IP, and dates, with permission-controlled editing, enabling, disabling, and deletion.
Profile, addresses, orders/details, invoices, tracking, returns, wishlist, and notification preferences.
Applies IP/email/time-window limits and can be tracked using order number plus matching email or phone.
Enable only after SMTP succeeds; verification and password reset depend on email delivery.
Rate limits, login lockout, Captcha, password rules, and primary administrator protection.
Use /admin/store/track-order for administrative lookup by order/customer. The public /track-order page requires order number plus matching email or phone and is rate-limited to prevent disclosure.
التسويق والولاءMarketing & loyalty
الكوبونات والعروض واللافتات والتقييمات والنشرة.Coupons, deals, banners, reviews, and newsletter.
| الأداة | المسار | الاستخدام الموصى |
|---|---|---|
| الكوبونات | /admin/store/coupons | أنشئ رمزاً واضحاً، خصماً وحدوداً وتواريخ، ثم اختبره مع الشحن والضريبة. |
| العروض السريعة | /admin/store/flash-deals | حدد منتجات وفترة حقيقية؛ لا تستخدم سعراً قديماً مضللاً. |
| اللافتات | /admin/store/banners | استخدم صورةً ونصاً ورابطاً مناسبين للهاتف والكمبيوتر. |
| الولاء | /admin/store/loyalty | اضبط كسب واستخدام النقاط واختبر الإلغاء والاسترداد. |
| التقييمات | /admin/store/reviews | راجع المحتوى والخصوصية، ولا تحذف النقد المشروع لمجرد أنه سلبي. |
| النشرة | اشتراك عام + تصدير JSON | لا تتوفر صفحة لإدارة المشتركين أو إرسال الحملات؛ تُستخدم أداة إرسال خارجية. |
النشرة البريدية
الاشتراك يبدأ Pending ثم رسالة تأكيد صالحة 48 ساعة. بعد التأكيد يحصل كل بريد على رابط Unsubscribe. الحدود: 8 محاولات/IP/ساعة و2/email/ساعة مع انتظار 15 ثانية. تصدير المشتركين متاح بصيغة JSON للاستخدام مع أداة إرسال خارجية، بينما لا تتوفر صفحة مدمجة لإدارة المشتركين أو إرسال الحملات. لا ترسل قبل اختبار SMTP ومراجعة موافقة المستخدم والقانون المحلي.
| Tool | Route | Recommended use |
|---|---|---|
| Coupons | /admin/store/coupons | Create a clear code, discount, limits, and dates; test with shipping and tax. |
| Flash deals | /admin/store/flash-deals | Select products and a genuine period; avoid misleading comparison prices. |
| Banners | /admin/store/banners | Use an image, copy, and valid link that work on mobile and desktop. |
| Loyalty | /admin/store/loyalty | Configure earning/redemption and test cancellation and refund. |
| Reviews | /admin/store/reviews | Moderate content/privacy; do not remove legitimate criticism merely for being negative. |
| Newsletter | Public opt-in + JSON export | Subscriber administration and campaign sending use an external tool. |
Newsletter
Subscription starts Pending and uses a confirmation link valid for 48 hours. Confirmed subscribers receive an unsubscribe link. Limits are 8 attempts/IP/hour, 2/email/hour, with a 15-second wait. Subscriber export is available in JSON for use with an external sending tool; built-in subscriber administration and campaign sending are not available. Sending requires tested SMTP, confirmed consent, and compliance with local requirements.
البريد والإشعارات والقوالبEmail, notifications & templates
SMTP موثوق قبل التحقق وOTP ورسائل الطلب.Reliable SMTP before verification, OTP, and order emails.
SMTP /settings/mail
SMTP host، المنفذ، SSL/TLS/None، البريد/اسم المستخدم، كلمة المرور، واسم المرسل.
المنفذ 465 يستخدم SSL، و587 يستخدم TLS. نفس بريد SMTP يصبح بريد الإرسال ومستلم تنبيهات الإدارة.
أدخل بريد اختبار واقرأ مرحلة الاتصال ورمز استجابة الخادم عند الفشل. التحقق من الشهادة مفعّل.
بعد نجاح الاختبار فقط: تحقق البريد، OTP المدير، استعادة كلمة المرور، النشرة وإشعارات الطلبات.
عند تعديل الإعداد لاحقاً، ترك كلمة المرور فارغة يحافظ على القيمة المشفرة السابقة. لا تستخدم بريد From مختلفاً لا يسمح به مزود SMTP.
قوالب الرسائل /admin/message-templates
حرر العنوان والمحتوى AR/EN والمتغيرات، فعّل/عطّل، استعد الافتراضي، عاين واختبر. تشمل الأحداث: توثيق البريد، استعادة كلمة المرور، عضو جديد، تواصل، إنشاء/رد/إغلاق تذكرة، شحن الطلب، طلب مدفوع للمدير، وإعلان إداري.
الإرسال الجماعي يدعم الأعضاء والمدراء والجميع عبر القناة الداخلية أو البريد، مع سجل تسليم وأخطاء. أرسل عينة صغيرة أولاً ولا تستخدمه دون موافقة المستلمين.
SMTP /settings/mail
SMTP host, port, SSL/TLS/None, mailbox/username, password, and sender name.
Port 465 uses SSL; 587 uses TLS. The SMTP mailbox becomes the sender address and recipient for administrator alerts.
Enter a test recipient and inspect connection stage, code, and server response if it fails. Certificate validation is enabled.
Only after the test succeeds: email verification, administrator OTP, password reset, newsletter, and order notices.
On later edits, leaving the password blank preserves its previous encrypted value. The From address must be permitted by the SMTP provider.
Message templates /admin/message-templates
Edit AR/EN subject/body and variables, enable/disable, restore defaults, preview, and test. Events include verification, password reset, new member, contact, ticket creation/reply/close, order shipment, paid order alert to admin, and admin announcement.
Broadcast supports members, administrators, or everyone through internal/email delivery with delivery/error logs. Start with a small sample and do not send without recipient consent.
الصفحات والمحتوى والمنشئ المرئيPages, content & visual builder
صفحات ثنائية، قوالب، مدونة، FAQ وقاعدة معرفة.Bilingual pages, templates, blog, FAQ, and knowledge base.
الصفحات /admin/pages
أدخل الاسم والوصف وHTML الاحتياطي AR/EN، slug/path، الأيقونة، الحالة، الجمهور (زائر/عضو/إدارة)، الصفحة الأب، الترتيب وتصنيفات القائمة. يمكن السحب والإفلات والمعاينة والحذف. لكل صفحة حقول SEO مستقلة.
المنشئ المرئي /admin/visual-page-builder
سحب وإفلات، معاينة مباشرة Desktop/Mobile، مكتبة عناصر محفوظة وصور آمنة حتى 5MB. الحاويات تشمل Structure وHero وRich content وFeature cards وImage+text وStats وTestimonials وFAQ وHomepage blocks وContact form وCTA. الويدجات تشمل Heading/Text/Button/Image/Icon/List/Stat/Divider/Spacer/Nested structure/Safe HTML.
قوالب المشاريع /admin/project-templates
القوالب النظامية: Store landing وSupport portal وService overview. يمكن إنشاء قالب AR/EN مخصص وتطبيقه لإنشاء صفحة Public أو Members. القوالب النظامية للقراءة فقط ولا يمكن حذفها.
المدونة
من /admin/blog أنشئ عنواناً وslug وتصنيفاً وحالة Draft/Published/Scheduled/Archived وتاريخاً وملخصاً ومحتوى ووسوماً AR/EN وصورة غلاف وFeatured. التعليقات Pending افتراضياً وتدار بالموافقة/الرفض/الحذف. Blog supervisor يدير المدونة دون إدارة كاملة.
قاعدة المعرفة وFAQ
/admin/knowledge-base يدير تصنيفات ومقالات AR/EN مع الجمهور والوسوم والتمييز والترتيب والبحث والمشاهدات والتقييم. /admin/faq يدير تصنيفات وأسئلة/إجابات وجمهوراً وحالة وترتيباً.
Pages /admin/pages
Enter AR/EN title, description, and fallback HTML, slug/path, icon, state, audience (guest/member/admin), parent, order, and menu categories. Drag/drop ordering, preview, and delete are available. Each page has independent SEO fields.
Visual builder /admin/visual-page-builder
Drag/drop, live Desktop/Mobile preview, saved element library, and safe image uploads up to 5MB. Containers include Structure, Hero, Rich content, Feature cards, Image+text, Stats, Testimonials, FAQ, Homepage blocks, Contact form, and CTA. Widgets include Heading/Text/Button/Image/Icon/List/Stat/Divider/Spacer/Nested structure/Safe HTML.
Project templates /admin/project-templates
System templates are Store landing, Support portal, and Service overview. Create custom AR/EN templates and apply them as Public or Members pages. System templates are read-only and cannot be deleted.
Blog
At /admin/blog, set title, slug, category, Draft/Published/Scheduled/Archived state, publication date, AR/EN excerpt, content, tags, cover image, and Featured. Comments start Pending and can be approved/rejected/deleted. Blog supervisors manage the blog without full administration.
Knowledge base & FAQ
/admin/knowledge-base manages AR/EN categories/articles with audience, tags, featured, order, search, views, and helpful rating. /admin/faq manages categories, AR/EN questions/answers, audience, state, and order.
الدعم والتواصل والنماذجSupport, contact & forms
قنوات الدعم والتواصل والحقول المخصصة.Support and contact channels with custom fields.
دعم عملاء المتجر /support و/admin/store/support
يسجّل العميل الدخول ثم يفتح تذكرة مرتبطة بطلب أو من دونه، ويختار Low/Normal/High/Urgent ويضيف رسالة ومرفق JPG/PNG/GIF/WebP/PDF. يتابع المحادثة من حسابه. الإدارة تستخدم Open/Pending customer/Closed، وتعيّن الموظف وموعد SLA، وترد أو تستخدم رداً جاهزاً ثنائي اللغة. المرفقات خاصة للعميل صاحب التذكرة ومدير العملاء.
مركز التذاكر العام /admin/tickets
يوفر مركز التذاكر الإداري أقساماً للمبيعات والدعم المدفوع والواجهة والخوادم والمالية والدعم التقني، مع أولويات وحالات وأسباب إغلاق ومرفقات. تظهر للعملاء قناة دعم المتجر عبر /support، بينما يبقى مركز التذاكر العام مخصصاً للإدارة ولا يملك واجهة عميل عامة مستقلة.
التواصل /contact
الاسم والبريد والموضوع والرسالة مطلوبة، والهاتف اختياري، مع Captcha/Honeypot/Rate limit وحقول مخصصة. تحفظ الرسالة ويصل تنبيه للمدير. /admin/contact-messages للعرض والحذف؛ لا يوجد زر رد مدمج، فالرد من البريد/القناة الخارجية.
النماذج والحقول
من /admin/forms أنشئ نموذجاً عاماً أو للأعضاء أو الإدارة، رسالة نجاح وتنبيه مدير وبريد استلام، ثم راقب New/Reviewed/Archived. من /admin/custom-fields أضف text, email, phone, number, date, url, textarea, select, radio, checkbox, file واربطه بالعضو أو التذكرة أو التواصل أو نموذج.
Store customer support /support and /admin/store/support
A signed-in customer opens a ticket with or without a related order, selects Low/Normal/High/Urgent, and adds a message plus JPG/PNG/GIF/WebP/PDF attachment. The conversation remains in the account. Administration uses Open/Pending customer/Closed, staff assignment, SLA due dates, replies, and bilingual canned responses. Attachments are private to the ticket owner and customer managers.
General ticket center /admin/tickets
The administrative ticket center provides departments for sales, paid support, storefront, server requests, finance, and technical support, with priorities, states, closing reasons, and attachments. Customers access store support through /support; the general ticket center remains administration-only and has no separate public customer interface.
Contact /contact
Name, email, subject, and message are required; phone is optional, with Captcha/Honeypot/Rate limit and custom fields. Messages are stored and administrators are alerted. /admin/contact-messages is used to view/delete them; there is no built-in reply button, so reply through email or another channel.
Forms & fields
At /admin/forms, create guest/member/admin forms, success message, administrator notification and recipient email, then manage New/Reviewed/Archived. At /admin/custom-fields, add text, email, phone, number, date, url, textarea, select, radio, checkbox, or file and attach it to profile, ticket, contact, or form.
SEO وتسجيل الدخول الاجتماعيSEO & social sign-in
العناوين والوصف والفهرسة والمشاركة ومزودات OAuth.Titles, descriptions, indexing, sharing, and OAuth providers.
SEO العام /admin/seo
- تفعيل SEO
- عنوان ووصف افتراضي AR/EN
- كلمات مفتاحية افتراضية
- صورة Open Graph
- index/follow الافتراضي
- sitemap.xml
- robots.txt مخصص
- توليد بيانات الصفحات
حقول الصفحة تشمل meta title/description/keywords AR/EN، Open Graph، canonical، robots، schema JSON وصورة المشاركة. المخرجات تتضمن canonical وOpen Graph/Twitter وJSON-LD بعد التحقق.
قواعد كتابة سريعة
- اجعل عنوان الصفحة فريداً ومباشراً؛ لا تكرر اسم المتجر أكثر من مرة.
- اكتب وصفاً حقيقياً للصفحة لا قائمة كلمات.
- استخدم Canonical عند وجود مسارات متشابهة.
- لا تجعل صفحات الحساب وCheckout أو نتائج البحث صفحات هبوط مفهرسة.
- اختبر صورة المشاركة والرابط النهائي بعد تفعيل HTTPS.
تسجيل الدخول الاجتماعي /settings/social-login
أدخل Client ID/Secret وRedirect URI لكل مزود ظاهر في الصفحة، وأنشئ نفس URI في لوحة المطور للمزود. احفظ الأسرار على الخادم فقط، واختبر ربط حساب جديد وحساب ببريد موجود وتسجيل الخروج. توفر المزودات يعتمد على ما يظهر في هذا التثبيت وإعداد التطبيق الخارجي.
Global SEO /admin/seo
- SEO enabled
- Default AR/EN title and description
- Default keywords
- Open Graph image
- Default index/follow
- sitemap.xml
- Custom robots.txt
- Generate page metadata
Page fields include AR/EN meta title/description/keywords, Open Graph, canonical, robots, schema JSON, and share image. Output includes canonical, Open Graph/Twitter, and validated JSON-LD.
Quick writing rules
- Make each page title unique and direct; do not repeat the store name.
- Write an honest page summary rather than a keyword list.
- Use canonical for substantially similar paths.
- Do not treat account, checkout, or search-result pages as indexable landing pages.
- Test the final share image and URL after HTTPS is enabled.
Social sign-in /settings/social-login
Enter Client ID/Secret and Redirect URI for each provider shown on the page, and register that exact URI in the provider console. Keep secrets server-side, and test a new account, an existing-email account, and logout. Provider availability depends on this installation and the external app.
التقارير والسجلات التشغيليةReports & operational records
ماذا تراجع يومياً وأسبوعياً وشهرياً.What to review daily, weekly, and monthly.
من /admin/store/reports راقب المبيعات والطلبات والعملاء والمنتجات ضمن الفلاتر المتاحة، ومن صفحات المخزون والمعاملات والمرتجعات استخدم CSV للتحليل والمحاسبة.
| الدورية | المراجعة | الإجراء |
|---|---|---|
| يومياً | طلبات مدفوعة بانتظار الشحن، فشل الدفع، منخفض المخزون، تذاكر SLA، Webhooks | نفّذ الطلبات وعالج الاستثناءات فوراً. |
| أسبوعياً | أفضل المنتجات، المرتجعات، الكوبونات، أخطاء البريد، تقييمات Pending | صحح المحتوى والمخزون والحملات. |
| شهرياً | الإيراد والضرائب والاستردادات وتكلفة المخزون والعملاء المتكررين | طابق Stripe/البنك/الفواتير مع المحاسبة. |
سجلات منفصلة
- /admin/store/payment-transactions: سجل دفعات واستردادات غير قابل للحذف.
- /admin/store/webhooks: أحداث المزود، الحالة، التكرار والخطأ.
- سجل تسليم الرسائل: القناة والمستلم والحالة والخطأ.
- /admin/error-logs: أخطاء PHP والتشخيص والحل.
At /admin/store/reports, review sales, orders, customers, and products with available filters; use inventory, transaction, and return CSV exports for analysis and accounting.
| Frequency | Review | Action |
|---|---|---|
| Daily | Paid awaiting shipment, payment failures, low stock, SLA tickets, webhooks | Fulfill and resolve exceptions promptly. |
| Weekly | Top products, returns, coupons, email errors, pending reviews | Correct content, inventory, and campaigns. |
| Monthly | Revenue, tax, refunds, inventory cost, repeat customers | Reconcile Stripe/bank/invoices with accounting. |
Separate records
- /admin/store/payment-transactions: non-deletable payment/refund ledger.
- /admin/store/webhooks: provider events, state, duplicates, and errors.
- Message delivery log: channel, recipient, state, and error.
- /admin/error-logs: PHP errors, diagnostics, and resolution.
الأدوار والصلاحياتRoles & permissions
امنح أقل وصول لازم لكل شخص.Give each person only the access they need.
الأدوار النظامية
من /admin/roles أنشئ دوراً مخصصاً باسم ووصف AR/EN وslug وترتيب وحالة، ثم حدد الصلاحيات الدقيقة. دور Administrator يملك كل الصلاحيات ولا يُحذف، والدور المرتبط بمستخدم لا يحذف حتى تنقل مستخدميه.
مدراء المتجر /admin/store/admins
يحوّل المدير الأساسي مستخدماً مسجلاً إلى Store manager محدود ثم يمنحه مجموعات Products أو Orders أو Customers أو Marketing أو Settings أو Reports. اختبر الحساب بعد الحفظ ولا تمنح Settings لمن لا يدير مفاتيح الدفع أو سياسات المتجر.
نموذج عملي
| الشخص | الدور المقترح | ما لا يحتاجه عادة |
|---|---|---|
| موظف تنفيذ | Store manager: Orders + Customers | Settings، الترخيص، النسخ، الدفع. |
| كاتب محتوى | Content editor / Blog supervisor | الطلبات والعملاء والمفاتيح. |
| دعم عملاء | Support agent | المخزون والدفع وإدارة النظام. |
| مالك المتجر | Administrator | يستخدمه فقط للإدارة الحساسة. |
System roles
At /admin/roles, create a custom role with AR/EN name/description, slug, order, state, and exact permissions. Administrator has all permissions and cannot be deleted; a role assigned to users cannot be deleted until they are moved.
Store administrators /admin/store/admins
The primary administrator can turn a registered user into a limited Store manager and grant Products, Orders, Customers, Marketing, Settings, or Reports groups. Test the account after saving, and do not grant Settings to staff who should not manage payment keys or policies.
Practical model
| Person | Suggested role | Usually unnecessary |
|---|---|---|
| Fulfillment staff | Store manager: Orders + Customers | Settings, license, backups, payment. |
| Content writer | Content editor / Blog supervisor | Orders, customers, and keys. |
| Customer support | Support agent | Inventory, payment, system administration. |
| Store owner | Administrator | Use only when sensitive administration is needed. |
إعدادات الأمانSecurity settings
الدخول وCaptcha وOTP وHTTPS وIP والرفع.Sign-in, Captcha, OTP, HTTPS, IP, and uploads.
الأمان الأساسي /settings/security
- فتح/إغلاق التسجيل
- التحقق من البريد
- OTP بريدي للمدير
- Captcha حسابية
- Google reCAPTCHA site/secret
- أقصى محاولات الدخول
- مدة قفل الحساب
- حظر Exact/Wildcard/CIDR IP
لا تفعّل تحقق البريد أو OTP قبل نجاح اختبار SMTP، وإلا قد تُغلق الحسابات خارج النظام. اختبر في نافذة خاصة مع بقاء جلسة المدير الحالية مفتوحة.
الأمان المتقدم /settings/advanced-security
| الخيار | وظيفته | التحذير |
|---|---|---|
| Security headers | ترويسات حماية فعلية للمتصفح. | اختبر Stripe والوسائط بعد Custom CSP/CSS. |
| Force HTTPS | يعيد توجيه ويفرض الاتصال الآمن. | لا تفعّله قبل SSL وAPP URL صحيحين. |
| Admin IP allowlist | يقصر الإدارة على Exact/Wildcard/CIDR. | قاعدة خاطئة تعطي 403 وقد تحجب الوصول الإداري. |
| Trusted proxy | يثق بترويسات العميل فقط من Proxy موثوق. | لا تثق بأي Proxy أو X-Forwarded-For عشوائياً. |
| Minimum password | 6–128، والموصى 12+. | تغيير الحد يؤثر على كلمات المرور الجديدة/المعدلة. |
| Upload limit/types | 1–1024MB وقائمة امتدادات. | حد PHP/الخادم قد يكون أقل؛ لا تسمح بامتدادات تنفيذية. |
إجراءات إنتاج أساسية
- HTTPS وAPP URL صحيحان،
.envغير عام، وdebug=false. - كلمات مرور فريدة + مدير أساسي منفصل + أقل صلاحية.
- اختبار النسخ والاستعادة، Cron، وتحديث PHP والاستضافة.
- عدم مشاركة مفاتيح Stripe/SMTP/الترجمة، وتدويرها عند الاشتباه.
- مراجعة uploads والمرفقات الخاصة وسجلات الأخطاء دورياً.
Core security /settings/security
- Registration enabled/disabled
- Email verification
- Administrator email OTP
- Math Captcha
- Google reCAPTCHA site/secret
- Maximum login attempts
- Lockout duration
- Exact/Wildcard/CIDR IP blocks
Do not enable email verification or OTP before SMTP testing succeeds, or accounts may be locked out. Test in a private window while keeping the current administrator session open.
Advanced security /settings/advanced-security
| Option | Purpose | Warning |
|---|---|---|
| Security headers | Real browser security headers. | Test Stripe and media after custom CSP/CSS changes. |
| Force HTTPS | Redirects and enforces secure transport. | Do not enable before SSL and APP URL are correct. |
| Admin IP allowlist | Restricts administration to Exact/Wildcard/CIDR entries. | An incorrect rule returns 403 and may block administrative access. |
| Trusted proxy | Trusts client headers only from a known proxy. | Never trust arbitrary proxies or X-Forwarded-For. |
| Minimum password | 6–128; 12+ recommended. | The setting affects new/changed passwords. |
| Upload limit/types | 1–1024MB and allowed extensions. | PHP/server may be lower; never allow executable types. |
Production essentials
- Correct HTTPS/APP URL, private
.env, anddebug=false. - Unique passwords, separate primary admin, least privilege.
- Test backups/restore, Cron, and keep PHP/hosting patched.
- Do not share Stripe/SMTP/translation keys; rotate on suspicion.
- Review uploads, private attachments, and error logs regularly.
النسخ الاحتياطي والاستعادةBackup & restore
ما يدخل في الحزمة، وما يمكن استعادته من الويب.What packages contain and what web restore can recover.
إنشاء نسخة /backup-wizard
| الخيار | المحتوى | ملاحظات |
|---|---|---|
| SQL | قاعدة البيانات الكاملة | العنصر الأهم للطلبات والمنتجات والإعدادات. |
| JSON | إعدادات وصفحات وسجلات ومستخدمون ومحتوى مختار | للنقل المنظم، وليس بديلاً كاملاً عن SQL. |
| Uploads | الصور والملفات العامة المرفوعة | المرفقات الخاصة الحساسة مستبعدة. |
| ملفات التطبيق | ملفات التطبيق بعد الاستثناءات | يتطلب كلمة مرور المدير؛ يستبعد vendor/node_modules/.git/cache/logs/exports/backups. |
.env مستبعد دائماً، وكذلك أدلة الدعم/الإرجاع الخاصة. الحزمة تتضمن backup-info.json وversion.json وتوقيع سلامة خاص بالتثبيت. إن غاب ZipArchive يمكن إنشاء نسخة DB فقط بصيغة .sql.txt.
النسخ التلقائي
فعّلها وحدد كل 1–8760 ساعة، والاحتفاظ بآخر 1–100 نسخة (الافتراضي 7)، واختر SQL/JSON/uploads/files. «حفظ وتشغيل الآن» يختبرها مباشرة. يحتاج التنفيذ الموثوق Cron.
الاستعادة الآمنة
- اجعل الموقع في صيانة، أنشئ نسخة خارجية، وتحقق من إصدار الحزمة.
- الاستعادة عبر الويب معطلة افتراضياً. افتحها مؤقتاً فقط بـ
MATJAR_BACKUP_RESTORE_ENABLED=trueثم أعدها false. - المدير الأساسي يعيد المصادقة ويكتب RESTORE/استعادة. ينشئ النظام Safety Backup ويتحقق من توقيع حزمة Matjar.
- واجهة الويب تستعيد uploads فقط. DB/JSON وملفات التطبيق و
.envلا تُستعاد من الويب. - استعد SQL يدوياً على الخادم في نافذة صيانة مضبوطة، ثم افحص الصحة وسجّل الدخول واختبر طلباً.
JSON Import/Export /admin/import-export
يدعم مجموعات الإعدادات/الصفحات/القوالب، الدعم/المعرفة، النماذج/الحقول، بيانات المتجر، ومشتركي النشرة. استيراد حتى 20MB للمدير الأساسي مع إعادة مصادقة وبوضع Merge/Update أو Replace selected tables. لا يشمل كلمات المرور أو المستخدمين/الأدوار كنسخة كاملة، ولا ملفات الصور؛ استخدم Backup Center لذلك.
Create a backup /backup-wizard
| Option | Content | Notes |
|---|---|---|
| SQL | Complete database | The most important component for orders, products, and settings. |
| JSON | Selected settings, pages, logs, users, and content | Structured transfer, not a complete SQL replacement. |
| Uploads | Public uploaded images/files | Sensitive private attachments are excluded. |
| Project files | Application files after exclusions | Requires admin password; excludes vendor/node_modules/.git/cache/logs/exports/backups. |
.env is always excluded, as are private support/return evidence directories. Packages contain backup-info.json, version.json, and an installation-specific integrity signature. Without ZipArchive, DB-only .sql.txt can be created.
Automatic backups
Enable, choose every 1–8760 hours, retain 1–100 packages (default 7), and select SQL/JSON/uploads/files. “Save and run now” tests immediately. Reliable execution requires Cron.
Safe restore
- Place the site in maintenance, create an external copy, and verify package version.
- Web restore is disabled by default. Open it temporarily with
MATJAR_BACKUP_RESTORE_ENABLED=true, then set it back to false. - The primary administrator reauthenticates and types RESTORE/استعادة. Matjar creates a safety backup and validates the signed package.
- Web restore restores uploads only. DB/JSON, project files, and
.envare never restored from the browser. - Restore SQL manually on the server in a controlled maintenance window, then run health checks, sign in, and test an order.
JSON Import/Export /admin/import-export
Supports settings/pages/templates, support/knowledge, forms/fields, store data, and newsletter subscribers. Import is up to 20MB for the reauthenticated primary administrator in Merge/Update or Replace selected tables mode. It excludes passwords and full user/role backup and does not include image files; use Backup Center for those.
الصيانة والترقيات والوحداتMaintenance, upgrades & modules
وضع 503، ملفات الترقية المحلية، وتفعيل الوحدات.503 mode, local upgrade manifests, and module controls.
وضع الصيانة /admin/maintenance
فعّل/عطّل، اسمح للمدراء بالتجاوز، اكتب العنوان والرسالة AR/EN، وأدخل IP مسموحاً واحداً في كل سطر بصيغة Exact/Wildcard/CIDR. استخدم معاينة الزائر قبل الحفظ. عند التفعيل تعود الواجهة العامة HTTP 503 وRetry-After: 900، مع بقاء مسارات الدخول والخروج واستعادة كلمة المرور وWebhooks متاحة.
ترقية الموقع /upgrade-wizard
استخدم مدير الملفات أو عملية النشر لوضع JSON داخل database/upgrades؛ المعالج يقرأ هذا المجلد فقط ولا يتضمن حقل رفع أو تنزيل تحديثاً من الإنترنت.
يعرض الإصدار الحالي والملفات وعدد الترقيات المعلّقة والعنوان والملخص والتغييرات وعدد SQL/Settings.
المعالج ينشئ SQL تلقائياً قبل التطبيق ويتوقف إذا فشل، لكن احتفظ أيضاً بملفات/Uploads خارجية.
ينفذ SQL ثم Settings ثم استدعاء بيانات مسموحاً به، ويسجل النتيجة ويتوقف عند أول خطأ. افحص الصحة والشراء بعده.
database/upgrades على Manifest رسمي بإصدار أعلى، وتظهر الترقية تلقائياً عند توفر ملف صالح.الوحدات /admin/modules
الوحدات الأساسية Content وMessaging وSystem لا تُعطّل. الاختيارية Knowledge وBlog وForms وSupport وFiles يمكن تشغيلها وإيقافها؛ الإيقاف يخفي القوائم ويمنع المسارات ولا يحذف البيانات.
version.json يدوياً لتجاوز Upgrade Wizard.Maintenance mode /admin/maintenance
Enable/disable, allow administrator bypass, write AR/EN title/message, and enter one Exact/Wildcard/CIDR allowed IP per line. Preview the visitor screen before saving. When enabled, the public site returns HTTP 503 and Retry-After: 900; sign-in/out, password reset, and webhooks remain available.
Site upgrade /upgrade-wizard
Use the file manager or deployment process to put JSON in database/upgrades. The wizard reads this folder only; it has no upload field and does not download updates.
It shows current version, files, pending count, title, summary, changes, and SQL/Settings count.
The wizard creates SQL automatically and stops if it fails, but also keep files/uploads externally.
It runs SQL, Settings, then an allowed data callback, records results, and stops at the first error. Run health and purchase tests afterward.
database/upgrades contains no official higher-version manifest; an upgrade appears automatically when a valid file is available.Modules /admin/modules
Core Content, Messaging, and System cannot be disabled. Optional Knowledge, Blog, Forms, Support, and Files can be toggled; disabling hides menus and blocks routes without deleting data.
version.json to bypass the Upgrade Wizard.فحص صحة النظام وسجلات الأخطاءSystem health & error logs
تشخيص قبل الإطلاق وبعد أي تغيير.Diagnostics before launch and after every major change.
فحص الصحة /admin/system-health
الإصدار وPHP والامتدادات والعارضات والمعالجات الأساسية.
الاتصال والجداول والأعمدة والمسارات المتكررة والحجم والأخطاء المفتوحة.
.env و.htaccess وحماية uploads والكتابة والمساحة وأحجام المجلدات.
HTTPS والترويسات وOTP وCaptcha وكلمات المرور وSMTP والنسخ والدفع وWebhooks.
استخدم Recheck، وRepair schema لإنشاء/إصلاح جداول وأعمدة وحذف مسارات صفحات مكررة، وCreate test log لاختبار التقاط الأخطاء. تُسجَّل المساحة المتاحة كخطأ إذا قلت عن 10%، وكتنبيه إذا قلت عن 20%.
سجلات الأخطاء /admin/error-logs
اعرض Total/Open/Critical/Resolved، وصفِّ حسب الحالة والمستوى. السجل قد يتضمن الرسالة والمصدر والمستخدم/IP والتاريخ والملف/السطر والمسار والسياق وStack trace. الإجراءات: Mark resolved، Reopen، Delete selected، Delete resolved، وCreate test log. تفريغ الكل يتطلب كتابة CLEAR أو تفريغ.
Health check /admin/system-health
Version, PHP, extensions, critical renderers, and processors.
Connection, tables, columns, duplicate routes, approximate size, and open errors.
.env, .htaccess, uploads protection, writable paths, space, and directory sizes.
HTTPS, headers, OTP, Captcha, passwords, SMTP, backups, payment, and webhooks.
Use Recheck, Repair schema to create/repair tables/columns and remove duplicate page routes, and Create test log to verify error capture. Disk space is an error below 10% and a warning below 20%.
Error logs /admin/error-logs
View Total/Open/Critical/Resolved and filter by state/level. Records may include message, source, user/IP, date, file/line, request path, context, and stack trace. Actions include Mark resolved, Reopen, Delete selected, Delete resolved, and Create test log. Clearing all requires CLEAR or تفريغ.
حل المشكلات الشائعةCommon troubleshooting
تشخيص سريع من السبب الأقرب.Fast diagnosis starting with the likeliest cause.
ملف ZIP لا يُفتح أو تظهر End-of-central-directory signature not found
unzip -t file.zip محلياً، ولا تحفظ صفحة تنزيل/خطأ باسم .zip. ارفع بالوضع Binary أو عبر File Manager وتحقق من الحجم بعد الرفع.التثبيت يتوقف عند صلاحيات الكتابة
storage وpublic/uploads واسمح بإنشاء .env. تحقق من Quota وopen_basedir. لا تمنح جميع ملفات التطبيق صلاحية 777؛ استخدم نموذج صلاحيات الاستضافة.الترخيص غير فعال أو انتهى
Stripe لا يظهر في Checkout
الدفع نجح في Stripe والطلب لم يتحدث
PayPal مفعّل لكنه لا يظهر
Apple Pay أو Google Pay لا يظهران
البريد لا يصل
Cron أو النسخ التلقائي لا يعمل
storage/app/backups وZipArchive. تأكد أن مهمة الاستضافة كل 5–15 دقيقة وليست طلب HTTP للصفحة.ظهر 403 بعد تقييد IP أو HTTPS loop
يتعذر رفع صورة المنتج أو الملف
الترقية لا تظهر
database/upgrades حتى يظهر ضمن الترقيات المتاحة.ZIP fails with End-of-central-directory signature not found
unzip -t file.zip locally, and do not save a download/error page as .zip. Upload in binary mode/File Manager and compare size afterward.Installation stops on writable paths
storage, public/uploads, and .env creation. Check quota/open_basedir. Do not grant 777 permissions to all application files; use the hosting permission model.License inactive or expired
Stripe is missing at checkout
Stripe succeeded but the order did not update
PayPal is enabled but absent
Apple Pay or Google Pay is absent
Email does not arrive
Cron or automatic backup does not run
storage/app/backups, and ZipArchive. Schedule every 5–15 minutes as CLI, not an HTTP page request.403 after IP restriction or HTTPS redirect loop
Product image or file will not upload
An upgrade does not appear
database/upgrades for it to appear among the available upgrades.قائمة فحص ما قبل الإطلاقPre-launch checklist
لا تنشر قبل إكمال هذه الدورة.Do not launch until this cycle is complete.
PHP/امتدادات، HTTPS، APP URL، Timezone، صلاحيات، Cron، حماية .env وOptions -Indexes.
الاسم والوصف والشعارات والتواصل، الخصوصية والشروط والكوكيز والشحن والمرتجعات والضريبة.
التصنيفات والروابط، 10 منتجات عينة على الأقل، خيارات ومتغيرات وصور وحقوقها وأسعار وتكلفة ومخزون.
Stripe Test ثم Live/Webhook، أو تعليمات يدوية صحيحة، مع منع PayPal الوهمي وتأكيد العملة.
الطرق الفعالة فقط، الأسعار الفعلية، حد مجاني، عنوان المرسل، تجربة الليبل، التتبع والإشعار.
طلب مدفوع، COD، فشل/انتهاء، مخزون، كوبون، فاتورة، شحن، تتبع، إرجاع، استرداد جزئي.
SMTP test، تحقق البريد/OTP، قوالب AR/EN، تذكرة، نموذج تواصل، Newsletter confirm/unsubscribe.
أقل صلاحية، كلمة 12+، Captcha/قفل، فحص صحة أخضر، نسخة كاملة خارجية واختبار استعادة uploads.
اختبار شراء إلزامي
- أنشئ عميلاً جديداً من الهاتف.
- اختر منتجاً بمتغير ومخزون محدود، وأضف كوبوناً إن وجد.
- اختر الشحن وأكمل Stripe Test أو طريقة يدوية.
- تحقق من الطلب والمعاملة والمخزون والفاتورة والبريد.
- جهز الطلب واطبع الليبل وأدخل التتبع وافتحه من حساب العميل.
- سلّم الطلب وأنشئ إرجاعاً واختبر قرار المخزون والاسترداد.
PHP/extensions, HTTPS, APP URL, timezone, permissions, Cron, private .env, and Options -Indexes.
Name, description, logos, contact, privacy, terms, cookies, shipping, returns, and tax.
Categories/URLs, at least 10 sample items, options/variants, images and rights, prices, cost, and stock.
Stripe Test then Live/webhook, or correct manual instructions; no false PayPal promise; correct currency.
Only active methods, actual rates, free threshold, sender address, label test, tracking, and notice.
Paid order, COD, failure/expiry, stock, coupon, invoice, shipping, tracking, return, partial refund.
SMTP test, verification/OTP, AR/EN templates, ticket, contact form, newsletter confirmation/unsubscribe.
Least privilege, passwords of 12+ characters, Captcha/lockout, passing health checks, off-server backup, and an uploads restore test.
Mandatory purchase test
- Create a new customer on mobile.
- Select a variant with limited stock and apply a coupon if available.
- Choose shipping and complete Stripe Test or a manual method.
- Verify order, transaction, stock, invoice, and email.
- Fulfill, print label, enter tracking, and open it from the customer account.
- Deliver, create a return, and test stock decision and refund.
مرجع سريع وحالة الميزاتQuick reference & capability status
مسارات وأوامر ومعلومات تشغيل أساسية.Key routes, commands, and operational information.
أهم المسارات
| المهمة | المسار | المهمة | المسار |
|---|---|---|---|
| إعدادات الموقع | /settings | إعدادات المتجر | /admin/store/settings |
| المنتجات | /admin/store/products | التصنيفات | /admin/store/categories |
| الدفع | /admin/store/payment-gateways | Webhook Stripe | /webhooks/stripe |
| الشحن | /admin/store/shipping-methods | الطلبات | /admin/store/orders |
| المخزون | /admin/store/inventory | المرتجعات | /admin/store/returns |
| SMTP | /settings/mail | الأمان | /settings/security |
| النسخ | /backup-wizard | الترقية | /upgrade-wizard |
| الصحة | /admin/system-health | الأخطاء | /admin/error-logs |
الأمر المجدول
ملخص الدعم الفعلي للميزات
| الميزة | حالة الدعم |
|---|---|
| Stripe وطرقه المؤهلة | آلي فعلي مع Webhook |
| تحويل/USDT/COD | يدوي مع تأكيد الإدارة |
| PayPal | غير متاح في Checkout |
| واجهات شركات الشحن | غير موجودة؛ تكلفة ثابتة يدوية |
| ليبل شركة الشحن | غير موجود؛ ليبل محلي عام فقط |
| تتبع ناقل مباشر | غير موجود؛ رقم ورابط يدويان |
| فاتورة PDF | غير موجودة؛ HTML للطباعة/التنزيل |
| مزامنة مورد | غير موجودة؛ URL import لمرة واحدة |
| محدّث بعيد | غير موجود؛ ملفات Upgrade محلية |
| SMS/WhatsApp | معطلان بلا موصل حقيقي |
| استعادة DB من المتصفح | محظورة؛ uploads فقط |
| Audit Log عام | غير موجود؛ سجلات وظيفية منفصلة |
Key routes
| Task | Route | Task | Route |
|---|---|---|---|
| Site settings | /settings | Store settings | /admin/store/settings |
| Products | /admin/store/products | Categories | /admin/store/categories |
| Payments | /admin/store/payment-gateways | Stripe webhook | /webhooks/stripe |
| Shipping | /admin/store/shipping-methods | Orders | /admin/store/orders |
| Inventory | /admin/store/inventory | Returns | /admin/store/returns |
| SMTP | /settings/mail | Security | /settings/security |
| Backups | /backup-wizard | Upgrade | /upgrade-wizard |
| Health | /admin/system-health | Errors | /admin/error-logs |
Scheduled command
Capability support summary
| Capability | Support status |
|---|---|
| Stripe and eligible methods | Real automation with webhook |
| Bank/USDT/COD | Manual with administrator confirmation |
| PayPal | Unavailable at checkout |
| Carrier APIs | Absent; manual flat costs |
| Official carrier label | Absent; generic local label only |
| Live carrier tracking | Absent; manual number and URL |
| PDF invoice | Absent; printable/downloadable HTML |
| Supplier synchronization | Absent; one-time URL import |
| Remote updater | Absent; local upgrade files |
| SMS/WhatsApp | Disabled without a real connector |
| Browser DB restore | Blocked; uploads only |
| Global Audit Log | Absent; separate functional histories |