لدي نظام POS محلي يعمل على:
Backend: .NET 8
Database: PostgreSQL
Local API: http://127.0.0.1:5290
تم تنفيذ شاشة ربط زاتكا (Phase 2) وتوليد CSR بنجاح، لكن عند تنفيذ:
POST /api/zatca/onboarding/compliance
يظهر الخطأ:
Invalid-CSR
? المطلوب بدقة:
مراجعة توليد CSR والتأكد أنه مطابق 100% لمتطلبات ZATCA
التأكد أن جميع القيم المستخدمة في CSR تأتي من واجهة المستخدم (zatca_settings.html) فقط، وليس من أي قيم مخزنة أو fallback
إصلاح أي خطأ في:
subject
subjectAltName (DirName)
serial number format
certificateTemplateName
key type (EC P-256)
التأكد من أن CSR الناتج مقبول من ZATCA (simulation)
⚠️ ملاحظات مهمة:
تم التحقق أن البيانات تصل من الشاشة وتظهر داخل CSR
لكن ZATCA ترفض CSR (Invalid-CSR)
لا أريد حلول نظرية، أريد إصلاح فعلي + اختبار ناجح
✅ النتيجة المطلوبة:
تنفيذ CSR صالح 100%
نجاح endpoint:
POST /api/zatca/onboarding/compliance
الحصول على:
binarySecurityToken + secret
? يفضل:
خبرة سابقة في ZATCA Phase 2
أو خبرة في OpenSSL و CSR structure
? المطلوب تسليم:
الكود المعدل جاهز
أوامر PowerShell للتطبيق
شرح مختصر لما تم إصلاحه
ملاحظات مهمة:
تم التأكد أن البيانات المدخلة من شاشة zatca_settings.html تصل فعليًا وتُستخدم في توليد CSR
تم التحقق أن القيم تظهر داخل:
input_dump.txt
last_zatca.cnf
وداخل CSR نفسه
نوع المفتاح EC (P-256) مستخدم
لكن ZATCA ترفض الطلب برسالة:
Invalid-CSR
تم تجربة أكثر من تعديل على:
Organization Name
Serial Number (SN)
Address
Device ID
والمشكلة مستمرة
المطلوب ليس تحليل نظري، بل تحديد السبب الفعلي وإصلاحه مع اختبار ناجح
✅ النتيجة المطلوبة:
توليد CSR مطابق 100% لمتطلبات ZATCA (Phase 2 - Simulation)
نجاح الطلب:
POST /api/zatca/onboarding/compliance
الحصول على:
binarySecurityToken
secret
التأكد أن جميع البيانات المستخدمة في CSR تأتي من الشاشة فقط (بدون أي fallback أو قيم مخزنة)
? يفضل:
خبرة سابقة في ZATCA Phase 2 (E-Invoicing)
أو خبرة قوية في:
OpenSSL
CSR generation
X509 extensions
subjectAltName (DirName)
? متطلبات إضافية مهمة:
* النظام يجب أن يكون قابل للاستخدام لأي عميل جديد بدون تدخل برمجي
* جميع بيانات زاتكا يتم إدخالها من خلال شاشة:
zatca_settings.html فقط
---
? تجربة المستخدم المطلوبة:
* المستخدم (غير تقني) يستطيع:
* إدخال بياناته بسهولة
* فهم كل حقل ماذا يعني
* معرفة ما المطلوب منه بالضبط
* يجب أن تحتوي الشاشة على:
* شرح واضح لكل خانة (مثال أو Placeholder)
* رسائل تنبيه فورية عند نقص البيانات
* عدم السماح بالتنفيذ في حال وجود نقص
---
? رسائل الأخطاء:
* يجب أن تكون رسائل الخطأ:
* واضحة بالعربي
* مفهومة لغير المبرمج
* توضح السبب الحقيقي للمشكلة
مثال:
❌ بدل: Invalid-CSR
✅ يظهر: "يوجد خطأ في بيانات الشهادة (CSR)، تأكد من اسم المتجر والعنوان باللغة الإنجليزية"
---
? التشخيص الذكي:
* النظام يجب أن يساعد المستخدم على معرفة:
* أين المشكلة تحديدًا
* أي حقل هو السبب
* ماذا يجب عليه تعديله
---
⚙️ السلوك المطلوب:
* لا يتم استخدام أي بيانات مخزنة مسبقًا بدون علم المستخدم
* جميع البيانات المستخدمة في CSR يجب أن تكون من الشاشة فقط
* أي تغيير في الشاشة ينعكس مباشرة في CSR
---
? الهدف النهائي:
أن يتمكن أي عميل جديد من:
1. الدخول للشاشة
2. تعبئة بياناته
3. الضغط على "تنفيذ الربط"
4. نجاح الربط مباشرة بدون تدخل تقني
---
? المطلوب:
تحويل شاشة الربط الحالية إلى واجهة احترافية موجهة للمستخدم النهائي
وليست مجرد شاشة تقنية للمطورين
.NET 8 (C#), PostgreSQL, JavaScript (Frontend), OpenSSL يفضل وجود خبرة في: ZATCA Phase 2 (E-Invoicing) أو X509 / CSR
المتوفر: * كود المشروع كامل (Backend + Frontend) * ملفات واجهة المستخدم: wwwroot/settings.html wwwroot/zatca_settings.html * ملفات ZATCA Debug: input_dump.txt last_zatca.cnf CSR files * ملف الإعدادات: appsettings.json * إمكانية الوصول لتجربة النظام محليًا عبر: http://127.0.0.1:5290 سيتم تزويد المستقل بملف مضغوط يحتوي جميع الملفات المطلوبة
النظام مشابه لأنظمة نقاط البيع (POS) المرتبطة مع زاتكا (Phase 2)، مثل:
Foodics POS
Odoo POS
Qoyod Cashier
Wazen POS
iPOS
🎯 متطلبات إضافية مهمة:
* النظام يجب أن يكون قابل للاستخدام لأي عميل جديد بدون تدخل برمجي
* جميع بيانات زاتكا يتم إدخالها من خلال شاشة:
zatca_settings.html فقط
---
🧠 تجربة المستخدم المطلوبة:
* المستخدم (غير تقني) يستطيع:
* إدخال بياناته بسهولة
* فهم كل حقل ماذا يعني
* معرفة ما المطلوب منه بالضبط
* يجب أن تحتوي الشاشة على:
* شرح واضح لكل خانة (مثال أو Placeholder)
* رسائل تنبيه فورية عند نقص البيانات
* عدم السماح بالتنفيذ في حال وجود نقص
---
🚨 رسائل الأخطاء:
* يجب أن تكون رسائل الخطأ:
* واضحة بالعربي
* مفهومة لغير المبرمج
* توضح السبب الحقيقي للمشكلة
مثال:
❌ بدل: Invalid-CSR
✅ يظهر: "يوجد خطأ في بيانات الشهادة (CSR)، تأكد من اسم المتجر والعنوان باللغة الإنجليزية"
---
🔍 التشخيص الذكي:
* النظام يجب أن يساعد المستخدم على معرفة:
* أين المشكلة تحديدًا
* أي حقل هو السبب
* ماذا يجب عليه تعديله
---
⚙️ السلوك المطلوب:
* لا يتم استخدام أي بيانات مخزنة مسبقًا بدون علم المستخدم
* جميع البيانات المستخدمة في CSR يجب أن تكون من الشاشة فقط
* أي تغيير في الشاشة ينعكس مباشرة في CSR
---
📦 الهدف النهائي:
أن يتمكن أي عميل جديد من:
1. الدخول للشاشة
2. تعبئة بياناته
3. الضغط على "تنفيذ الربط"
4. نجاح الربط مباشرة بدون تدخل تقني
---
💡 المطلوب:
تحويل شاشة الربط الحالية إلى واجهة احترافية موجهة للمستخدم النهائي
وليست مجرد شاشة تقنية للمطورين
| تاريخ التسجيل | |
| معدل التوظيف | |
| المشاريع المفتوحة | 1 |
| مشاريع قيد التنفيذ | 1 |
| التواصلات الجارية | 8 |
السلام عليكم يا استاذ نادر أنا فاهم مشكلتك كويس جدا، وموضوع Invalid-CSR مع ZATCA ده بيكون سببه تفاصيل دقيقة في الـ CSR مش باينة بسهولة واشتغلت على حالات شبه كده...
اطلعت على المشروع، ويبدو أن هناك تحدي في ربط ZATCA Phase 2 بشكل صحيح، وغالبا هذا النوع من المشاكل يكون مرتبطا بـ: بنية ملف XML التوقيع الرقمي (Digital Signature...
السلام عليكم ورحمة الله وبركاتة اهلا بحضرتك اخى الكريم معك مصطفى مهندس برمجيات Senior Full Stack خبرة سنوات عديدة فى تطوير تطبيقات الويب اعمل على تقنية الدوت نت...
السلام عليكم ورحمة الله وبركاته، مرحبا، أنا محمد البرم مهندس برمجيات و مطور .NET بخبرة قوية في تكاملات ZATCA Phase 2 وCSR/X509، ويمكنني تحديد سبب خطأ Invalid-CS...
السلام عليكم أنا مطور .NET وعندي خبرة في التعامل مع PostgreSQL و OpenSSL، واشتغلت على مشاكل CSR قبل كده، خصوصا الأخطاء اللي زي Invalid-CSR بسبب تفاصيل دقيقة في ...
السلام عليكم ورحمه الله وبركاته اطلعت على مشروعك، والمشكلة واضحة أنها في تنسيق الـ CSR وعدم مطابقته لمتطلبات ZATCA رغم صحة البيانات. أنا خالد، مطور Full-Stack ب...
السلام عليكم ورحمه الله وبركاته انا محمد فرغلي مبرمج دوت نت خبره اكثر من 5 سنوات اشتغلت علي الربط مع هيئه الزكاه و الدخل السعوديه المرحله الثانيه ولدي الخبره ال...
السلام عليكم، لقد قمت بحل هذه المشكلة بدقة في مشاريع سابقة تعمل بنفس تقنياتك (.NET 8 PostgreSQL). أنا أعرف تماما الاسباب التقنية التي تؤدي لرفض الـ CSR من قبل ز...
السلام عليكم أستاذ نادر، اطلعت على تفاصيل المشروع، والمشكلة الأساسية واضحة وهي رفض الـ CSR من زاتكا (Invalid-CSR)، وغالبا يكون السبب في عدم مطابقة الـ CSR لمتطل...