# Bepaid

## **كيفية الاتصال**

للاتصال بـ **bePaid** نظام الدفع، ستحتاج إلى **معرّف المتجر**, **المفتاح السري**، و **المفتاح العام**. بعد أن تتلقى هذه بيانات الاعتماد، انتقل إلى الإعدادات في **Salebot**.

{% hint style="info" %}
للحصول على **معرّف المتجر**, **المفتاح السري**، و **المفتاح العام**، يرجى الاتصال بـ **baPaid** الدعم الفني للمساعدة.
{% endhint %}

في **MaviBot**، افتح قسم **"نظام الدفع"** وانتقل إلى **bePaid**. ثم أدخل بيانات الاعتماد التي تلقيتها.

<div data-with-frame="true"><figure><img src="/files/3c3722716416ab7ccf55f157a647e43768830bca" alt=""><figcaption></figcaption></figure></div>

يرجى ملاحظة أن الحقل الأخير هو مفتاح تبديل يحدد استضافة واجهة API حسب بلد الاستخدام: **بيلاروس** أو **روسيا**.

<div data-with-frame="true"><figure><img src="/files/25126bd3f0404c4b2c030b72be8676cdb93d8df3" alt=""><figcaption></figcaption></figure></div>

## **كيفية إنشاء رابط دفع**

لإنشاء رابط دفع، تحتاج إلى تعيين قيمة للمتغير **payment\_sum** (على سبيل المثال: **150** أو **100.55** — استخدم نقطة كفاصل عشري).

بمجرد تعيين **payment\_sum** المتغير، سيظهر المتغير **bepaid\_pay\_url** تلقائيًا. يمكنك عرض هذا المتغير على الشاشة كرابط أو وضعه على زر بالنص **"ادفع"**.

سيبدو رابط الدفع هكذا:\
<https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a>

قبل تعيين **payment\_sum** المتغير، يمكنك أيضًا تحديد المتغيرات الاختيارية التالية لتخصيص الدفع.

{% hint style="info" %}
افتراضيًا، يتم تعيين العملة إلى **الروبل البيلاروسي**. إذا كنت بحاجة إلى استخدام عملة مختلفة، فعيّن قيمة للمتغير **currency** .
{% endhint %}

