╔════════════════════════════════════════════════════════════════════════════════╗
║                   دليل إصلاح ZATCA - نسخة سريعة                               ║
╚════════════════════════════════════════════════════════════════════════════════╝

🔴 الخطأ:
───────────────────────────────────────────────────────────────────────────────
  "❌ خطأ: رد ZATCA ليس بصيغة JSON صحيحة"

🟢 الحل:
───────────────────────────────────────────────────────────────────────────────
  تصحيح صيغة الطلب في ملف واحد فقط!

📝 الملف:
───────────────────────────────────────────────────────────────────────────────
  app/Services/ZatcaSimpleBindingService.php

🔍 السطر:
───────────────────────────────────────────────────────────────────────────────
  السطر 265-277 (تقريباً)

📋 الخطوات السريعة:
───────────────────────────────────────────────────────────────────────────────

1. افتح VSCode

2. اضغط Ctrl+O أو File > Open

3. ابحث عن: ZatcaSimpleBindingService.php

4. اضغط Ctrl+G للذهاب للسطر رقم: 267

5. اختر الأسطر من 267 إلى 277 (حدّدها بالماوس)

6. احذفها (اضغط Delete)

7. انسخ الكود الجديد من الملف: ZATCA_SOLUTION_SUMMARY.md

8. الصقه (Ctrl+V)

9. احفظ الملف (Ctrl+S)

10. في Terminal اكتب:
    php artisan cache:clear

11. امسح ذاكرة المتصفح (Ctrl+Shift+Delete)

12. أعد تحميل الصفحة (F5)

13. جرب الربط مرة أخرى

✅ النتيجة المتوقعة:
───────────────────────────────────────────────────────────────────────────────
  يجب أن ترى رسالة خضراء تقول: "✅ تم التحقق بنجاح"

⏱️ الوقت المتوقع: 5 دقائق فقط!

❓ إذا لم تنجح جرب:
───────────────────────────────────────────────────────────────────────────────
  1. تأكد من OTP صحيح (6 أرقام)
  2. امسح الـ Cache مرة أخرى
  3. امسح ذاكرة المتصفح بالكامل
  4. أغلق المتصفح وافتحه مجدداً
  5. جرب من متصفح آخر

📚 للمزيد من التفاصيل:
───────────────────────────────────────────────────────────────────────────────
  اقرأ الملفات:
  - ZATCA_SOLUTION_SUMMARY.md
  - ZATCA_REQUEST_REJECTED_FIX.md
  - APPLY_ZATCA_FIX.php

🎯 الملخص:
───────────────────────────────────────────────────────────────────────────────
  
  المشكلة:
    صيغة الطلب خاطئة
  
  الحل:
    تغيير Content-Type و إضافة OTP في Header
  
  الملف:
    ZatcaSimpleBindingService.php (السطر 267-277)
  
  الوقت:
    5 دقائق

═══════════════════════════════════════════════════════════════════════════════

الكود الجديد (انسخه مباشرة):

───────────────────────────────────────────────────────────────────────────────

$response = Http::timeout(120)
    ->withHeaders([
        'Accept' => 'application/json',
        'Content-Type' => 'application/x-www-form-urlencoded',
        'OTP' => $otp,
        'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
    ])
    ->withoutRedirecting()
    ->post($endpoint, [
        'grant_type' => 'client_credentials',
        'client_id' => $company->tax_number . '-' . $company->commercial_record,
        'client_secret' => base64_encode($company->tax_number),
    ]);

───────────────────────────────────────────────────────────────────────────────

بدلاً من الكود القديم:

───────────────────────────────────────────────────────────────────────────────

$response = Http::timeout(120)
    ->withHeaders([
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ])
    ->post($endpoint, [
        'otp' => $otp,
        'taxNumber' => $company->tax_number,
        'commercialRecord' => $company->commercial_record,
        'companyName' => $company->name,
    ]);

───────────────────────────────────────────────────────────────────────────────

✅ بس هذا! لا تحتاج لأي شيء آخر

═══════════════════════════════════════════════════════════════════════════════
تم الإنشاء: 2025-01-08
الحالة: جاهز للتطبيق الفوري
═══════════════════════════════════════════════════════════════════════════════
