دليل وضع التطوير (Sandbox)


🛠️ دليل وضع التطوير (Sandbox)

Easy Form Builder من WhiteStudio – إعداد وضع التطوير

الإصدار 4.0.0

1. ما هو وضع التطوير؟

وضع التطوير (يُسمى أيضاً وضع Sandbox) هو إعداد في Easy Form Builder يقوم بتحويل الإضافة
من خوادم الإنتاج إلى خوادم تجريبية/عرض توضيحي. يتيح لك ذلك اختبار تكاملات الدفع (مثل PayPal)، وتثبيت الإضافات،
والميزات الأخرى المعتمدة على الخادم دون التأثير على المعاملات الحقيقية أو البيانات المباشرة.

نظرة سريعة

الوضع الخادم PayPal API حالة الاستخدام
الإنتاج whitestudio.team api-m.paypal.com موقع مباشر، مدفوعات حقيقية
تجريبي demo.whitestudio.team api-m.sandbox.paypal.com اختبار، تطوير، مرحلة ما قبل الإنتاج
المسؤول يُبدّل وضع التطوير

حفظ الإعدادات

تعطيل وإعادة تفعيل الإضافة

يبدأ الوضع بالعمل

2. كيفية التفعيل / التعطيل

يقع زر تبديل وضع التطوير داخل صفحة Panel في Easy Form Builder. افتح قسم Settings من شريط القائمة العلوي، ثم انتقل إلى تبويب General.

📍 خطوة بخطوة: تفعيل وضع التطوير

  • قم بتسجيل الدخول إلى لوحة تحكم ووردبريس
  • في الشريط الجانبي الأيسر، انقر على Easy Form BuilderPanel
  • في صفحة Panel، انقر على Settings من شريط القائمة العلوي
  • تأكد أنك في تبويب General (هو التبويب الأول ومحدد افتراضياً)
  • مرر للأسفل حتى ترى قسم Development Mode (Sandbox) مع زر تبديل وأيقونة </>
  • انقر على زر التبديل لتحويله إلى ON (يصبح الزر نشطاً/مميزاً)
  • انقر على زر Save في أسفل صفحة الإعدادات لحفظ التغييرات
  • انتقل إلى Plugins في الشريط الجانبي لووردبريس
  • ابحث عن Easy Form Builder في قائمة الإضافات، انقر Deactivate، ثم انقر Activate مرة أخرى
⚠️ مهم: بعد تغيير خيار Development Mode (Sandbox)، يجب عليك حفظ الإعدادات، ثم تعطيل وإعادة تفعيل إضافة Easy Form Builder من صفحة Plugins لكي تسري التغييرات. يتم تعريف ثابت EMSFB_DEV_MODE مرة واحدة أثناء تهيئة الإضافة، لذا يلزم إعادة تحميل الإضافة.

🔒 خطوة بخطوة: تعطيل وضع التطوير

اتبع نفس الخطوات أعلاه، لكن بدّل المفتاح إلى OFF. ثم احفظ، وعطّل، وأعد تفعيل الإضافة.

تحذير: لا تترك وضع التطوير مفعلاً أبداً على موقع إنتاجي/مباشر. سيؤدي ذلك إلى توجيه جميع معاملات الدفع عبر PayPal Sandbox (بدون أموال حقيقية) وتنزيل الإضافات من خادم العرض التوضيحي.

3. ما الذي يتغير في وضع التطوير

عند تفعيل وضع التطوير، تتغير سلوكيات المكونات التالية في Easy Form Builder:

المكوّن الإنتاج (OFF) تجريبي (ON)
عنوان الخادم https://whitestudio.team https://demo.whitestudio.team
PayPal API https://api-m.paypal.com/ https://api-m.sandbox.paypal.com/
تنزيل الإضافات https://whitestudio.team/ https://demo.whitestudio.team/
معالجة المدفوعات معاملات حقيقية معاملات تجريبية فقط
💡 ملاحظة: يؤثر وضع التطوير على عدة أنظمة فرعية في آن واحد. إنه مفتاح شامل — لا يمكنك تحويل PayPal فقط إلى الوضع التجريبي مع الإبقاء على الإضافات في وضع الإنتاج، أو العكس.