<table><thead><tr><th width="209">معلمات الدالة</th><th width="242">الوصف</th><th>مزيد من المعلومات</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>عملة الدفع بتنسيق ISO 4217</td><td>على سبيل المثال: <strong>USD</strong></td></tr><tr><td><strong>language</strong></td><td><strong>لغة صفحة الدفع</strong><br>الافتراضي: <strong>en</strong>.</td><td><p><strong>القيم المسموح بها:</strong></p><ul><li><strong>en</strong> – الإنجليزية</li><li><strong>es</strong> – الإسبانية</li><li><strong>tr</strong> – التركية</li><li><strong>de</strong> – الألمانية</li><li><strong>it</strong> – الإيطالية</li><li><strong>ru</strong> – الروسية</li><li><strong>zh</strong> – الصينية</li><li><strong>fr</strong> – الفرنسية</li><li><strong>da</strong> – الدنماركية</li><li><strong>sv</strong> – السويدية</li><li><strong>no</strong> – النرويجية</li><li><strong>fi</strong> – الفنلندية</li><li><strong>pl</strong> – البولندية</li><li><strong>ja</strong> – اليابانية</li><li><strong>uk</strong> – الأوكرانية</li><li><strong>be</strong> – البيلاروسية</li><li><strong>ka</strong> – الجورجية</li><li><strong>ro</strong> – الرومانية</li></ul></td></tr><tr><td><strong>payment_description</strong></td><td>وصف الدفع</td><td></td></tr><tr><td><strong>link_expired</strong> </td><td><strong>انتهاء صلاحية رابط الدفع</strong><br>عيّن تاريخ الانتهاء بالتنسيق <strong>dd.mm.yyyy</strong> (على سبيل المثال: <strong>25.06.2025</strong>).<br>افتراضيًا، يجب إكمال الدفع خلال <strong>24 ساعة</strong>.</td><td><p>يمكنك أيضًا استخدام الحقل <strong>"تعيين المتغيرات عند إعادة التوجيه"</strong> لتعيين:</p><ul><li><code>link_expired = current_date + 2</code> — سيكون الرابط صالحًا لمدة <strong>يومين حتى 00:00</strong>.</li><li>يمكنك أيضًا تحديد تاريخ ووقت انتهاء دقيق بالتنسيق <strong>dd.mm.yyyy hh:mm</strong> (على سبيل المثال: <strong>25.06.2025 12:23</strong>). افتراضيًا، يجب إكمال الدفع خلال <strong>24 ساعة</strong>.</li></ul><p>يمكن أيضًا استخدام المتغيرات القياسية. على سبيل المثال، لتعيين صلاحية الرابط إلى <strong>30 دقيقة</strong>:<br>time = current_time + 30<br>link_expired = "#{current_date} #{time}"</p></td></tr><tr><td>russian_host</td><td><strong>مؤشر للمتجر المسجّل على مضيف bePaid الروسي</strong><br>عيّن هذه المعلمة إلى <strong>1</strong> إذا كان متجرك مسجلاً على <strong>bepaid.tech</strong>.</td><td>إذا كنت بحاجة إلى التبديل إلى المضيف في بيلاروس، فعيّن هذه المعلمة إلى <strong>""</strong> (قيمة فارغة).</td></tr><tr><td><strong>test_payments</strong></td><td>يُستخدم هذا المتغير من أجل <strong>المدفوعات التجريبية</strong>. لإجراء دفعة تجريبية، أضفه بأي قيمة.</td><td></td></tr><tr><td><strong>bepaid_attempts</strong> </td><td>يحدد <strong>عدد محاولات الدفع</strong>. افتراضيًا، يُسمح بـ <strong>محاولة واحدة</strong> .</td><td></td></tr><tr><td><strong>сustomer_data</strong></td><td>مصفوفة تحتوي على <strong>الاسم الأول</strong>, <strong>اسم العائلة</strong>، و <strong>البريد الإلكتروني</strong>للدافع. هذه البيانات مطلوبة لإرسال الإيصال إلى بريد الدافع الإلكتروني ويمكن تعديلها في صفحة الدفع.</td><td>يجب تمرير المعلمة كـ <strong>قائمة أزواج مفتاح-قيمة بتنسيق JSON</strong>.<br>على سبيل المثال:<br>customer_data = ‘{“first_name”: “Sam”, “last_name”: “Smith”, “email”: “sam_smith@mavibot.ai” }’</td></tr><tr><td><strong>bepaid_contract</strong> (مطلوب بشكل مشروط)</td><td>غرض الدفع بواسطة الرمز</td><td><p><strong>القيم المتوقعة:</strong></p><ul><li><strong>“recurring”</strong> – للمدفوعات المنتظمة ذات التكرار المحدد</li><li><strong>“card_on_file”</strong> – للمدفوعات لمرة واحدة أو غير المنتظمة، مثل الدفع اللاحق مقابل خدمة</li></ul></td></tr></tbody></table>

بعد إكمال الدفع، ستتم إضافة المتغير **bepaid\_callback\_data** للمستخدم. وهو يحتوي على استجابة نظام الدفع للمعاملة المكتملة. يمكنك استخراج البيانات المطلوبة من هذا القاموس باستخدام طريقة **get** .

## **كيفية اختبار المدفوعات**

لإجراء دفعة تجريبية، قبل تعيين **payment\_sum** المتغير، عيّن المتغير **test\_payments** بأي قيمة.\
تذكّر إزالته عند تشغيل البوت في **الوضع المباشر**!

**البطاقات التجريبية:**

* 4200000000000000 — ناجحة
* 4005550000000019 — فاشلة

إذا كان هناك شيء لا يعمل، فقارن بياناتك مع الوثائق الرسمية: <https://docs.bepaid.by/ru/test-integration#test-card-number>

## **مثال على إنشاء رابط دفع**

لننشئ رابط دفع لـ **100 روبل بيلاروسي** (العملة الافتراضية).

