> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# فحص الحساب البنكي: إثبات ملكية الحساب دون تسجيل دخول

> تأكد مع Didit من أن الحساب البنكي يعود للشخص الموثّق من بيانات الحساب التي يدخلها دون تسجيل الدخول إلى البنك. يدعم IBAN وsort code وCLABE وCBU وIFSC وغيرها.

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

هو إحدى [طريقتَي التحقق البنكي](https://docs.didit.me/ar/core-technology/bank-verification/verification-methods.md)، إلى جانب تسجيل الدخول البنكي، وتكون قيمة الطريقة الخاصة به هي `account_lookup`. يظل رفع كشف الحساب والإيداعات الصغيرة بمثابة بدائل احتياطية بعد كلتيهما، ويمكن للشخص دائمًا [المتابعة بدون بنك](https://docs.didit.me/ar/core-technology/bank-verification/fallbacks.md). للتحقق من حساب عبر الواجهة الخلفية لديك بدون جلسة، على سبيل المثال قبل صرف مدفوعات، استخدم [واجهة API للتحقق من الحساب](https://docs.didit.me/ar/standalone-apis/bank-account-check.md).

> [!NOTE]
>
> يؤكد التحقق البنكي ملكية الحساب بمطابقته مع هوية أثبتتها **خطوة أخرى**، لذا فهو لا يعد إثباتاً للهوية بحد ذاته. ضع التحقق من الهوية، أو التحقق من قواعد البيانات، أو استبياناً، أو `expected_details` قبل هذه الخطوة. لا يقوم الشخص مطلقاً بكتابة اسم لغرض الفحص: تقارن Didit دائماً الاسم الذي تحققت منه الجلسة بالفعل.

## كيف يعمل

**1. يختار الشخص دولته**

في خطوة التحقق البنكي، يختار الشخص دولة من بين الدول التي توفرها الخطوة. وإذا كان فحص الحساب يأتي أولاً هناك، تفتح الخطوة نموذجاً قصيراً بتنسيق الحساب الخاص بتلك الدولة. أما إذا كان تسجيل الدخول البنكي يأتي أولاً، فيختار الشخص **أدخل بيانات حسابك** للوصول إلى النموذج.

**2. يُدخل الشخص حسابه**

على سبيل المثال رقم IBAN، أو رمز الفرز ورقم الحساب، أو رقم CLABE. يبني مسار التحقق النموذج بناءً على ما تُرجعه API لتلك الدولة، وبالتالي فإن أي دولة تضيفها Didit لاحقاً لن تتطلب أي تغيير من جانبك.

**3. تتحقق Didit من التنسيق أولاً**

قبل فوترة أي شيء، تتحقق Didit من كل قيمة: طولها، وحروفها، وأرقام التحقق الخاصة بها، وبالنسبة إلى رقم IBAN، التحقّق من انتمائه إلى الدولة المحددة. تُرْفَض القيمة التي تفشل في الفحص مع توضيح الحقل الذي يجب تصحيحه. يقوم الشخص بتصحيحه في مكانه، ولا تُستَهلك أي محاولة.

**4. يتحقق البنك من الاسم المسجل في الحساب**

تُجري Didit فحصاً واحداً مقابل الاسم الذي تحققت منه الجلسة. وأي شيء آخر يُرسله العميل يجري تجاهله.

**5. تتخذ الخطوة القرار**

تتحول الإجابة إلى نتيجة ملكية، وتحولها إجراءات الخطوة إلى القرار النهائي تماماً كما تفعل في تسجيل الدخول البنكي.

## أين يتوفر الفحص

التغطية تكون بحسب الدولة. يعمل الفحص حالياً في الإنتاج في نيجيريا، وغانا، وكينيا. تقوم Didit بتفعيله دولة تلو الأخرى بمجرد توفر مسار محدد السعر فيها؛ والدولة التي لا يتوفر فيها مسار لا تقدم هذا الفحص، وتوضح [أسعار التحقق البنكي](https://docs.didit.me/ar/getting-started/bank-verification-pricing.md) دائماً القائمة الحالية. تتم إضافة الدول بمرور الوقت، وتقرأ الخطوة القائمة الحالية دائماً، لذا لن تحتاج أبداً إلى تعديل التكامل لديك عند إضافة دولة ما.

داخل الدولة المشمولة بالتغطية، تحدد طرق الخطوة ما إذا كان الشخص سيراها:

* **ترتيب الخطوة.** يحدد `bank_method_order` الطرق التي توفرها كل دولة وأيها تأتي أولاً. يبدأ الإعداد الافتراضي، `["open_banking", "account_lookup"]`، بتسجيل الدخول البنكي ويقدم فحص الحساب كخيار احتياطي له.
* **ترتيب الدولة الخاص.** يتجاوز المعامل `methods` في دولة معينة ضمن `bank_countries` ترتيب الخطوة هناك، على سبيل المثال `["account_lookup"]` لفحص الحساب فقط، أو `["account_lookup", "open_banking"]` للبدء به.
* **تعطل البنك.** في الحالات التي توفر فيها الدولة فحص الحساب، فإنه يعمل أيضاً كبديل احتياطي للبنك الذي يشهد تسجيل الدخول البنكي فيه تدهوراً في الأداء أو تعطلاً: تنتقل الخطوة إلى نموذج الحساب قبل طلب أي موافقة، ما دامت لا تزال لديه عمليات فحص حساب متاحة.
* **يعمل الفحص عبر مسارات Didit الخاصة.** الخطوة التي تعمل عبر موفّر السوق الخاص بك (`provider_key`) لا توفره إلا عند تفعيل `fallback_to_native`.
* **حسابات الشركات.** في جلسة التحقق من الشركات (KYB)، يقارن الفحص حساب الشركة مع الشركة التي تم التحقق منها، في الدول التي تتحقق فيها Didit من حسابات الشركات.

راجع [اختيار الطرق بحسب الدولة](https://docs.didit.me/ar/core-technology/bank-verification/verification-methods.md#اختيار-الطرق-حسب-الدولة) للاطلاع على القواعد المتبعة عند الحفظ.

## ما يدخله الشخص

هذه هي تنسيقات الحساب التي يفهمها النموذج. وهي ليست قائمة بالتغطية: إذ يعتمد تشغيل الفحص في دولة ما على [توفره فيها](#أين-يتوفر-الفحص)، وتُظهر الخطوة دائماً الحقول الدقيقة الخاصة بتلك الدولة.

| تنسيق الحساب | الدول | ما يُدخله الشخص |
| - | - | - |
| IBAN | الدول التي تستخدم أرقام IBAN | رقم IBAN الكامل، والذي يجب أن ينتمي إلى الدولة المحددة |
| رمز الفرز ورقم الحساب | المملكة المتحدة | رمز فرز مكون من 6 أرقام ورقم حساب مكون من 8 أرقام |
| رقم التوجيه ورقم الحساب | الولايات المتحدة | رقم توجيه ABA مكون من 9 أرقام ورقم الحساب |
| رقم العبور ورقم المؤسسة | كندا | رقم العبور ورقم المؤسسة المكوّنان من 8 أرقام (رقم العبور المكون من 5 أرقام يليه رقم المؤسسة المكون من 3 أرقام) ورقم الحساب |
| رمز BSB ورقم الحساب | أستراليا | رمز BSB مكون من 6 أرقام ورقم الحساب |
| CLABE | المكسيك | رقم CLABE المكون من 18 رقماً، والذي يحدد البنك بالفعل |
| CBU أو CVU | الأرجنتين | رقم CBU أو CVU المكون من 22 رقماً، والذي يحدد البنك بالفعل |
| رمز IFSC ورقم الحساب | الهند | رمز IFSC المكون من 11 حرفاً ورقم الحساب |
| رقم NUBAN ورمز البنك | نيجيريا | رقم NUBAN المكون من 10 أرقام ورمز البنك أو BIC |
| رقم الحساب | دول أخرى | رقم الحساب، ورمز البنك أو BIC حيثما تتطلب الدولة ذلك |

في بعض الدول، يطلب النموذج أيضاً رقم التسجيل: بالنسبة لحسابات الشركات، وفي دول قليلة لجميع الحسابات.

تُزال المسافات والشرطات والنقاط وتُحوّل الحروف إلى أحرف كبيرة قبل فحص القيمة، حتى يتمكن الشخص من إدخال الحساب بالطريقة التي يطبعه بها بنكه.

## تفعيل الميزة

تُقدّم الخطوة الجديدة خيار التحقق من الحساب افتراضياً، كبديل احتياطي لتسجيل الدخول البنكي. للبدء به، أو لتقديمه منفرداً، ضع `account_lookup` أولاً في الترتيب:

```json theme={null}
{
  "bank_method_order": ["account_lookup", "open_banking"]
}
```

تُشكّل هذه الإعدادات عملية الفحص:

| الإعداد | التأثير على التحقق من الحساب |
| - | - |
| `bank_method_order`، `bank_countries.<ISO3>.methods` | ما إذا كانت الدولة تُقدّم الفحص، وما إذا كان يأتي قبل تسجيل الدخول البنكي أو بعده. |
| `bank_countries` | يعمل الفحص فقط في الدول التي تُقدّمها الخطوة. |
| `bank_reference_identity` | الخطوة التي يُقارَن الحساب باسمها المتحقق منه. |
| `bank_account_check_max_attempts` | عدد عمليات الفحص المتاحة للشخص، من `1` إلى `5` (`3` افتراضياً). وهو عداد منفصل عن `bank_max_attempts` الخاص بتسجيل الدخول البنكي. |
| `bank_account_check_accept_close_match` | مفعّل (افتراضياً): ينتقل التطابق المتقارب إلى تأكيد التطابق المتقارب، أو إلى `bank_partial_match_action`. غير مفعّل: يُعدّ كل تطابق متقارب بمثابة عدم تطابق. |
| `bank_name_match_threshold`، `bank_partial_match_floor` | نفس نطاقات درجات الاسم المستخدمة في تسجيل الدخول البنكي: تطابق عند الحد أو أعلى منه (85 افتراضياً)، وتطابق متقارب، وهو نطاق التطابق الجزئي، بين الحد الأدنى (70 افتراضياً) والحد. |
| `bank_use_provider_score` | مفعّل (افتراضياً): تكون درجة الاسم الخاصة بالفحص نفسه هي الحاسمة عندما تكون أعلى من درجة Didit، أو عندما يُرجع الفحص درجة دون اسم صاحب الحساب، وعندها تكون قيمة `ownership.method` هي `provider_only`. غير مفعّل: تكون الإجابة التي لا تتضمن اسم صاحب الحساب `not_verifiable`. |
| `bank_suggest_holder_name` | مفعّل (افتراضياً): عند حدوث تطابق متقارب يذكر اسم صاحب الحساب، يرى الشخص الاسم ويؤكد أنه يخصه أو يجرب حساباً آخر. |

## النتائج

### عمليات الفحص التي تُرجع إجابة

تُفوتر كل عملية من هذه العمليات مرة واحدة وتستهلك إحدى محاولات التحقق من الحساب المتاحة للشخص (`bank_account_check_max_attempts`). حتى تكتمل الخطوة، يمكن للشخص المحاولة مرة أخرى باستخدام حساب آخر طالما بقيت لديه محاولات. تظهر النتيجة في `ownership.result`، باستثناء الحساب غير الموجود، الذي يظهر في `connection.reason_code`.

| ما يُرجعه الفحص | النتيجة | ما يحدد القرار |
| - | - | - |
| الحساب ينتمي إلى الشخص المتحقق منه | `match` | تتم الموافقة على الخطوة، ما لم تنص عملية فحص أخرى فيها على خلاف ذلك. |
| تطابق متقارب يذكر اسم صاحب الحساب | `partial_match` | مع تفعيل `bank_suggest_holder_name`، يؤكد الشخص الاسم أو يجرب حساباً آخر. يؤدي التأكيد إلى إنهاء الخطوة بالحالة التي يحددها `bank_partial_match_action` (`REVIEW` افتراضياً). |
| تطابق متقارب مع درجة ولكن دون اسم صاحب الحساب | `partial_match` | `bank_partial_match_action` (`REVIEW` افتراضياً). تكون قيمة `ownership.method` هي `provider_only`. يتطلب هذا تفعيل `bank_use_provider_score`، وهو الإعداد الافتراضي؛ وفي حال تعطيله، تكون الإجابة `not_verifiable`. |
| الحساب ينتمي إلى شخص آخر | `no_match` | `bank_no_match_action` (`DECLINE` افتراضياً). |
| إجابة لم تقارن أي اسم | `not_verifiable` | `bank_not_verifiable_action` (`REVIEW` افتراضياً). |
| لا يوجد حساب بهذه البيانات | `ACCOUNT_NOT_FOUND` | يمكن للشخص تجربة حساب آخر طالما بقيت لديه محاولات. |

مع تعطيل `bank_account_check_accept_close_match`، يتحول كلا التطابقين المتقاربين إلى `no_match` بدلاً من ذلك، مع رمز السبب `OWNER_NAME_MISMATCH`: لا يُطلب من الشخص أبداً تأكيد الاسم، ويفصل `bank_no_match_action` في القرار. ويحتفظ تسجيل الدخول البنكي بتطابقاته المتقاربة في كلتا الحالتين.

بمجرد أن يستهلك الشخص كل محاولات التحقق من الحساب، وكل محاولات تسجيل الدخول البنكي في الحالات التي تُقدّم فيها الدولة تسجيل الدخول البنكي أيضاً، دون اتصال ناجح، تظل الخطوة مفتوحة طالما أنها لا تزال تُقدّم له خيار تحميل كشف الحساب مع بقاء محاولات متاحة: راجع [تحميل كشف الحساب](https://docs.didit.me/ar/core-technology/bank-verification/fallbacks.md#رفع-كشف-الحساب). وعند عدم بقاء أي وسيلة، تنتهي الخطوة بالحالة التي يحددها `bank_attempts_exhausted_action` (`DECLINE` افتراضياً)، ما لم تكن محاولة سابقة قد توصلت بالفعل إلى حكم نهائي، مثل عدم تطابق الاسم. ويبقى ذلك الحكم سارياً حينها.

### النتائج التي لا تُفوتر أبداً

لا تستهلك أي من هذه الحالات أي محاولة فحص. وتظهر كل منها في `connection.reason_code`.

| ما يحدث | رمز السبب | ما يلي ذلك |
| - | - | - |
| تم رفض الحساب كما كُتب، بواسطة فحص التنسيق من Didit أو بواسطة البنك | `INVALID_ACCOUNT_INPUT`، بينما تظل المحاولة مفتوحة | يتم إبلاغ الشخص بالحقل المطلوب تصحيحه ويقوم بتعديله. |
| الفحص غير متاح في الوقت الحالي | `PROVIDER_UNAVAILABLE` | يمكن للشخص المحاولة مرة أخرى. |
| لا تحتوي الجلسة على اسم متحقق منه للمقارنة | `REFERENCE_IDENTITY_MISSING` | لا يعمل الفحص أبداً. تنتهي الخطوة بالحالة التي يحددها `bank_reference_identity_missing_action` (`REVIEW` افتراضياً). |

### في القرار

يُدرج قرار الجلسة الخطوة ضمن `bank_verifications[]`. بمجرد تقييم الحساب، تكون قيمة `method` هي `account_lookup`. طالما لم يتم تقييم أي حساب، تكون قيمة `method` و`ownership` هي `null`، ويوضح `connection.reason_code` السبب، على سبيل المثال `ACCOUNT_NOT_FOUND` أو `PROVIDER_UNAVAILABLE` أو `REFERENCE_IDENTITY_MISSING`.

لا يتم اختيار أي بنك للفحص، لذا تكون قيم `connection.institution_id` و`connection.institution_name` و`connection.oauth` هي `null`، وتكون قيمة `connection.institution_country` هي الدولة التي اختارها الشخص. لا يعود لدى Didit أي وصول إلى الحساب بمجرد اكتمال الخطوة، لذا فإن الفحص الذي انتهى بتطابق يظهر كـ `connection.status: revoked` مع `reason_code: VERIFICATION_COMPLETED`. وتبقى النتيجة نفسها مسجلة في الجلسة.

لا يقرأ فحص الحساب أي أرصدة أو معاملات أو دخل. عندما تطلب الخطوة ذلك، تسردها `financial_data.not_collected`؛ راجع [البيانات المالية تتطلب تسجيل الدخول البنكي](https://docs.didit.me/ar/core-technology/bank-verification/verification-methods.md#تتطلب-البيانات-المالية-تسجيل-الدخول-إلى-البنك).

```json theme={null}
{
  "bank_verifications": [
    {
      "status": "Approved",
      "method": "account_lookup",
      "connection": {
        "status": "revoked",
        "institution_id": null,
        "institution_name": null,
        "institution_country": "NGA",
        "oauth": null,
        "attempts": 1,
        "reason_code": "VERIFICATION_COMPLETED"
      },
      "ownership": {
        "result": "match",
        "method": "exact"
      },
      "financial_data": {
        "balances": null,
        "transactions": null,
        "income": null,
        "categorization": null,
        "not_collected": []
      },
      "billing": {
        "route": "native",
        "billed": true,
        "marketplace_fee": null,
        "usage_type": "bank_verification"
      }
    }
  ]
}
```

يعرض المثال الحقول التي تتناولها هذه الصفحة فقط. بمجرد تقييم الحساب، اقرأ `method` لتمييز فحص الحساب عن تسجيل الدخول البنكي: فهو الحقل الوحيد المخصص لذلك.

### في قواعد سير العمل والتقارير

* **الفروع وقواعد الحالة:** تكون قيمة `bank.method` هي `account_lookup` (**التحقق من الحساب** في أداة إنشاء القواعد)، ويمكن أن تكون قيمة `bank.reason_code` هي `ACCOUNT_NOT_FOUND`.
* **تقرير الجلسة بتنسيق PDF:** يُظهر صف **طريقة التحقق** القيمة **التحقق من الحساب**.

## الأسعار

تُحتسب كل عملية فحص تُرجع إجابة كرسوم تحقق بنكي واحدة: فالتطابق، والتطابق القريب، وعدم التطابق، والحساب الذي تعذر التحقق منه، والحساب الذي لم يُعثر عليه، كلها عمليات تخضع للفوترة. أما القيمة المرفوضة قبل الفحص، والفحص غير المتاح، والجلسة التي لا تحتوي على اسم تم التحقق منه للمقارنة، فلا تخضع للفوترة أبداً. يُحدد السعر لكل دولة: راجع [أسعار التحقق البنكي](https://docs.didit.me/ar/getting-started/bank-verification-pricing.md).

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

## اختباره في البيئة التجريبية

في تطبيق البيئة التجريبية، يعمل الفحص عبر خدمة محاكاة ولا تتم فوترة أي شيء. تتيح البيئة التجريبية كلتا الطريقتين في كل دولة، بالترتيب الذي تحدده الخطوة: بالترتيب الافتراضي، اختر **أدخل بيانات حسابك** لتشغيل الفحص، أو اضبط `bank_method_order` على `["account_lookup", "open_banking"]` للبدء به.

تحدد آخر أربعة أحرف من الحساب الذي يكتبه الشخص (رقم IBAN، أو رقم الحساب بدلاً من ذلك) الإجابة. أي نهاية أخرى تتطابق مع الاسم الذي تم التحقق منه.

| تنتهي بـ | الإجابة |
| - | - |
| `0001` | تطابق قريب يذكر اسم صاحب الحساب: يُطلب من الشخص تأكيد الاسم. إذا كان `bank_account_check_accept_close_match` معطلاً، تكون النتيجة عدم تطابق. |
| `0002` | تطابق قريب دون ذكر اسم صاحب الحساب: يحدد `bank_partial_match_action` الإجراء. إذا كان `bank_use_provider_score` معطلاً، تكون الإجابة `not_verifiable`؛ وإذا كان `bank_account_check_accept_close_match` معطلاً، تكون النتيجة عدم تطابق. |
| `0003` | عدم تطابق: الحساب يخص شخصاً آخر. يستهلك عملية فحص. |
| `0004` | تمت الإجابة ولكن دون مقارنة أي اسم (`not_verifiable`). يستهلك عملية فحص. |
| `0005` | الفحص غير متاح (`PROVIDER_UNAVAILABLE`). إعادة المحاولة مجانية. |
| `0006` | لا يوجد حساب بهذه التفاصيل (`ACCOUNT_NOT_FOUND`). يستهلك عملية فحص. |
| `0009` | رُفضت القيمة كما كُتبت: يُطلب من الشخص تصحيح الحقل. تظل المحاولة مفتوحة. |

تسجل البيئة التجريبية كل فحص تمت الإجابة عليه كاستخدام دون أي تكلفة، حتى تتمكن من معرفة الفحوصات التي ستتم فوترتها في جلسة حية.

يحتوي كل من IBAN وCLABE وCBU على أرقام تحقق، لذا لا يمكنك ببساطة تغيير آخر أربعة أحرف منها. استخدم هذه القيم، التي تجتاز كل عمليات فحص التنسيق:

> [tab] ألمانيا (IBAN)
>
> | الإجابة | IBAN |
> | - | - |
> | تطابق | `DE43123456789012345678` |
> | `0001` | `DE62123456789012340001` |
> | `0002` | `DE35123456789012340002` |
> | `0003` | `DE08123456789012340003` |
> | `0004` | `DE78123456789012340004` |
> | `0005` | `DE51123456789012340005` |
> | `0006` | `DE24123456789012340006` |
> | `0009` | `DE40123456789012340009` |

> [tab] المملكة المتحدة
>
> رمز الفرز `123456`، مع:
>
> | الإجابة | رقم الحساب |
> | - | - |
> | تطابق | `12345678` |
> | `0001` | `12340001` |
> | `0002` | `12340002` |
> | `0003` | `12340003` |
> | `0004` | `12340004` |
> | `0005` | `12340005` |
> | `0006` | `12340006` |
> | `0009` | `12340009` |

> [tab] الولايات المتحدة
>
> رقم التوجيه `021000021`، مع:
>
> | الإجابة | رقم الحساب |
> | - | - |
> | تطابق | `000123456789` |
> | `0001` | `000123450001` |
> | `0002` | `000123450002` |
> | `0003` | `000123450003` |
> | `0004` | `000123450004` |
> | `0005` | `000123450005` |
> | `0006` | `000123450006` |
> | `0009` | `000123450009` |

> [tab] المكسيك (CLABE)
>
> | الإجابة | CLABE |
> | - | - |
> | تطابق | `002010077777777771` |
> | `0001` | `002010077777780001` |
> | `0002` | `002010077777750002` |
> | `0003` | `002010077777720003` |
> | `0004` | `002010077777790004` |
> | `0005` | `002010077777760005` |
> | `0006` | `002010077777730006` |
> | `0009` | `002010077777740009` |

> [tab] الأرجنتين (CBU)
>
> | الإجابة | CBU |
> | - | - |
> | تطابق | `2850590940090418135201` |
> | `0001` | `2850590940090418160001` |
> | `0002` | `2850590940090418170002` |
> | `0003` | `2850590940090418180003` |
> | `0004` | `2850590940090418190004` |
> | `0005` | `2850590940090418100005` |
> | `0006` | `2850590940090418110006` |
> | `0009` | `2850590940090418140009` |

> [tab] الهند
>
> رمز IFSC `ALLA0211480`، مع:
>
> | الإجابة | رقم الحساب |
> | - | - |
> | تطابق | `123456789007` |
> | `0001` | `123456780001` |
> | `0002` | `123456780002` |
> | `0003` | `123456780003` |
> | `0004` | `123456780004` |
> | `0005` | `123456780005` |
> | `0006` | `123456780006` |
> | `0009` | `123456780009` |

تستجيب [API فحص الحساب](https://docs.didit.me/ar/standalone-apis/bank-account-check.md) لمفتاح البيئة التجريبية استناداً إلى النهايات نفسها، ودون الحاجة إلى جلسة.

راجع [اختبار البيئة التجريبية](https://docs.didit.me/ar/integration/sandbox-testing.md) لمعرفة كيفية عمل تطبيقات البيئة التجريبية عموماً.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.