تفاصيل المشروع

لدي نظام 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. نجاح الربط مباشرة بدون تدخل تقني

---

💡 المطلوب:

تحويل شاشة الربط الحالية إلى واجهة احترافية موجهة للمستخدم النهائي

وليست مجرد شاشة تقنية للمطورين

حالة المشروع
قيد التنفيذ
تاريخ النشر
الميزانية
$50.00 - $100.00
مدة التنفيذ
3 أيام
المهارات

صاحب المشروع
نادر ا.
  • متخصص برمجيات
تاريخ التسجيل
معدل التوظيف
المشاريع المفتوحة 1
مشاريع قيد التنفيذ 1
التواصلات الجارية 8

العروض المقدمة

السلام عليكم يا استاذ نادر أنا فاهم مشكلتك كويس جدا، وموضوع Invalid-CSR مع ZATCA ده بيكون سببه تفاصيل دقيقة في الـ CSR مش باينة بسهولة واشتغلت على حالات شبه كده...

اطلعت على المشروع، ويبدو أن هناك تحدي في ربط ZATCA Phase 2 بشكل صحيح، وغالبا هذا النوع من المشاكل يكون مرتبطا بـ: بنية ملف XML التوقيع الرقمي (Digital Signature...

السلام عليكم ورحمة الله وبركاتة اهلا بحضرتك اخى الكريم معك مصطفى مهندس برمجيات Senior Full Stack خبرة سنوات عديدة فى تطوير تطبيقات الويب اعمل على تقنية الدوت نت...

Mohammad B.

السلام عليكم ورحمة الله وبركاته، مرحبا، أنا محمد البرم مهندس برمجيات و مطور .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 لمتطل...

قبولك لهذا العرض يعتبر اتفاقاً بينك وبين المستقل وسيبقى موقع مستقل وسيطاً بينكما حتى تسليم المشروع. لن تتمكن من تغيير العرض أو إلغائه لاحقًا لذلك تأكد من اختيارك للعرض المناسب باتّباع النصائح التالية:

  • راجع صفحة حساب المستقل الذي اخترته واطّلع على أعماله السابقة
  • إن كانت هناك تفاصيل غير مذكورة في المشروع، فتواصل مع المستقل وأخبره بها أولًا
  • بإمكانك أن تتواصل مع المستقل وتسأله عن أية أمور تحتاجها
  • احرص دائمًا على إبقاء التواصل مع المستقل داخل الموقع قدر الإمكان وذلك لضمان حقوقك
  • لا تتردد من التواصل معنا ان احتجت لأي مساعدة، نحن نحب مساعدتك!

المستقل غير متاح لاستلام مشاريع، يمكنك ارسال تنبيه له لقبول العرض وإعادة المحاولة بعد بضعة ساعات، أو اختيار عرضاً من مستقل آخر.