> For the complete documentation index, see [llms.txt](https://docs.mavibot.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mavibot.ai/doc/ar/integrations/payment/prodamus-blr.md).

# Prodamus (BLR)

{% hint style="success" %}
متاح فقط في باقة "إنفوبيز".
{% endhint %}

## كيفية ربط بروداموس

للربط مع Prodamus ستحتاج إلى URL نموذج الدفع والمفتاح السري.

<mark style="color:أخضر;">**URL نموذج الدفع**</mark> تحصل عليه بعد التسجيل، وهو <mark style="color:أخضر;">**يكون على النحو التالي: demo.payform.ru**</mark>

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

<div data-with-frame="true"><figure><img src="/files/173d30e2e46283b820e87b1a8935052a4667cebd" alt=""><figcaption><p>المفتاح السري في إعدادات النموذج داخل الحساب الشخصي لنظام الدفع "بروداموس"</p></figcaption></figure></div>

إرشادات مفصلة حول كيفية القيام بذلك: <https://help.prodamus.ru/payform.ru-onlain-oplaty/prochee/url-dlya-uvedomlenii-i-sekretnyi-klyuch>

عنوان الإشعارات: **<https://chatter.salebot.pro/prodamus\\_callback/result>**

يجب إدخال هذا العنوان في الإعدادات في مكانين.

في الصفحة الرئيسية للإعدادات يمكنك اختيار وضع عمل النموذج: وضع تجريبي بدون دفعات أو وضع الدفعات:

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

يجب إدخال عنوان الإشعارات في إعدادات نظام الدفع في مكانين: تبويب إعداد النموذج - للدفعات العادية وتبويب الاشتراكات - لدفعات الاشتراك.&#x20;

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

عنوان الإشعارات: **`https://chatter.salebot.pro/prodamus_callback/result`**

لإعداد العمل مع **دفعات الاشتراك**  انتقل إلى تبويب الاشتراكات وأدخل عنوان الإشعارات: <https://chatter.mavibot.ai/prodamus\\_callback/result>

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

{% hint style="warning" %}
انتبه! بعد إدخال url اضغط обязательно على زر «حفظ».
{% endhint %}

لربط Prodamus يجب الانتقال إلى قسم "التحصيل"

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

بعد ذلك يكفي فقط إدخال البيانات التي تحدثنا عنها أعلاه في النموذج:

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

{% hint style="warning" %}
**مهم!** نكتب url - نموذج الدفع بدون https\://&#x20;
{% endhint %}

وبهذا ينتهي الربط. الآن دعونا نفهم كيفية استخدام هذه الميزة.

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

{% hint style="success" %}
يمكن إنشاء رابط الدفع في البلوك **بواحدة من** الطرق المتاحة:

* [زر بوظيفة الدفع ](#knopka-s-funkciei-oplata)أو
* [دالة get\_prodamus\_payment\_url في الحاسبة](#funkciya-get_prodamus_payment_url-v-kalkulyatore) أو
* [إنشاء رابط باستخدام المتغير payment\_sum والمعلمات الإضافية](#sozdanie-ssylki-s-pomoshyu-peremennoi-payment_sum-i-dopolnitelnykh-parametrov) (نسخة عاملة قديمة)
  {% endhint %}

## زر بوظيفة الدفع

{% hint style="info" %}
[يمكن إنشاء رابط الدفع في زر بوظيفة "الدفع". تم شرح كيفية إنشاء هذا الزر في هذه المقالة](/doc/ar/chatbot/builder/alazrar/zr-aldfa.md)
{% endhint %}

لنستعرض جميع المعلمات الممكنة لهذا الزر.&#x20;

### **المعلمات الإلزامية لزر الدفع في بروداموس**

لإنشاء رابط الدفع في إعدادات الزر يجب تحديد <mark style="color:أحمر;">**المعلمات الإلزامية**</mark> "**المبلغ**", "**اسم المنتج**"، وكذلك المعلمة "**المحتوى المدفوع**"، إذا لم يكن لديك **نقطة بيع إلكترونية خاصة بك** وتريد الحصول على إيصال من Prodamus.&#x20;

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

<div data-with-frame="true"><figure><img src="/files/57e5b407ecdb536702613a6a91b1437ddab83b91" alt="" width="563"><figcaption><p>نافذة إعدادات الزر</p></figcaption></figure></div>

**حقل النص.** سيظهر هذا النص على الزر الذي يحتوي على رابط الدفع في الرسالة

**حقل الوظيفة.** لإنشاء زر لإصدار رابط الدفع نختار وظيفة الدفع

**حقل نظام الدفع.** تُعرض في القائمة أنظمة الدفع المتصلة بالمشروع

{% hint style="warning" %}
إذا لم تكن هناك أنظمة دفع متصلة بالمشروع فلن يكون هذا النوع من الأزرار متاحًا
{% endhint %}

**حقل اسم المنتج (إلزامي).** في هذا الحقل يجب إدخال اسم المنتج. كلما كان الاسم أدق كان أفضل. على سبيل المثال: ليس "هاتف" بل "هاتف ذكي Xiaomi موديل ..."&#x20;

{% hint style="danger" %}
**ممنوع** استخدام **علامات اقتباس مزدوجة** في اسم المنتج: احذفها أو استبدلها بعلامات اقتباس مفردة.&#x20;
{% endhint %}

**حقل المبلغ (إلزامي).**  في هذا الحقل نحدد تكلفة المنتج.&#x20;

**قائمة المعلومات الإضافية.** عند النقر على هذا الزر ستُفتح حقول إضافية لإنشاء الرابط

* وصف الطلب
* الخصم بالروبل
* متغير البريد الإلكتروني للمشتري
* متغير رقم هاتف المشتري
* مدة صلاحية الرابط
* معرّف المنتج للاشتراك (لإنشاء المدفوعات التلقائية)
* المحتوى المدفوع&#x20;

**مربع اختيار مع إشعار عند النقر.** لتتبع الانتقال عبر رابط الدفع يمكن وضع علامة. في هذه الحالة، عند النقر على الزر سيصل إلى الحوار مع العميل في Сейлбот إشعار بأن الانتقال عبر الرابط قد تم

<div data-with-frame="true"><figure><img src="/files/4f9dc5460d77d3439070080d4f13cc321f072ab2" alt="" width="431"><figcaption><p>Callback بعد انتقال العميل عبر الرابط</p></figcaption></figure></div>

يمكن إعداد منطق لاحق لعمل البوت اعتمادًا على هذا الإشعار.&#x20;

{% hint style="info" %}
تدعم العديد من أنظمة الدفع صناديق النقد السحابية عبر الإنترنت، وهي مطلوبة وفقًا للقانون 54-FZ.\
اقرأ خصائص إصدار الإيصالات على موقع نظام الدفع المختار حتى لا تقع في موقف محرج مع مصلحة الضرائب.
{% endhint %}

وهكذا تبدو صفحة الدفع التي تفتح عند الانتقال عبر الرابط الموجود في زر الدفع:

<div data-with-frame="true"><figure><img src="/files/16c621bf00aca2e6caba6e0b11fd7e791ab406c9" alt="" width="563"><figcaption><p>صفحة الدفع: في الزر تم ملء المعلمات الأساسية فقط</p></figcaption></figure></div>

### معلمات إضافية لإنشاء رابط الدفع

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

**حقل وصف الطلب.**  المعلومات المحددة في هذا الحقل ستظهر في صفحة الدفع في حقل البيانات الإضافية

**حقل الخصم.** في هذا الحقل يمكن تحديد مقدار الخصم بالروبل أو بالروبل مع القروش. ولتحديد مبلغ مع القروش نستخدم النقطة كفاصل: 50.99\
في صفحة الدفع سيظهر في حقل المبلغ المستحق مع احتساب الخصم، وسيتم شطب السعر الأساسي للمنتج.&#x20;

**حقل متغير البريد الإلكتروني للمشتري** (اختياري إذا تم تمرير رقم الهاتف) في هذا الحقل يُحدد بريد المستخدم الإلكتروني (العميل). يمكن تحديد متغير يُخزن فيه بريد المستخدم الإلكتروني.&#x20;

على سبيل المثال، #{email}

**حقل متغير رقم هاتف المشتري** (اختياري إذا تم تمرير البريد الإلكتروني). في هذا الحقل يمكن تحديد متغير يحتوي على رقم هاتف المشتري بصيغة 79000000000\
مثال: #{phone}

{% hint style="danger" %}
يجب أن يكون البريد الإلكتروني و/أو الهاتف موجودًا
{% endhint %}

**حقل مدة صلاحية الرابط.** يمكن تحديد تاريخ بصيغة dd.mm.yyyy hh:mm (على سبيل المثال 25.01.2021 11:00) أو استخدام المتغيرات لتحديد مدة انتهاء صلاحية الرابط. \
مثال على استخدام المتغير: `#{link_expired}`

**حقل معرّف المنتج للاشتراك.**  لإجراء الدفع التلقائي، مرّر قيمة معرّف المنتج. لإنشاء اشتراك، يجب إنشاء منتج اشتراك.&#x20;

إرشادات مفصلة حول كيفية إنشاء منتج للاشتراك: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

{% hint style="danger" %}
إذا تم تمرير قيمة معرّف المنتج للاشتراك، فلن يؤخذ مبلغ الدفع في الاعتبار. سيتم الحصول على بيانات المنتج من بطاقة المنتج في حساب بروداموس
{% endhint %}

سيكون رقم الهاتف المحدد عند الدفع مطلوبًا لإدارة الاشتراك.

{% hint style="warning" %}
إذا تم تمرير **معرّف المنتج للاشتراك**، فسيتم تمرير معرّف هذا المنتج في callback عند نجاح الدفع
{% endhint %}

**حقل المحتوى المدفوع** (إلزامي بشكل مشروط). البيانات مطلوبة لتهيئة الدفع ماليًا عبر Prodamus، إذا لم تكن لديك نقطة بيع إلكترونية خاصة بك. في هذا الحقل يجب تحديد وصف الشراء وسعره ورابط المورد الذي يحتوي على المحتوى.&#x20;

*على سبيل المثال*: *دورة "نسج الضفائر"، السعر 3000 روبل، رابط صفحة الدورة:* [*https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911*](https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911).&#x20;

هذه البيانات ضرورية لإرسالها إلى مصلحة الضرائب الفيدرالية.

#### زر بوظيفة الدفع

إذا كنت تحدد مدة صلاحية الرابط، ففي حالة

1. عندما يطلب المستخدم رابط الدفع خلال فترة صلاحيته النشطة (أي لم تنتهِ مدة صلاحيته بعد) ويكون موجودًا في الحوار، فلن يتمكن من الدفع وسيظهر له إشعار بالشكل التالي:

<div data-with-frame="true"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA1KJHoyMF5WmLMZiJPJrQEGJs79zxoXK5U3E9k4mVus-Fg0tI-djr6QTagp5ulwposSxmJ-aq8trUQOslQyE0UeaREuM6-T5Ongn-E5tACdVmypFXBtgOJDmVvHRgOdATChhnBQ?key=OB7qKicH0kn-_i_EzQLdRA" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
يجب أن تكون مدة صلاحية الرابط بعد التاريخ الحالي، وإلا فلن يتمكن العميل من الدفع عبر هذا الرابط أيضًا.&#x20;
{% endhint %}

2\. عندما يطلب المستخدم الرابط، لكنه يكون غير نشط بالفعل\
في هذه الحالة لن يظهر الزر ببساطة. وفي متغيرات العميل سيظهر المتغير "error\_payment\_button"، والذي يحتوي على القيمة التالية: "خطأ: يجب أن تكون مدة صلاحية الرابط بعد التاريخ الحالي".

{% hint style="success" %}
حتى يتمكن المستخدم من الدفع بشكل صحيح، يُفضَّل معالجة هذه الحالة أيضًا.&#x20;
{% endhint %}

كيف يتم ذلك؟

أنشئ بلوكًا بشرط، واذكر فيه أنه إذا وصل إشعار من هذا النوع، error\_payment\_button == "خطأ: يجب أن تكون مدة صلاحية الرابط بعد التاريخ الحالي"&#x20;

مع إظهار النص: "عذرًا، لقد تأخرت وأصبح رابط الدفع غير صالح":

<div data-with-frame="true"><figure><img src="/files/5b044be53054691dd9f70c55f2f985a3d9646693" alt=""><figcaption><p>الحوار في قسم "العملاء"</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/4b5faf42df1d2e9eb94304a3c5c57d7251419915" alt=""><figcaption><p>إعداد البلوك "الشرط الابتدائي"</p></figcaption></figure></div>

### متغيرات العميل التي سيتم إنشاؤها تلقائيًا عند استخدام زر بوظيفة الدفع

بمجرد أن يحصل المستخدم على بلوك يحتوي على زر "الدفع" ستُنشأ تلقائيًا متغيرات العميل:

متغير خدمة العميل **`__payments`** ، الذي يخزن المبلغ ومعرّف الرابط المنشأ، وهو مطلوب للتعرّف على hook من نظام الدفع.

{% hint style="danger" %}
لا يمكن حذف المتغير الخدمي للعميل \_\_payments أو تعديله!
{% endhint %}

متغير العميل **`error_payment_button`** يتم إنشاؤه إذا حدث خطأ أثناء تكوين الزر.

في قيمة المتغير error\_payment\_button سيُسجل إما نص الخطأ أو رد نظام الدفع الذي يحتوي على خطأ.

{% hint style="warning" %}
تصبح قيم المتغيرات سارية عند الانتقال إلى البلوك التالي&#x20;
{% endhint %}

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

**دفعة ناجحة.**

بعد نجاح الدفع إلى البوت <mark style="color:برتقالي;">**تلقائيًا**</mark> سيصل CALLBACK يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة \_success ثم مبلغ الدفع مفصولًا بمسافة. \
\&#xNAN;*لاستخدامه في إعدادات المخطط يكفي نسخه.*&#x20;

على سبيل المثال: `ovg58keefc_success 44`، حيث:&#x20;

ovg58keefc : أول 10 أحرف من المفتاح السري لنظام الدفع

\_success : نتيجة معالجة الطلب (دفعة ناجحة)

44 : مبلغ الدفع

{% hint style="info" %}
الـcallbacks (الإشعارات) من نظام الدفع لا يراها المستخدم. تُعرض فقط في تبويب العملاء وهي مرئية للمشغّل.
{% endhint %}

مثال على الاستخدام:\
الخطوة 1. في البلوك "مع زر الدفع" نضيف أزرارًا بوظيفة الدفع.&#x20;

الخطوة 2. في حقل شرط الربط من هذا البلوك إلى بلوك "الدفع الناجح" نحدد callback. ويعمل الأمر نفسه إذا تم تحديد callback الدفع الناجح في حقل شرط بلوك "الشرط الابتدائي".

{% hint style="warning" %}
مهم: اختر المطابقة إما التطابق التام أو حسب وجود الكلمات المفتاحية
{% endhint %}

❗️إذا قررت التحقق من الدفع تحديدًا في السهم بحسب الشرط، ففكّر في منطق مخططك. إذا غادر العميل البلوك مع الانتقال المشروط المرتبط بالـcallback، فلن يحدث الانتقال إلى البلوك. يكون من المنطقي استخدام هذه الطريقة للتحقق فقط عندما لا يغيّر العميل موقعه في القمع (موضعه في المخطط). \
في المخططات التي ينتقل فيها العميل بين البلوكات، من الأفضل استخدام الخيار الذي يحدد callback في بلوك "الشرط الابتدائي". <br>

<div data-with-frame="true"><figure><img src="/files/0137303648f71fb82fd2ed277312d41e55211c9d" alt=""><figcaption><p>Callback الدفع الناجح في حقل شرط البلوك.</p></figcaption></figure></div>

#### **دفعة ناجحة للمنتجات ذات الاشتراك التلقائي.**&#x20;

بعد نجاح الدفع إلى البوت <mark style="color:برتقالي;">**تلقائيًا**</mark> سيصل CALLBACK يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة \_success و <mark style="color:أخضر;">**ثم معرّف المنتج للاشتراك مفصولًا بمسافة**</mark>

على سبيل المثال: `214009eefc_success 618117`، حيث:&#x20;

`009eefc` : 10 أحرف من المفتاح السري لنظام الدفع

\_success : نتيجة معالجة الطلب (دفعة ناجحة)

`618117`: معرّف المنتج للاشتراك

<div data-with-frame="true"><figure><img src="/files/cbb104314e3d53a0971346c8181b25a4e0fab55b" alt=""><figcaption><p>مثال على callback من Prodamus للمنتجات ذات الاشتراك التلقائي</p></figcaption></figure></div>

**دفعة بها خطأ**

<mark style="color:أزرق;">**عند حدوث خطأ في تنفيذ الدفع**</mark> إلى البوت <mark style="color:برتقالي;">**تلقائيًا**</mark> سيصل CALLBACK يتكون من 10 أحرف من المفتاح السري لنظام الدفع، وكلمة \_fail ثم مبلغ الدفع مفصولًا بمسافة

على سبيل المثال، `ovg58keefc_fail 44` ، حيث

`ovg58keefc` : 10 أحرف من المفتاح السري لنظام الدفع

`_fail` : نتيجة معالجة الطلب - لم يتم تنفيذ الدفع أو حدث خطأ.&#x20;

`44` : مبلغ الدفع

{% hint style="warning" %}
يعتمد على نظام الدفع. ليست كل أنظمة الدفع ترسل callback خاصًا بخطأ الدفع.
{% endhint %}

إذا كان المبلغ المحدد في إعدادات الزر <mark style="color:أزرق;">**يختلف عن المبلغ الذي دفعه العميل**</mark>، فإن <mark style="color:برتقالي;">**تلقائيًا**</mark> سيصل CALLBACK يتكون من 10 أحرف من المفتاح السري لنظام الدفع، وكلمة \_different\_amounts ثم معرّف الدفع الفريد مفصولًا بمسافة

على سبيل المثال: `ovg58keefc_different_amounts 123456` ، حيث:&#x20;

`ovg58keefc` : 10 أحرف من المفتاح السري لنظام الدفع

`_different_amounts` : نتيجة معالجة الطلب (مبلغ الدفع يختلف عن المبلغ الموجود في الرابط)

`123456` : معرّف الدفع الفريد

## دالة get\_prodamus\_payment\_url في الحاسبة

لإنشاء رابط الدفع يمكن استخدام الدالة `get_prodamus_payment_url` في بلوك الحاسبة.

في حقل الحاسبة نُسند إلى المتغير قيمة الدالة `get_prodamus_payment_url`&#x20;

{% hint style="info" %}
تحدد اسم المتغير بنفسك. في لقطات الشاشة توجد أمثلة على أسماء المتغيرات.&#x20;
{% endhint %}

سيُحفظ في هذا المتغير رابط الدفع. يمكن عرض المتغير على الشاشة كرابط في رسالة أو وضعه على زر بالنص "ادفع".&#x20;

**مثال على رابط الدفع:** <https://payform.ru/7p3JR8/>

{% tabs %}
{% tab title="الحاسبة" %}
مثال 1:

<figure><img src="/files/f5273515cd0eb1cbc43a9867a42dce6b2b5c979d" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="وصف المعلمات" %}
`متغيرك_=`` `**`get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)`**

**معلمات الدالة:**

<table><thead><tr><th width="253">المعلمة</th><th>قيمة المعلمة</th></tr></thead><tbody><tr><td><strong><code>amount</code></strong></td><td>المبلغ المطلوب دفعه. يمكن تمرير قيمة عدد صحيح أو عدد يحتوي على نقطة. على سبيل المثال 25 أو 52.5  <mark style="color:أخضر;">(معلمة إلزامية)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>اسم المنتج. <mark style="color:أخضر;">(معلمة إلزامية)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>مدة صلاحية رابط الدفع، بصيغة <strong>dd.mm.yyyy</strong> (على سبيل المثال 25.01.2021). كما يمكن في حقل "حاسبة<em>"</em> تحديد: <em>expired = current_date + 2</em> (سيكون الرابط صالحًا لمدة يومين حتى 00:00).  <code>expired</code> يمكن أيضًا تحديد تاريخ مع وقت دقيق، مفصولًا بمسافة، بصيغة <strong>dd.mm.yyyy hh:mm</strong> (على سبيل المثال: <em>25.01.2021 12:23</em>). كما يمكن استخدام المتغيرات القياسية، مثلًا لنحدد مدة صلاحية الرابط 30 دقيقة: </p><p><code>time = current_time + 30</code><br><code>expired = "#{current_date} #{time}"</code><br><br>لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة أو المزدوجة، أو القيمة None</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>رقم هاتف المشتري، غير مطلوب إذا تم تمرير المعلمة <code>customer_email</code> لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>بريد المشتري الإلكتروني، غير مطلوب إذا تم تمرير المعلمة <code>customer_phone</code> لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>discount</code></strong></td><td>مقدار الخصم. نمرر المعلمة كعدد أو عدد مع نقطة: 25 أو 63.5   لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>description</code></strong></td><td>وصف المنتج (إذا لم يتم تحديده فسيتم ملؤه بـ 'دفع الفاتورة order_id') لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td><p>معلمات إضافية غير موجودة في هذه الدالة.<br>يمكن الاطلاع على المعلمات الإضافية الممكنة عبر الرابط في توثيق العمل مع API نظام الدفع <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>مثال: extra_params = {"payments_limit": "3", "payment_method": "vsegdada_installment_0_0_6"}<br></p><p><em>لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة/زوجًا من علامات الاقتباس المزدوجة أو القيمة None.</em></p></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>سلسلة من 50 إلى 4000 حرفًا بصيغة</strong> "وصف الطلب - التكلفة - رابط المورد المراد شراؤه". </p><p>على سبيل المثال:</p><p>"دورة ‘صيد البريَم’، التكلفة 4999 روبل، رابط صفحة الدورة: https://www.lovilescha.ru/courses/poimai_kilogram/". <strong>إلزامي</strong>، إذا لم تكن لديك نقطة بيع إلكترونية خاصة بك، لتهيئة المدفوعات ماليًا عبر Prodamus.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="مثال على الكود للنسخ" %}
**extra\_params** = {<mark style="color:أحمر;">"payments\_limit"</mark>: <mark style="color:أحمر;">"3"</mark>}&#x20;

**products\_for\_receipt** = "<mark style="color:أحمر;">دورة ‘صيد البريَم’</mark>, <mark style="color:أحمر;">التكلفة 4999 روبل</mark>, <mark style="color:أحمر;">رابط صفحة الدورة: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_url** = get\_prodamus\_payment\_url(<mark style="color:أزرق;">4999</mark>, <mark style="color:أحمر;">'دورة ‘صيد البريَم’'</mark>, <mark style="color:أحمر;">'27.03.2023 17:00', '79167777771'</mark>, <mark style="color:أحمر;">'<mail@mail.com>'</mark>, <mark style="color:أزرق;">20</mark>, <mark style="color:أحمر;">'أفضل دورة في السوق'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
إذا كانت هناك عدة دوال في البلوك للحصول على الرابط وحدث خطأ، فستُكتب قيمة الخطأ في المتغير  **`error_payment_func`**

\
سيُسجل الخطأ على آخر دالة في الحاسبة
{% endhint %}

## إنشاء رابط باستخدام المتغير payment\_sum والمعلمات الإضافية

{% hint style="info" %}
انتبه: يتم إسناد للمتغير **payment\_sum** قيمة الأخيرة، بعد المتغيرات غير الإلزامية **payment\_description, product\_name** إلخ.&#x20;
{% endhint %}

لإنشاء رابط الدفع، يكفيك في حقل الحاسبة ضبط قيمة المتغير **payment\_sum.** بعد ذلك مباشرة سيظهر المتغير **prodamus\_pay\_url**.&#x20;

**مثال على رابط الدفع:**: <https://payform.ru/7p3JR8/>

يمكن عرض هذا المتغير على الشاشة كرابط في رسالة أو وضعه على زر بالنص "ادفع".&#x20;

قبل إعلان المتغير **payment\_sum** يمكن أيضًا تحديد المتغيرات غير الإلزامية التالية:&#x20;

| معلمات الدالة              | وصف المعلمة                                                                                                                                                                                                                                                                                                                                                                                                  |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **product\_name**          | اسم المنتج (إذا لم يتم تحديده فسيتم ملؤه بـ 'دفع الفاتورة order\_id') - في لقطة الشاشة أدناه موضح مكان ظهوره                                                                                                                                                                                                                                                                                                 |
| **payment\_description**   | وصف المنتج (إذا لم يتم تحديده فسيتم ملؤه بـ 'دفع الفاتورة order\_id'، انظر لقطة الشاشة أدناه) - في لقطة الشاشة أدناه موضح مكان ظهوره                                                                                                                                                                                                                                                                         |
| **discount\_value**        | مقدار الخصم (على سبيل المثال discount\_value = 25 أو discount\_value = 50.25)                                                                                                                                                                                                                                                                                                                                |
| **customer\_phone**        | رقم هاتف المشتري، غير مطلوب إذا تم تمرير المعلمة                                                                                                                                                                                                                                                                                                                                                             |
| **customer\_email**        | بريد المشتري الإلكتروني                                                                                                                                                                                                                                                                                                                                                                                      |
| **link\_expired**          | مدة صلاحية رابط الدفع، بصيغة **dd.mm.yyyy** (على سبيل المثال 25.01.2021). كما يمكن في حقل "*الحاسبة"* تحديد: *link\_expired = current\_date + 2* (سيكون الرابط صالحًا لمدة يومين حتى 00:00)                                                                                                                                                                                                                  |
| **link\_expired**          | <p>يمكن أيضًا تحديد تاريخ مع وقت دقيق، مفصولًا بمسافة، بصيغة <strong>dd.mm.yyyy hh:mm</strong> (على سبيل المثال: <em>25.01.2021 12:23</em>). كما يمكن استخدام المتغيرات القياسية، مثلًا لنحدد مدة صلاحية الرابط 30 دقيقة: </p><p>time = current\_time + 30<br>link\_expired = "#{current\_date} #{time}"</p>                                                                                                 |
| **currency**               | <p>عملة الدفع، افتراضيًا "rub". <br>القائمة الكاملة للوسائط: </p><p>rub</p><p>usd</p><p>eur</p><p>kzt<br>يجب تمرير هذه المعلمة بحروف صغيرة.</p>                                                                                                                                                                                                                                                              |
| **payment\_title**         | عنوان الدفع (حتى 127 حرفًا). إذا لم يتم تحديده، يُملأ بالنص: “دفع الفاتورة payment\_id” (payment\_id - معرّف الطلب في Salebot)                                                                                                                                                                                                                                                                               |
| **payment\_description**   | وصف موجز للدفع (حتى 127 حرفًا)                                                                                                                                                                                                                                                                                                                                                                               |
| **locale**                 | لغة صفحة الدفع، وتُحدد بصيغة en-US, fr-XC إلخ. افتراضيًا - ‘ru-Ru’. القائمة الكاملة متاحة عبر الرابط <https://developer.paypal.com/api/rest/reference/locale-codes/>                                                                                                                                                                                                                                         |
| **products\_for\_receipt** | <p><strong>سلسلة من 50 إلى 4000 حرفًا بصيغة</strong> "وصف الطلب - التكلفة - رابط المورد المراد شراؤه". </p><p>على سبيل المثال:</p><p>"دورة ‘صيد البريَم’، التكلفة 4999 روبل، رابط صفحة الدورة: <https://www.lovilescha.ru/courses/poimai_kilogram/>". </p><p><mark style="color:أحمر;"><strong>إلزامي</strong></mark>، إذا لم تكن لديك نقطة بيع إلكترونية خاصة بك، لتهيئة المدفوعات ماليًا عبر Prodamus.</p> |
| **payment\_sum**           | (إلزامي) مبلغ الدفع                                                                                                                                                                                                                                                                                                                                                                                          |

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/3FazAmQkph5i0_iKy4G_HNerzVQP9Bg3_PRB_5rHZQ6vAZB_1Hxv1imi3gJCl7pU_GY7eAiiwZExJA-i4Ps5PgSJt7OXKbSL-GT27gWca_u7rFM8YEsNJ7Z-VVXTAR-jSw_-p2I0" alt=""></div>

{% hint style="success" %}
المتغيرات **discount\_value**, **customer\_phone**, **customer\_email** و **link\_expired** صالحة أيضًا للاشتراكات.
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/48c9356f05b9d6906e114bf03db7e6a0d2d16e38" alt="" width="524"><figcaption></figcaption></figure></div>

مثال على التنفيذ.

في البلوك الأول نحدد مبلغ الدفع:

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

ثم نعرض في المكان المطلوب url، الرابط prodamus\_pay\_url:

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

**prodamus\_available\_payment\_methods** يتم الإعلان عنه قبل إعلان payment\_sum.

القيم الممكنة: &#x20;

<table><thead><tr><th width="323"></th><th></th></tr></thead><tbody><tr><td><strong>AC</strong></td><td>الدفع ببطاقة صادرة في روسيا </td></tr><tr><td><strong>ACkz</strong> </td><td>الدفع ببطاقة كازاخستان </td></tr><tr><td><strong>ACf</strong></td><td>الدفع ببطاقات دول رابطة الدول المستقلة، باستثناء روسيا</td></tr><tr><td><strong>ACEURNMBX</strong></td><td>الدفع ببطاقة EUR من جميع البلدان، باستثناء РФ وРБ </td></tr><tr><td><strong>SBP</strong></td><td>دفع سريع، بدون إدخال بيانات البطاقة. لبطاقات РФ </td></tr><tr><td><strong>QW</strong> </td><td>محفظة Qiwi </td></tr><tr><td><strong>PC</strong></td><td>ЮMoney </td></tr><tr><td><strong>GP</strong></td><td>محطة دفع </td></tr><tr><td><strong>sbol</strong></td><td>سبيربنك أونلاين <strong>فاتورة</strong> - الدفع عبر الفاتورة <strong>تقسيط</strong> - على أقساط من بروداموس </td></tr><tr><td><strong>installment_5_21</strong></td><td>على أقساط من بروداموس لمدة 3 أشهر </td></tr><tr><td><strong>installment_6_28</strong></td><td>على أقساط من بروداموس لمدة 6 أشهر </td></tr><tr><td><strong>installment_10_28</strong></td><td>على أقساط من بروداموس لمدة 10 أشهر </td></tr><tr><td><strong>installment_12_28</strong> </td><td>على أقساط من بروداموس لمدة 12 شهرًا <strong>installment_0_0_3</strong> - تقسيط من تينكوف لمدة 3 أشهر</td></tr><tr><td><strong>installment_0_0_4</strong> </td><td>تقسيط من تينكوف لمدة 4 أشهر </td></tr><tr><td><strong>installment_0_0_6</strong></td><td>تقسيط من تينكوف لمدة 6 أشهر </td></tr><tr><td><strong>installment_0_0_10</strong></td><td>تقسيط من تينكوف لمدة 10 أشهر</td></tr><tr><td><strong>installment_0_0_12</strong></td><td>تقسيط من تينكوف لمدة 12 شهرًا</td></tr><tr><td><strong>installment_0_0_24</strong> </td><td>تقسيط من تينكوف لمدة 24 شهرًا</td></tr><tr><td><strong>installment_0_0_36</strong></td><td>تقسيط من تينكوف لمدة 36 شهرًا </td></tr><tr><td><strong>credit</strong> </td><td>قرض من تينكوف</td></tr><tr><td><strong>vsegdada_installment_0_0_4</strong></td><td>تقسيط «ВсегдаДа» لمدة 4 أشهر (لا يعمل مع available_payment_methods) </td></tr><tr><td>vs<strong>egdada_installment_0_0_6</strong></td><td>تقسيط من ВсегдаДа لمدة 6 أشهر</td></tr><tr><td><strong>vsegdada_installment_0_0_10</strong></td><td>تقسيط من ВсегдаДа لمدة 10 أشهر</td></tr><tr><td><strong>vsegdada_installment_0_0_12</strong></td><td>تقسيط من ВсегдаДа لمدة 12 شهرًا بدون زيادة</td></tr><tr><td>vs<strong>egdada_installment_0_0_24</strong></td><td>تقسيط من ВсегдаДа لمدة 24 شهرًا</td></tr><tr><td><strong>vsegdada_installment_0_0_36</strong> </td><td>تقسيط من ВсегдаДа لمدة 36 شهرًا</td></tr><tr><td><strong>sbrf_installment_0_0_6</strong></td><td>تقسيط من سبيربنك لمدة 6 أشهر </td></tr><tr><td><strong>sbrf_installment_0_0_10</strong></td><td>تقسيط من سبيربنك لمدة 10 أشهر</td></tr><tr><td><strong>sbrf_installment_0_0_12</strong></td><td>تقسيط من سبيربنك لمدة 12 شهرًا</td></tr><tr><td><strong>sbrf_installment_0_0_24</strong></td><td>تقسيط من سبيربنك لمدة 24 شهرًا</td></tr><tr><td><strong>sbrf_installment_0_0_36</strong> </td><td>تقسيط من سبيربنك لمدة 36 شهرًا</td></tr><tr><td><strong>otp_installment_0_0_6</strong></td><td>تقسيط بنك OTP لمدة 6 أشهر</td></tr><tr><td><strong>otp_installment_0_0_10</strong></td><td>تقسيط بنك OTP لمدة 10 أشهر</td></tr><tr><td><strong>otp_installment_0_0_12</strong> </td><td>تقسيط بنك OTP لمدة 12 شهرًا</td></tr><tr><td><strong>otp_installment_0_0_24</strong></td><td>تقسيط بنك OTP لمدة 24 شهرًا</td></tr><tr><td><strong>otp_installment_0_0_36</strong></td><td>تقسيط بنك OTP لمدة 36 شهرًا</td></tr><tr><td><strong>mts_installment_0_0_6</strong></td><td>تقسيط بنك MTS لمدة 6 أشهر</td></tr><tr><td><strong>mts_installment_0_0_10</strong> </td><td>تقسيط بنك MTS لمدة 10 أشهر</td></tr><tr><td><strong>mts_installment_0_0_12</strong> </td><td>تقسيط بنك MTS لمدة 12 شهرًا</td></tr><tr><td><strong>mts_installment_0_0_24</strong></td><td>تقسيط بنك MTS لمدة 24 شهرًا</td></tr><tr><td> <strong>mts_installment_0_0_36</strong> </td><td>تقسيط بنك MTS لمدة 36 شهرًا</td></tr><tr><td><strong>monetaworld</strong></td><td>بطاقات بنوك العالم، باستثناء РФ </td></tr><tr><td><strong>sbrf_bnpl</strong></td><td>على أقساط من سبير</td></tr></tbody></table>

يمكن تمرير عدة قيم، بفصلها بعلامة الخط العمودي. \
على سبيل المثال: prodamus\_available\_payment\_methods = "AC|PC|QW"

**prodamus\_currency** - أيضًا معلمة إضافية لتمرير المبلغ بعملة معينة.\
القيم الممكنة للعملة: \
**kzt** - للتينغي \
**eur** - لليورو \
**usd** - للدولار

حينها سيكون المبلغ المحدد في الرابط بالعملة المذكورة.

عند استلام الكولباك **payment\_callback** يجب الاعتماد على المعلمة **currency** و **currency\_sum,** التي ستحتوي على العملة ومبلغ العملة.

{% hint style="warning" %} <mark style="color:أحمر;">**مهم!**</mark> تحقق مما إذا كانت لديك في الصفحة طريقة دفع بالعملة المطلوبة، لأنه إذا كانت غير موجودة فسيتم الانتقال إلى صفحة بدون طرق دفع.\
يتم توصيل الطرق عبر الدعم. ويمكنك الاطلاع على المفعّلة منها في إعدادات الصفحة أو عبر إنشاء رابط الدفع
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/20fa41bd47b142adba917aad2c8d053bc4f328f5" alt=""><figcaption><p>إعدادات صفحة الدفع لنظام الدفع "بروداموس"</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/5dda410fe7e68f37a3672657eb4a3bde99e84826" alt=""><figcaption><p>خيارات الدفع المتصلة لصفحتك</p></figcaption></figure></div>

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

### دفع ناجح

مهم! بعد الدفع الناجح أو غير الناجح ستصل إلى البوت كولباكات، ومن خلالها يمكنك معرفة أن الدفع تم بنجاح. ترى هذه الكولباكات في النظام كرسائل من المستخدم، ولكي لا يتمكن المستخدم من إرسالها، فهي تتكون من مفتاح سري وإضافة مع الحالة، مثل: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_success** أو 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_fail**. كذلك بعد الدفع الناجح يتم ضبط المتغير **prodamus\_payment\_completed** إلى **True**.

{% hint style="warning" %}
تنبيه! تصل الكولباكات بتأخير، لذلك بعد عرض رابط الدفع للمستخدم نوصي بإرسال رسالة من نوع: "بعد الدفع، انتظر رسالة تؤكد إتمام الدفع بنجاح"
{% endhint %}

{% hint style="warning" %}
مهم!\
للروابط المنشأة باستخدام زر يحمل وظيفة الدفع أو باستخدام الوظيفة في الحاسبة، بعد الدفع إلى البوت <mark style="color:برتقالي;">**تلقائيًا**</mark> سيصل كولباك يتكون من رموز المفتاح السري لنظام الدفع، والكلمة \_success، ومبلغ الدفع مفصولًا بمسافة. \
\&#xNAN;*لاستخدامه في إعدادات المخطط يكفي نسخه.*&#x20;

على سبيل المثال: `ovg58keefc_success`، حيث:&#x20;

ovg58keefc : المفتاح السري **كاملًا**

\_success : نتيجة معالجة الطلب (دفعة ناجحة)
{% endhint %}

على سبيل المثال، يمكن معالجة الدفع الناجح بواسطة كتلة شرطية وإظهار الرسالة المناسبة للمستخدم:

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

{% hint style="danger" %}
يجب أن يكون نوع المقارنة "**تطابق تام**"
{% endhint %}

{% hint style="warning" %}
لإجراء دفع متكرر، يجب بالضرورة تصفير payment\_sum، ثم الرابط الذي تم إنشاؤه سابقًا، وبعد ذلك فقط إعادة تعيين المتغير payment\_sum للحصول على رابط جديد&#x20;
{% endhint %}

### إلغاء تفعيل/إعادة تفعيل الاشتراك

كما توجد في بروداموس إشعارات بخصوص تفعيل/إلغاء تفعيل الاشتراك:

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

1. "المشترك ألغى تفعيل الاشتراك" - إذا أُلغي الاشتراك يدويًا (مثلًا: ألغى الاشتراك).

قد يصل قبل انتهاء الفترة المدفوعة الحالية. ويعني إجراءً حسب تقديرك - تجاهل أو وضعه تحت المراقبة، ومحاولة استعادة المشترك.

2. "المشترك أعاد تفعيل الاشتراك" - استعادة الاشتراك.&#x20;

قد يصل إذا أعاد المشترك تفعيل الاشتراك قبل انتهاء الفترة المدفوعة الحالية. ويعني إجراءً حسب تقديرك - تجاهل أو حذفه من قائمة المراقبة للاسترجاع.

3. "إلغاء تفعيل الاشتراك" - إذا تم إلغاء تفعيل الاشتراك بعد عدة محاولات سحب فاشلة

### **كيفية حفظ القيم من الكولباك**

بعد استلام إشعار الدفع الناجح، سيُكتب في طلب العميل (المتغير payment\_callback) كولباك من بروداموس، مع جميع بيانات الدفعة المستلمة. ومنه يمكنك حفظ البيانات المطلوبة واستخدامها كما تريد. مثال على الكولباك:

`{"date": "2021-03-30T11:44:43+03:00", "order_id": "757679", "order_num": "", "domain": "demo.payform.ru", "sum": "14.50", "customer_phone": "+77777777777", "customer_extra": "هنا وصف المنتج", "payment_type": "بطاقة بلاستيكية Visa, MasterCard, МИР", "commission": "3.5", "commission_sum": "0.51", "attempt": "1", "discount_value": "10.5", "products[0][name]": "الوصول إلى المواد التعليمية", "products[0][price]": "14.50", "products[0][quantity]": "1", "products[0][sum]": "14.50", "payment_status": "success", "payment_status_description": "دفع ناجح", "payment_init": "manual"}`

عند إنشاء الرابط، يمكن تحديد المتغيرات **product\_name** و **payment\_description**. عند استلام الكولباك، يمكن استخراجها هكذا&#x20;

`product = get(payment_callback,'products[0][name]')`&#x20;

`description = get(payment_callback,'customer_extra')`

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

{% hint style="info" %}
انتبه: يتم إسناد للمتغير **payment\_sum** قيمة الأخيرة، بعد المتغيرات غير الإلزامية **payment\_description, product\_name**
{% endhint %}

يمكن الحصول على المبلغ هكذا\
`summa = get(payment_callback,'sum')`

### ما الكولباكات المتاحة

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

1. قام المشترك بإلغاء تفعيل الاشتراك ([المزيد هنا](#deaktivaciya-reaktivaciya-podpiski))
2. قام المشترك بإعادة تفعيل الاشتراك ([المزيد هنا](#deaktivaciya-reaktivaciya-podpiski))
3. انتهى الاشتراك
4. دفع غير ناجح - إضافة توضيحية (في الصورة أعلاه)
5. إشعار بسحب قادم - تاريخ ووقت السحب القادم
6. طلب تقسيط بالحالة

أمثلة على الكولباكات في الحوار مع العميل:&#x20;

* **قام المشترك بإلغاء تفعيل الاشتراك**
* **قام المشترك بإعادة تفعيل الاشتراك**
* **انتهى الاشتراك**
* **دفع غير ناجح - رصيد غير كافٍ.**
* **دفع غير ناجح - انتهت صلاحية البطاقة.**
* **دفع غير ناجح - تم تجاوز حد البطاقة.**
* **دفع غير ناجح - البطاقة مفقودة**
* **دفع غير ناجح - خطأ في النظام**&#x20;
* **دفع غير ناجح - تم رفض العملية. يرجى مراجعة البنك الذي أصدر البطاقة.**&#x20;
* **دفع غير ناجح - رفض تنفيذ العملية من البنك المُصدِر.**
* **دفع غير ناجح - رفض تنفيذ العملية من البنك.**&#x20;
* **إشعار بسحب قادم - dd.mm.yyyy hh:mm**
* **تمت الموافقة على طلب التقسيط**
* **تم إلغاء طلب التقسيط**
* **تم رفض طلب التقسيط**

يمكنك قراءة مزيد من التفاصيل حول وصف الأخطاء هنا:

{% embed url="<https://help.prodamus.ru/payform/integracii/tekhnicheskaya-dokumentaciya-po-avtoplatezham/kody-oshibok>" %}
بروداموس: رموز الأخطاء
{% endembed %}

يمكن، عند الرغبة، إعداد إرسال رسالة معينة للمستخدم. على سبيل المثال، سنرسل رسالة تفيد بأن السحب التلقائي لم ينجح.\
\
عند إشعار **بعدم نجاح الدفع مع سبب محدد**، يمكن إعداد كتلة بردّ، مثلًا هكذا:

<div data-with-frame="true"><figure><img src="/files/af76dabccd014aef3124ed1286ed140758bc9a3f" alt=""><figcaption><p>مثال على كتلة لإشعارات عدم نجاح الدفع مع سبب محدد</p></figcaption></figure></div>

لإرسال رسالة **على جميع السحوبات الفاشلة، بغض النظر عن السبب**، يمكن إعدادها كما يلي:

<div data-with-frame="true"><figure><img src="/files/4a32875a5e6177c59100bba2a6de0b1df2ba76d1" alt=""><figcaption><p>مثال على كتلة لإشعارات عدم نجاح الدفع مع أي توضيح للسبب</p></figcaption></figure></div>

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

## كيفية إنشاء دفعات اشتراك

### كيفية إنشاء اشتراك

لإنشاء اشتراك، يجب إنشاء منتج اشتراك. تعليمات مفصلة حول كيفية ذلك: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

بعد ذلك ننسخ id لمنتج الاشتراك، ويُظهر أدناه أين نحصل عليه:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="إنشاء منتج اشتراك"></div>

لإنشاء رابط دفع للاشتراك، يجب عليك ضبط قيمة (id لمنتج الاشتراك) في المتغير **prodamus\_subscription**، وبعد ذلك مباشرة سيظهر المتغير **prodamus\_pay\_url**.&#x20;

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

المتغير **prodamus\_pay\_url** يمكن عرضه كرابط أو وضعه على زر يحمل النص "الدفع". ويكون الرابط بالشكل: <https://payform.ru/7p3JR8/><br>

تتم معالجة النتيجة بالطريقة نفسها كما في الدفع لمرة واحدة (اقرأ أعلاه).

بعد نجاح الاشتراك، ستُضاف للمستخدم قيمة المتغير customer\_phone مع رقم الهاتف الذي أدخله أثناء الدفع. رقم الهاتف مطلوب لإدارة الاشتراك.<br>

{% hint style="warning" %}
customer\_phone مطلوب لإدارة الاشتراك إذا لم يتم تمرير customer\_email
{% endhint %}

### كيفية إنشاء رابط اشتراك باستخدام الدالة get\_prodamus\_subscription\_url

لننظر في طريقة أخرى لإنشاء رابط دفع لمنتج اشتراك.&#x20;

ننشئ منتج اشتراك في لوحة بروداموس. تعليمات مفصلة حول كيفية ذلك: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

بعد ذلك ننسخ id لمنتج الاشتراك، ويُظهر أدناه أين نحصل عليه:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="إنشاء منتج اشتراك"></div>

للحصول على رابط دفع منتج الاشتراك في الحاسبة، نحدد الدالة&#x20;

`get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

{% tabs %}
{% tab title="الحاسبة" %}
مثال 1: رابط دفع منتج اشتراك

<figure><img src="/files/3f8e83303a8fb76516a2fcfce2d5675fd7694745" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="وصف المعلمات" %}
`link = get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

**معلمات الدالة:**

<table><thead><tr><th width="253">المعلمة</th><th>قيمة المعلمة</th></tr></thead><tbody><tr><td><strong><code>subscription_id</code></strong></td><td><strong>معرّف منتج الاشتراك</strong>. يمكن الحصول على المعرّف بنسخه من لوحة بروداموس  <mark style="color:أخضر;">(معلمة إلزامية)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>اسم المنتج. <mark style="color:أخضر;">(معلمة إلزامية)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>مدة صلاحية رابط الدفع، بصيغة <strong>dd.mm.yyyy</strong> (على سبيل المثال 25.01.2021). كما يمكن في حقل "حاسبة<em>"</em> تحديد: <em>expired = current_date + 2</em> (سيكون الرابط صالحًا لمدة يومين حتى 00:00).  <code>expired</code> يمكن أيضًا تحديد تاريخ مع وقت دقيق، مفصولًا بمسافة، بصيغة <strong>dd.mm.yyyy hh:mm</strong> (على سبيل المثال: <em>25.01.2021 12:23</em>). كما يمكن استخدام المتغيرات القياسية، مثلًا لنحدد مدة صلاحية الرابط 30 دقيقة: </p><p><code>time = current_time + 30</code><br><code>expired = "#{current_date} #{time}"</code><br><br>لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة أو المزدوجة، أو القيمة None</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>رقم هاتف المشتري، غير مطلوب إذا تم تمرير المعلمة <code>customer_email</code> لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>بريد المشتري الإلكتروني، غير مطلوب إذا تم تمرير المعلمة <code>customer_phone</code> لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>discount</code></strong></td><td>مقدار الخصم. نمرر المعلمة كعدد أو عدد مع نقطة: 25 أو 63.5   لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>description</code></strong></td><td>وصف المنتج (إذا لم يتم تحديده فسيتم ملؤه بـ 'دفع الفاتورة order_id') لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td>معلمات إضافية غير موجودة في هذه الدالة.<br>يمكن الاطلاع على المعلمات الإضافية الممكنة عبر الرابط في توثيق العمل مع API نظام الدفع <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>مثال: <code>extra_params = {"payments_limit": "3"}</code><br><br><em>لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة/زوجًا من علامات الاقتباس المزدوجة أو القيمة None.</em></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>سلسلة من 50 إلى 4000 حرفًا بصيغة</strong> "وصف الطلب - التكلفة - رابط المورد المراد شراؤه". </p><p>على سبيل المثال:</p><p>"دورة ‘صيد البريَم’، التكلفة 4999 روبل، رابط صفحة الدورة: https://www.lovilescha.ru/courses/poimai_kilogram/". </p><p><strong>إلزامي</strong>، إذا لم تكن لديك نقطة بيع إلكترونية خاصة بك، لتهيئة المدفوعات ماليًا عبر Prodamus.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="مثال على الكود للنسخ" %}
**extra\_params** = {<mark style="color:أحمر;">"payments\_limit"</mark>: <mark style="color:أحمر;">"3"</mark>}&#x20;

**products\_for\_receipt** = <mark style="color:أحمر;">"الدورة ‘صيد البريم’</mark>, <mark style="color:أحمر;">تكلفة الاشتراك الشهري 2000 روبل</mark>, <mark style="color:أحمر;">رابط صفحة الدورة: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_sub** = get\_prodamus\_subscription\_url(<mark style="color:أزرق;">618988</mark>, <mark style="color:أحمر;">'دورة ‘صيد البريم’</mark>', <mark style="color:أحمر;">'27.03.2023 17:02', '79167777771', '<mail@mail.com>'</mark>, <mark style="color:أحمر;">20</mark>, <mark style="color:أحمر;">'أفضل دورة في السوق'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
إذا كانت هناك عدة دوال في البلوك للحصول على الرابط وحدث خطأ، فستُكتب قيمة الخطأ في المتغير  **`error_payment_func`**

\
سيُسجل الخطأ على آخر دالة في الحاسبة
{% endhint %}

### كيفية إدارة حالة الاشتراك

{% hint style="info" %}
تعمل الطريقة فقط على الاشتراكات الحقيقية، وفي وضع العرض التجريبي لا يوجد ربط مع البطاقة
{% endhint %}

{% hint style="warning" %}
لإدارة الاشتراك يجب تمرير أحد المعلمات الإلزامية customer\_phone أو customer\_email.
{% endhint %}

لإتاحة إلغاء اشتراك المستخدم، يجب إنشاء كتلة واستدعاء الدالة: **<https://store.salebot.pro/function/delete\\_subscription\\_prodamus>**

مع المعلمات:

**{**\
**"customer\_phone": "#{customer\_phone}",**\
**"id\_subscription":"#{prodamus\_subscription}",**\
**"url":"<https://demo.payform.ru/>", "secret\_key":"453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",**\
**"switcher":"0"**\
**"profile\_id":"12345"**\
**}**

**url** - رابط نموذج الدفع المحدد في إعدادات المنشئ\
**secret\_key** - المفتاح السري من الإعدادات\
**id\_subscription** - معرّف منتج الاشتراك\
**customer\_phone** - هاتف المشترك\
**switcher** = 0 يعني إيقاف الاشتراك، وإذا تم تمرير 1 فسيتم تفعيل الاشتراك من جديد.\
**profile\_id** - معرّف الملف الشخصي في نظام بروداموس

{% hint style="danger" %}
نلفت الانتباه!

إذا وصل معرّف الملف الشخصي، فسيتم حفظ القيمة في المتغير profile\_id.

يمكن تمرير profile\_id إلى الدالة delete\_subscription\_prodamus بدلًا من customer\_phone أو customer\_email لإلغاء الاشتراك.
{% endhint %}

مثال على إعداد كتلة الاشتراك:

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

انتبه إلى أن الدالة تُرجع status، الذي نحفظه ويمكننا معالجته كما نريد، عند إلغاء/تفعيل ناجح\إعادة تفعيل **status** يساوي **ok**

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

prodamus\_subscription\_switch\_status(subscription\_id, switcher, customer\_phone, customer\_email, profile\_id)

&#x20;**id\_subscription** - معرّف منتج الاشتراك&#x20;

**switcher** = 0 يعني إيقاف الاشتراك، وإذا تم تمرير 1 فسيتم تفعيل الاشتراك من جديد.&#x20;

**customer\_phone** - هاتف المشترك - اختياري إذا تم تمرير customer\_email&#x20;

**customer\_email** - بريد المشترك الإلكتروني - اختياري إذا تم تمرير customer\_phone

profile\_id - معرّف الملف الشخصي في نظام بروداموس

<div data-with-frame="true"><figure><img src="/files/7b533dc156895a6936dcb90efbb049904581dfe4" alt=""><figcaption><p>مثال على استخدام الدالة prodamus_subscription_switch_status</p></figcaption></figure></div>

مثال: تم تمرير المعلمة **customer\_phone,** تم تجاهل customer\_email\
`stat = prodamus_subscription_switch_status`(`'618117', '0', '75431312321')`

مثال 2: تم تمرير المعلمة **customer\_email,** تم تجاهل customer\_phone\
`stat = prodamus_subscription_switch_status('618117', '0', '', 'examp@mail.com')`

{% hint style="success" %}
ستُرجع الدالة ok إذا نجح كل شيء، أو وصف الخطأ
{% endhint %}

### إدارة الخصومات في الاشتراك

تحدد الدالة مقدار الخصم على الدفعات اللاحقة للاشتراك. ويمكن تعيين الخصم لعدد محدود أو غير محدود من السحوبات.

**prodamus\_subscription\_discount(subscription\_id, discount, customer\_phone, num, profile\_id)**\
**حيث:**\
**subscription\_id** - معرّف الاشتراك\
**discount** - عدد عشري بدقة تصل إلى رقمين بعد **الفاصلة**، ويجب أن تكون القيمة أكبر من صفر ولا تتجاوز السعر الأساسي للاشتراك\
**customer\_phone** - رقم هاتف العميل بصيغة: +79999999999 (معلمة اختيارية إذا كانت هناك قيمة المتغير customer\_email (تظهر بعد أول دفع كما هو موضح أعلاه))\
**num** - عدد الدفعات التي سيُطبق عليها الخصم (معلمة اختيارية، وإذا لم يتم تمريرها فعدد الدفعات المخفضة غير محدود)

profile\_id - معرّف الملف الشخصي في نظام بروداموس\
\
**عند نجاح الطلب ستُرجع الدالة 'ok'، وإذا حدث خطأ فستُرجع وصفه.**

{% hint style="warning" %}
يُعاد كتابة مقدار الخصم والفاصل الزمني فقط إذا استُدعيت الدالة مرة أخرى بقيم جديدة!
{% endhint %}

#### **أمثلة:**

1\. إعداد خصم على جميع الدفعات التلقائية اللاحقة بقيمة 1 روبل (لا يُحدد رقم الهاتف لأنه سيُؤخذ تلقائيًا من المتغير customer\_phone، وعدد السحوبات المخفضة افتراضيًا - طوال مدة الاشتراك)&#x20;

r = prodamus\_subscription\_discount('624034', '1')

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/_4i_sKKn39tHVdnb47xgj8fxfP_x9UGMWLaierBnpup9LCZMdVT0G9AmIOa8S_uMrVXWQIH6rvZnujCYPGcphkYvwFbCXEh819tWIjGIM4mHvd3afSlPzhZfcWk6D1z1tyBwFrZV" alt="مثال 1" width="563"></div>

2\. إعداد خصم 2 روبل على 3 سحوبات تالية (استُبدل رقم الهاتف بعلامات اقتباس فارغة لأنه سيُؤخذ تلقائيًا من المتغير customer\_phone)&#x20;

r = prodamus\_subscription\_discount('624034', '2', '', '3')

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/IgutVRIqTFbaof9A14qdQRLCB6oop4mSAIew5s3lz62Kb4YVHdHJEt6GuC7AACStDgRiR1d_XEG1k5Dj7c2M-VNtci16JbklMTEla8_RNWD7wBNeG649g0lnFiMZilhri3phwKr-" alt="مثال 2" width="563"></div>

3\. مثال على إعداد الخصم على شكل عدد مع جزء كسري حتى المئة (الفاصل نقطة)، وتُكتب البيانات الرقمية بدون علامات اقتباس، ويُمرر رقم الهاتف عبر متغير

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

r = prodamus\_subscription\_discount(#{prodamus\_subscription}, 10.25, #{customer\_phone}, 3)

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/xJVbZ3Q5f6LzCsYtuX-JqaKYPc69lS6Wi4yA0ui2vBxmFkXXGIHSqgO2VoK0rzDPdNG-HxVpAnpRcmbZXQ_oSrtT7ijJcQA6ZOwjXLbKP8WsCFBip-4DwRnVHpz-fIPRt_Wldo0h" alt="مثال 3" width="563"></div>

### كيفية تحديد تاريخ الدفعة التالية للاشتراك

باستخدام هذه الطريقة يمكنك تقديم تاريخ الدفعة التالية للاشتراك. ويمكن تحريك التاريخ فقط «إلى المستقبل» مقارنة بتاريخ الدفعة التالية المحدد حاليًا. وبذلك يتم تمديد مدة البقاء في النادي.

{% hint style="success" %}
على سبيل المثال، يمكن استخدامها كهدية للمشتركين.
{% endhint %}

لذلك يجب استخدام الدالة:

**prodamus\_subscription\_payment\_date(subscription\_id, date, customer\_phone, profile\_id)**&#x20;

حيث:

**subscription\_id** - معرّف الاشتراك \
**date** - التاريخ بصيغة dd.mm.yyyy hh:mm أو dd.mm.yyyy، وعندها سيكون الوقت 00:00\
**customer\_phone** - غير إلزامي، إذا لم يُمرر فسيُسحب من المتغير customer\_phone، وإذا لم يُعثر عليه هناك فلن يعمل\
**profile\_id** - معرّف الملف الشخصي في نظام بروداموس

## كيفية تمرير المعلمات إلى بروداموس

لتمرير المعلمات التي تريدها إلى بروداموس (مثلًا: تاريخ بدء الاشتراك، تعطيل التقسيط، إلخ)، أضف بادئة prodamus\_ في بداية اسم المتغير&#x20;

حينها، عند إنشاء رابط الدفع، سيتم تمرير هذه المعلمات إلى نظام الدفع تلقائيًا.

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

{% hint style="info" %}
نختبر الدفع فقط!
{% endhint %}

حتى لا تُخصم الأموال من حسابك أثناء اختبار التكامل وإعداد مسارات الدفع، يمكنك استخدام البطاقات التجريبية&#x20;

{% hint style="warning" %}
أولًا، حوّل صفحة الدفع الخاصة بك إلى وضع DEMO ⤵

لا تنسَ الضغط على زر "حفظ"
{% endhint %}

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

#### لإجراء دفعة اختبارية يمكنك استخدام الحسابات التجريبية

بطاقات سبيربنك التجريبية:&#x20;

МИР\
رقم البطاقة 2202 2050 0001 2424\
تاريخ انتهاء الصلاحية 05/35\
رمز التحقق على الجهة الخلفية 669

MasterCard\
رقم البطاقة 5469 9801 0004 8525\
تاريخ انتهاء الصلاحية 05/26\
رمز التحقق على الجهة الخلفية 041\
رمز التحقق 3-D Secure 111111

Visa\
رقم البطاقة 4006 8009 0096 2514\
تاريخ انتهاء الصلاحية 05/26\
رمز التحقق على الجهة الخلفية 941\
رمز التحقق 3-D Secure 111111

{% hint style="success" %}
! عند الدفع من الحسابات التجريبية ستعمل جميع المسارات والتكاملات المضبوطة كما في الدفع العادي !&#x20;
{% endhint %}

تم اختبار النموذج

{% hint style="danger" %}
لقبول المدفوعات بأموال حقيقية، يجب تحويل النموذج إلى وضع العمل. أي نقل شريط التبديل الخاص بوضع العرض التجريبي إلى الوضع بحيث يصبح أحمر باهتًا
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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/prodamus-blr.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.