ملاحظة: أولًا، عيّن المتغيرات الإضافية للإعداد، ثم عيّن **payment\_sum**. يمكن أيضًا تعيين المتغيرات مسبقًا في سير العمل، وليس بالضرورة في نفس الكتلة — هذا مجرد مثال.

أخيرًا، اعرض المتغير **bepaid\_pay\_url** في الموقع المطلوب؛ فهو يحتوي على رابط الدفع المُنشأ.

## **إدارة الاشتراكات**

يسمح لك تكامل نظام الدفع بإنشاء اشتراكات لعملائك.

قبل استخدام هذه الوظيفة في **Salebot**، أنشئ خطة اشتراك في **bePaid** حسابك.

{% hint style="warning" %}
إذا كان **"الخطط"** و **"الاشتراكات"** إذا لم تظهر القوائم في حسابك، فيرجى الاتصال بمديرك.
{% endhint %}

**إنشاء اشتراك وإنشاء رابط دفع**

استخدم الدالة **get\_bepaid\_subscription\_url** مع تمرير المعلمة **plan\_id** ، حيث…

<table><thead><tr><th width="233"></th><th></th></tr></thead><tbody><tr><td>plan_id</td><td><strong>plan_id</strong> هو معرّف الخطة في <strong>bePaid</strong> النظام.</td></tr></tbody></table>

وبالتالي، ستنشئ الدالة اشتراكًا وتعيد رابط دفع.

أرسل الرابط إلى العميل وانتظر حتى يكتمل الدفع.

بمجرد نجاح الدفع، سيتم تفعيل الاشتراك. سيحصل الصفقة على المتغيرين **bepaid\_subscription\_id** و **bepaid\_subscription\_status** ، وسيتم إرسال استدعاء إلى البوت (انظر قسم **"كيفية التعامل مع النتيجة"** ).

## **استرجاع معلومات الاشتراك**

للحصول على تفاصيل الاشتراك الحالية لعميل، استدعِ الدالة **get\_bepaid\_subscription\_info** وتمرير المعلمة **subscription\_id** (يمكن أخذ القيمة من **bepaid\_subscription\_id** المتغير).

## **إلغاء اشتراك**

لإلغاء اشتراك، استخدم **cancel\_bepaid\_subscription** .

تقبل هذه الدالة معلمة واحدة: **subscription\_id** (يمكن أخذ القيمة من **bepaid\_subscription\_id** المتغير).

بعد الإلغاء الناجح، سيتم تعيين المتغير **bepaid\_subscription\_status** إلى **“canceled”**، وسيتم إرسال استدعاء إلى البوت (انظر **"كيفية التعامل مع النتيجة"** ).

## حالات الاشتراك

<table data-header-hidden><thead><tr><th width="270"></th><th></th></tr></thead><tbody><tr><td>trial</td><td>نشط أو ملغى <strong>فترة تجريبية</strong> اشتراك.</td></tr><tr><td>active</td><td>اشتراك نشط مع <strong>دفع تم في الوقت المحدد</strong>.</td></tr><tr><td>failed</td><td>اشتراك فاشل. <strong>bePaid</strong> تعذّر عليه معالجة الدفعة التالية.</td></tr><tr><td>error</td><td>حدث خطأ أثناء <strong>bePaid</strong> محاولة معالجة الدفع.</td></tr><tr><td>canceled</td><td>تم <strong>canceled</strong> إلغاء الاشتراك</td></tr></tbody></table>

## **والآن لم يعد نشطًا.**

المدفوعات المتكررة **يمكنك أيضًا إعداد نظام اشتراك** دون إنشاء خطة **bePaid** حسابك.

في **ستحتاج إلى**.

رمز بطاقة العميل **payment\_sum**.

قبل تعيين **payment\_sum** للحصول على رمز البطاقة، يجب على العميل إجراء دفعة أولية باستخدام رابط تم إنشاؤه عبر **bepaid\_contract** القيمة، عيّن المتغير

* **“recurring”** – للمدفوعات المنتظمة ذات التكرار المحدد
* **“card\_on\_file”** – للمدفوعات لمرة واحدة أو غير المنتظمة، مثل الدفع اللاحق مقابل خدمة

