# Paytabs

## ربط PayTabs بـ Mavibot

لربط PayTabs مع Mavibot، تحتاج إلى تهيئة عدة إعدادات في حساب PayTabs الخاص بك.

### 1. إنشاء مفتاح API

في لوحة تحكم PayTabs الخاصة بك، انتقل إلى:

**المطورون ← مفاتيح API**

أنشئ مفتاح API جديدًا.

<div data-with-frame="true"><img src="/files/427b5decd72ed4c1082aed042472b3aab9095a00" alt=""></div>

<div data-with-frame="true"><img src="/files/d00894776f4d29867ba29eb69e93f603674927b0" alt=""></div>

بعد إنشاء مفتاح API، احفظ التفاصيل التالية:

* **مفتاح الخادم** — مطلوب لإعداد التكامل.
* **معرّف الملف الشخصي** — مطلوب أيضًا لإعداد الاتصال.

<div data-with-frame="true"><img src="/files/736ba920cccd477330f47585b6a6535c128ba63e" alt="" height="252" width="794"></div>

### 2. تهيئة إشعارات الدفع

انتقل إلى:

**المطورون ← الإعدادات**

<div data-with-frame="true"><img src="/files/d5fb5d28406b16e4fe67e7a9bac0c2cba7774704" alt="" height="414" width="750"></div>

قم بتمكين إشعارات الدفع (**استدعاءات الرجوع**).

انقر **"+"** وأضف رابط callback التالي:

```
https://chatter.mavibot.ai/paytabs_callback/result
```

<div data-with-frame="true"><img src="/files/080d07343c57ff39cfa518d6faf62e9dd944e5e6" alt="" height="322" width="822"></div>

<div data-with-frame="true"><img src="/files/c1c2911ff820d29cc3d29d66619be475153ce729" alt="" height="368" width="835"></div>

يُستخدم هذا الرابط لإرسال تحديثات حالة الدفع إلى Mavibot.

### 3. تهيئة PayTabs في Mavibot

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

في إعدادات Mavibot:

1. انتقل إلى قسم **التحصيل** القسم
2. اختر **PayTabs** كمزوّد الدفع
3. أدخل التفاصيل التالية:
   * **معرّف الملف الشخصي**
   * **مفتاح الخادم**
4. اختر **منطقة حساب PayTabs الخاصة بك**

{% hint style="info" %}
**يرجى الملاحظة!**\
يجب أن تتطابق المنطقة المحددة مع المنطقة التي تم تسجيل حساب PayTabs الخاص بك فيها.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/bba8a50aebc78664975f29b46538d5e0c865805f" alt="" width="563"><figcaption></figcaption></figure></div>

بمجرد حفظ الإعدادات، سيكتمل إعداد التكامل.

### إنشاء رابط دفع

لإنشاء رابط دفع، استخدم الدالة التالية:

`get_paytabs_payment_url(amount, description, currency, customer_email, customer_phone,    full_name, language)`

#### معلمات الدالة

| المعلمة                                          | الوصف                                          |
| ------------------------------------------------ | ---------------------------------------------- |
| <mark style="color:$danger;">**!**</mark> amount | مبلغ الدفع. معلمة مطلوبة                       |
| description                                      | وصف الدفع. معلمة اختيارية                      |
| currency                                         | عملة الدفع. معلمة اختيارية                     |
| customer\_email                                  | عنوان البريد الإلكتروني للعميل. معلمة اختيارية |
| customer\_phone                                  | رقم هاتف العميل. معلمة اختيارية                |
| full\_name                                       | الاسم الكامل للعميل. معلمة اختيارية            |
| language                                         | لغة صفحة الدفع. معلمة اختيارية                 |

#### العملات المتاحة

رموز العملات التالية مدعومة:

```
SAR, AED, BHD, EGP, EUR, GBP, HKD, IDR,INR, IQD, JOD, JPY, KWD, MAD, OMR,PKR, QAR, USD
```

#### اللغات المتاحة

```
en — الإنجليزيةar — العربيةfr — الفرنسية
```

تُرجع الدالة رابط URL للدفع.

إذا لم يتم توفير المعلمة **currency** فسيتم اختيار العملة تلقائيًا بناءً على المنطقة المُهيأة.

### استخدام رابط الدفع في زر

لإرسال زر دفع إلى العميل:

1. أنشئ زرًا من النوع **الدفع** النوع
2. اختر **PayTabs** كمزوّد الدفع
3. حدّد:
   * وصف الدفع؛
   * مبلغ الدفع؛
   * العملة.

<div data-with-frame="true"><img src="/files/aa03b458bdc63283f476c748a2df7d2f849f27e4" alt="" width="554"></div>

***

## معالجة حالة الدفع

بعد أن يفتح العميل رابط الدفع ويُكمل الدفع، سيتم إرسال حدث callback إلى المحادثة.

### دفعة ناجحة

<div data-with-frame="true"><figure><img src="/files/34c6a643c0eadd34227ec89ca538842049269f10" alt="" width="357"><figcaption></figcaption></figure></div>

مثال:

```
SDJ91MTKTT_success 100
```

حيث:

* **SDJ91MTKTT** — أول 10 أحرف من **مفتاح الخادم**
* **100** — مبلغ الدفع

لإنشاء إجراء لعملية دفع ناجحة، انتقل إلى **المنشئ** وأنشئ كتلة تحتوي على مُشغّل (يمكن أن تكون كتلة **بدء** أو كتلة **مُشغّل** ).

ثم، في الحقل **مُشغّل** ، أدخل:

* قيمة callback الكاملة (إذا كنت تريد تشغيل الإجراء فقط لمبلغ دفع محدد)، أو
* فقط قيمة callback قبل مبلغ الدفع (إذا كنت تريد تشغيل الإجراء لجميع المدفوعات الناجحة).

<div data-with-frame="true"><figure><img src="/files/e4a8adb6671d52498a52a97234e291ccc0f0c25e" alt=""><figcaption><p>كتلة "بدء"</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/f8cac48e85742b58ab962c2ceb780a19c413eaf3" alt=""><figcaption><p>كتلة "المُشغّل"</p></figcaption></figure></div>

### دفعة فاشلة

مثال:

```
SDJ91MTKTT_fail 100
```

تتم تهيئة معالجة الدفع الفاشل بالطريقة نفسها التي تتم بها تهيئة معالجة الدفع الناجح.

أنشئ كتلة تحتوي على مُشغّل وأدخل قيمة callback في الحقل **مُشغّل** يتيح لك هذا تحديد الإجراءات التي سيتم تنفيذها عند فشل الدفع.

### المتغيرات المحفوظة بعد إتمام الدفع بنجاح

بعد إتمام الدفع بنجاح، يتم حفظ المتغيرات التالية تلقائيًا للعميل:

**paytabs\_callback\_data**\
يحتوي على حمولة webhook الكاملة المستلمة من نظام الدفع.

**paytabs\_payment\_completed**

القيمة:

```
صحيح
```

يشير إلى أن الدفع قد اكتمل بنجاح.


---

# 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/paytabs.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.