4. بيئة PayPal التجريبية

أحد أهم تأثيرات وضع التطوير هو تحويل PayPal إلى وضع Sandbox.
هذا يعني أن جميع استدعاءات API للدفع تذهب إلى api-m.sandbox.paypal.com بدلاً من نقطة نهاية PayPal المباشرة.

النقاط الرئيسية

  • يجب عليك استخدام بيانات اعتماد Sandbox لـ PayPal (Client ID ومفتاح السر من لوحة تحكم مطوري PayPal) عندما يكون Dev Mode مفعلاً
  • إذا استخدمت بيانات اعتماد الإنتاج مع وضع التطوير أو العكس، سيفشل المصادقة
  • تستخدم معاملات Sandbox حسابات اختبارية — لا يتم خصم أموال حقيقية
  • يرى المسؤولون رسائل خطأ مفصلة تشمل تحذيرات عدم تطابق الوضع
  • يرى المستخدمون العاديون رسالة ودية عامة في حالة فشل الدفع

سيناريو عدم تطابق بيانات الاعتماد الشائع

وضع التطوير بيانات الاعتماد المستخدمة النتيجة
Sandbox مفعل مفاتيح Sandbox ✅ يعمل بشكل صحيح
الإنتاج OFF مفاتيح الإنتاج ✅ يعمل بشكل صحيح
Sandbox مفعل مفاتيح الإنتاج ❌ خطأ في المصادقة
الإنتاج OFF مفاتيح Sandbox ❌ خطأ في المصادقة
⚠️ تذكّر: عند التبديل بين Sandbox والإنتاج، قم دائماً بتحديث Client ID ومفتاح السر لـ PayPal في Easy Form Builder > Settings ليتطابق مع الوضع.

5. خادم الإضافات

عند تثبيت أو تحديث الإضافات (Telegram، PayPal، SMS، إلخ)، يقوم Easy Form Builder بتنزيلها من خادم WhiteStudio.
يغيّر وضع التطوير الخادم المستخدم:

الوضع الخادم
الإنتاج https://whitestudio.team/
تجريبي https://demo.whitestudio.team/
💡 نصيحة: إذا فشل تثبيت الإضافة في وضع Sandbox، جرّب تعطيل Dev Mode والتحويل إلى خادم الإنتاج. قد لا يحتوي الخادم التجريبي دائماً على أحدث حزم الإضافات.

6. مرجع خيار قاعدة البيانات

يتم تخزين حالة وضع التطوير في جدول wp_options في ووردبريس:

اسم الخيار القيمة المعنى
emsfb_dev_mode '0' وضع الإنتاج (افتراضي)
emsfb_dev_mode '1' وضع Sandbox / التطوير
emsfb_dev_mode '2' حالة التشغيل الأول (يُعاد تعيينها تلقائياً إلى '0')

ثابت PHP

يُقرأ الخيار مرة واحدة أثناء تشغيل الإضافة ويُخزن كثابت PHP:

// يُعرّف في emsfb.php أثناء تهيئة الإضافة
define(“EMSFB_DEV_MODE”, true); // Sandbox
define(“EMSFB_DEV_MODE”, false); // الإنتاج
💡 لماذا التعطيل/إعادة التفعيل؟ لأن EMSFB_DEV_MODE يُعرّف كـ constant في PHP عند تحميل الإضافة. لا يمكن تغيير الثوابت أثناء التشغيل. الطريقة الوحيدة لتطبيق قيمة جديدة هي إعادة تحميل الإضافة، وهذا يحدث عند التعطيل ثم إعادة التفعيل.

7. التفاصيل التقنية

كيف تتدفق القيمة

زر التبديل في الإعدادات

AJAX يحفظ في wp_options

إعادة تحميل الإضافة تقرأ الخيار

تعيين ثابت EMSFB_DEV_MODE

الملفات المتأثرة