{% hint style="warning" %}
الـ **“card\_on\_file”** الخيار غير مدعوم من قبل جميع جهات الاستحواذ. إذا كنت ترغب في استخدامه، يرجى الاتصال بمدير حسابك.
{% endhint %}

بعد الدفع الناجح، سيتم إضافة المتغير **bepaid\_client\_card\_token** إلى الصفقة، حيث يخزن رمز بطاقة العميل. يتيح لك هذا الرمز تحصيل رسوم من بطاقة العميل **دون تدخل منه**.

بعد ذلك، قم بإعداد مسار التحويل الخاص بك وحدد تاريخًا أو شرطًا للخصم التلقائي، ثم استدعِ الدالة **make\_bepaid\_token\_payment** مع تمرير المعلمات المطلوبة.

ترتيب المعاملات:\
**amount → currency → description → contract**

### أوصاف المعلمات

<table><thead><tr><th width="286"></th><th></th></tr></thead><tbody><tr><td>amount (مطلوب)</td><td><strong>مبلغ الدفع</strong> – القيمة المتوقعة هي <strong>عدد صحيح</strong> أو <strong>عدد عشري</strong>، على سبيل المثال: 100 أو 100.5.</td></tr><tr><td>currency (مطلوب)</td><td><strong>عملة الدفع</strong> بـ <strong>ISO 4217</strong> تنسيقًا، على سبيل المثال: <strong>“USD”</strong>.</td></tr><tr><td>description (مطلوب)</td><td><strong>وصف الخصم</strong>، على سبيل المثال: <strong>“Weekly subscription payment for participation in the hobby club”</strong>.</td></tr><tr><td>contract (مطلوب)</td><td><strong>غرض الدفع بواسطة الرمز.</strong> القيم المتوقعة: <strong>“recurring”</strong> أو <strong>“card_on_file”</strong>.</td></tr></tbody></table>

{% hint style="warning" %}
الـ **contract** يجب أن **يطابق تمامًا** القيمة المحددة عند إنشاء رابط الدفع الأولي!
{% endhint %}

إذا كان الدفع ناجحًا، ستعيد الدالة الرسالة **“Successful charge via bePaid token”**، وستتلقى استدعاءً للدفع الناجح، وسيتم تعيين متغير الصفقة **bepaid\_token\_payment\_completed** إلى **“True”**.

إذا فشل الدفع، فستعيد الدالة رسالة توضح سبب فشل الدفع، وسيتم إرسال استدعاء باللاحقة **“\_fail”** إلى البوت، وسيتم تعيين متغير الصفقة **bepaid\_token\_payment\_completed** إلى **“False”**.

{% hint style="warning" %}
قد يطلب البنك من العميل إكمال الدفع. في هذه الحالة، ستعيد الدالة رابطًا يطلب من العميل المرور عبر **مصادقة 3-D Secure**.
{% endhint %}

## **كيفية التعامل مع النتيجة**

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

في النظام، يظهر الاستدعاء كرسالة من المستخدم، لكن المستخدم **لا يراه**.

### **للدفعات**

بالنسبة للمدفوعات **غير المرتبطة بالاشتراكات**، ستتلقى إحدى الرسائل التالية:

* **keyNumber\_success** – للدفع الناجح
* **keyNumber\_fail** – للدفع الفاشل

يمكنك أيضًا تتبع حالة آخر دفعة باستخدام المتغيرات:

* **bepaid\_payment\_completed** – للمدفوعات التي تتضمن العميل
* **bepaid\_token\_payment\_completed** – لـ **المدفوعات التلقائية المعتمدة على رمز البطاقة**

### **للاشتراكات**

بعد تفعيل الاشتراك بنجاح، سواء في الدفعة الأولى أو الدفعة المتكررة، سيتلقى البوت الرسالة **keyNumber\_success**.

إذا تم إلغاء الاشتراك، فستتلقى **keyNumber\_canceled**.

في حالة فشل دفع الاشتراك، سيتم إرسال الرسالة **keyNumber\_fail** .


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ar/integrations/payment/bepaid.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