الملف كيف يستخدم وضع التطوير
emsfb.php يقرأ خيار emsfb_dev_mode، ويعرّف ثابت EMSFB_DEV_MODE، ويعيّن EMSFB_SERVER_URL
class-Emsfb-admin.php يحفظ قيمة تبديل devMode في خيار emsfb_dev_mode عبر AJAX، ويحدد نطاق تنزيل الإضافات
class-Emsfb-panel.php يمرر حالة devMode الحالية إلى JavaScript كمتغير محلي
class-Emsfb-addon.php يختار نطاق الإنتاج أو العرض التوضيحي لعناوين URL الخاصة بالإضافات
functions.php يختار نطاق الإنتاج أو العرض التوضيحي لاستدعاءات API لتثبيت الإضافات
class-Emsfb-paypal-handler.php يبدّل PayPal API بين api-m.paypal.com و api-m.sandbox.paypal.com
class-Emsfb-paypal-payment.php يستخدم الثابت لتحديد أي خادم PayPal سيُستعلم لعمليات الدفع
list_form-efb.js يعرض زر تبديل وضع التطوير في Panel > Settings > تبويب General

ثابت عنوان الخادم

بالإضافة إلى تعيين EMSFB_DEV_MODE، تعرّف الإضافة أيضاً EMSFB_SERVER_URL:

// emsfb.php
if (EMSFB_DEV_MODE) {
define(“EMSFB_SERVER_URL”, “https://demo.whitestudio.team”);
} else {
define(“EMSFB_SERVER_URL”, “https://whitestudio.team”);
}

8. استكشاف الأخطاء وإصلاحها

❌ مشكلة: وضع التطوير لا يسري مفعوله

  • تأكد أنك حفظت الإعدادات بعد تبديل وضع التطوير
  • انتقل إلى صفحة Plugins، انقر Deactivate على Easy Form Builder، ثم انقر Activate مرة أخرى
  • امسح أي ذاكرة تخزين مؤقت من جانب الخادم (object cache، page cache) إذا كنت تستخدم إضافة تخزين مؤقت
  • تحقق من قيمة قاعدة البيانات عبر فحص wp_options:

    — شغّل في phpMyAdmin أو MySQL CLI
    SELECT option_value FROM wp_options WHERE option_name = ’emsfb_dev_mode’;
    — النتيجة: ‘1’ = Sandbox مفعل، ‘0’ = الإنتاج

❌ مشكلة: PayPal يُرجع خطأ 401 Unauthorized

  • تحقق مما إذا كان Dev Mode مفعلاً لكنك تستخدم بيانات اعتماد الإنتاج لـ PayPal (أو العكس)
  • انتقل إلى Easy Form Builder > Panel > Settings وقم بتحديث Client ID ومفتاح السر لـ PayPal ليتطابق مع الوضع الحالي
  • يتم إنشاء بيانات اعتماد Sandbox في developer.paypal.com
  • يتم إنشاء بيانات اعتماد الإنتاج في developer.paypal.com (Live)

❌ مشكلة: فشل تثبيت الإضافة في وضع Sandbox

  • قد لا يحتوي الخادم التجريبي على جميع حزم الإضافات المتاحة
  • بدّل Dev Mode إلى OFF، احفظ الإعدادات، عطّل/أعد تفعيل الإضافة، وحاول تثبيت الإضافة مرة أخرى
  • تأكد أن خادمك يستطيع الوصول إلى demo.whitestudio.team (تحقق من جدار الحماية أو DNS)

❌ مشكلة: قيمة الخيار هي ‘2’

  • القيمة '2' هي حالة التشغيل الأول — تعيد الإضافة تعيينها تلقائياً إلى '0' عند التحميل التالي
  • ببساطة قم بتعطيل وإعادة تفعيل الإضافة لتشغيل إعادة التعيين
  • بعد ذلك، ستكون القيمة '0' (وضع الإنتاج)

🐛 تفعيل سجل التصحيح

تسجّل عمليات PayPal معلومات مفصلة عند تفعيل WP_DEBUG:

// أضف إلى wp-config.php
define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);

ثم تحقق من wp-content/debug.log. سجلات PayPal مسبوقة بـ [EFB][PayPal][HANDLER] وتتضمن حالة EMSFB_DEV_MODE الحالية وعنوان الخادم وأطوال بيانات الاعتماد.