# Prodamus (RU)

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

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

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

<mark style="color:green;">**URL نموذج الدفع**</mark> تستلمه بعد التسجيل، وهو <mark style="color:green;">**يأتي بالشكل: 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:red;">**المعلمات الإلزامية**</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-ФЗ.\
اقرأ خصائص إصدار الإيصالات على موقع نظام الدفع المختار حتى لا تقع في موقف محرج مع مصلحة الضرائب.
{% 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`** ، الذي يخزن المبلغ ومعرّف الرابط المُنشأ، وهو مطلوب للتعرّف على الـ webhook من نظام الدفع.

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

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

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

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

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

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

بعد إتمام الدفع بنجاح في البوت <mark style="color:orange;">**تلقائيًا**</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:orange;">**تلقائيًا**</mark> سيصل CALLBACK يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة \_success و <mark style="color:green;">**بعد مسافة معرّف المنتج في الاشتراك**</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:blue;">**عند حدوث خطأ في تنفيذ الدفع**</mark> في البوت <mark style="color:orange;">**تلقائيًا**</mark> سيصل CALLBACK يتكون من 10 أحرف من المفتاح السري لنظام الدفع، وكلمة \_fail، ثم مبلغ الدفع بعد مسافة

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

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

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

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

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

إذا كان المبلغ المحدد في إعدادات الزر <mark style="color:blue;">**يختلف عن المبلغ الذي دفعه العميل**</mark>، ف <mark style="color:orange;">**تلقائيًا**</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:green;">(معلمة إلزامية)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>اسم المنتج. <mark style="color:green;">(معلمة إلزامية)</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:red;">"payments\_limit"</mark>: <mark style="color:red;">"3"</mark>}&#x20;

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

**link\_prodamus\_url** = get\_prodamus\_payment\_url(<mark style="color:blue;">4999</mark>, <mark style="color:red;">'دورة 'صيد البِلم''</mark>, <mark style="color:red;">'27.03.2023 17:00', '79167777771'</mark>, <mark style="color:red;">'<mail@mail.com>'</mark>, <mark style="color:blue;">20</mark>, <mark style="color:red;">'أفضل دورة في السوق'</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:red;"><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>invoice</strong> - الدفع عبر الفاتورة <strong>installment</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> - تقسيط من Tinkoff لمدة 3 أشهر</td></tr><tr><td><strong>installment_0_0_4</strong> </td><td>تقسيط من Tinkoff لمدة 4 أشهر </td></tr><tr><td><strong>installment_0_0_6</strong></td><td>تقسيط من Tinkoff لمدة 6 أشهر </td></tr><tr><td><strong>installment_0_0_10</strong></td><td>تقسيط من Tinkoff لمدة 10 أشهر</td></tr><tr><td><strong>installment_0_0_12</strong></td><td>تقسيط من Tinkoff لمدة 12 شهرًا</td></tr><tr><td><strong>installment_0_0_24</strong> </td><td>تقسيط من Tinkoff لمدة 24 شهرًا</td></tr><tr><td><strong>installment_0_0_36</strong></td><td>تقسيط من Tinkoff لمدة 36 شهرًا </td></tr><tr><td><strong>credit</strong> </td><td>قرض من Tinkoff</td></tr><tr><td><strong>vsegdada_installment_0_0_4</strong></td><td>تقسيط من VsegdaDa لمدة 4 أشهر (لا يعمل مع available_payment_methods) </td></tr><tr><td>vs<strong>egdada_installment_0_0_6</strong></td><td>تقسيط من VsegdaDa لمدة 6 أشهر</td></tr><tr><td><strong>vsegdada_installment_0_0_10</strong></td><td>تقسيط من VsegdaDa لمدة 10 أشهر</td></tr><tr><td><strong>vsegdada_installment_0_0_12</strong></td><td>تقسيط من VsegdaDa لمدة 12 شهرًا بدون زيادة</td></tr><tr><td>vs<strong>egdada_installment_0_0_24</strong></td><td>تقسيط من VsegdaDa لمدة 24 شهرًا</td></tr><tr><td><strong>vsegdada_installment_0_0_36</strong> </td><td>تقسيط من VsegdaDa لمدة 36 شهرًا</td></tr><tr><td><strong>sbrf_installment_0_0_6</strong></td><td>تقسيط من SberBank لمدة 6 أشهر </td></tr><tr><td><strong>sbrf_installment_0_0_10</strong></td><td>تقسيط من SberBank لمدة 10 أشهر</td></tr><tr><td><strong>sbrf_installment_0_0_12</strong></td><td>تقسيط من SberBank لمدة 12 شهرًا</td></tr><tr><td><strong>sbrf_installment_0_0_24</strong></td><td>تقسيط من SberBank لمدة 24 شهرًا</td></tr><tr><td><strong>sbrf_installment_0_0_36</strong> </td><td>تقسيط من SberBank لمدة 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>أقساط من Sber</td></tr></tbody></table>

يسمح بتمرير عدة قيم، مفصولة بعلامة العمود الرأسي. \
مثلًا: prodamus\_available\_payment\_methods = "AC|PC|QW"

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

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

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

{% hint style="warning" %} <mark style="color:red;">**مهم!**</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>

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

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

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

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

{% hint style="warning" %}
مهم!\
بالنسبة للروابط التي أُنشئت باستخدام زر بوظيفة الدفع أو باستخدام الوظيفة في الحاسبة، بعد الدفع في البوت <mark style="color:orange;">**تلقائيًا**</mark> سيصل CALLBACK يتكون من أحرف المفتاح السري لنظام الدفع، وكلمة \_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. "إلغاء تفعيل الاشتراك" - إذا تم إلغاء تفعيل الاشتراك بعد عدة محاولات سحب فاشلة

### **كيفية حفظ القيم من الـ callback**

بعد استلام إشعار الدفع الناجح، سيُكتب في طلب العميل (المتغير payment\_callback) callback من بروداموس مع جميع بيانات عملية الدفع المستلمة. يمكن حفظ البيانات المطلوبة منه واستخدامها كما تشاء. مثال على الـ 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, MIR", "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**، وعند استلام الـ callback يمكن استخراجها هكذا&#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')`

### ما هي الـ callbacks المتاحة

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

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

أمثلة على الـ callbacks في الحوار مع العميل:&#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>

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

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

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

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

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

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

لتوليد رابط دفع الاشتراك، يجب عليك تعيين قيمة (معرّف منتج الاشتراك) للمتغير **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>

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

<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:green;">(معلمة إلزامية)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>اسم المنتج. <mark style="color:green;">(معلمة إلزامية)</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:red;">"payments\_limit"</mark>: <mark style="color:red;">"3"</mark>}&#x20;

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

**link\_prodamus\_sub** = get\_prodamus\_subscription\_url(<mark style="color:blue;">618988</mark>, <mark style="color:red;">'دورة 'صيد البِلم''</mark>', <mark style="color:red;">'27.03.2023 17:02', '79167777771', '<mail@mail.com>'</mark>, <mark style="color:red;">20</mark>, <mark style="color:red;">'أفضل دورة في السوق'</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** - 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" %}
أولًا، حوّل صفحة الدفع الخاصة بك إلى وضع العرض التجريبي ⤵

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

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

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

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

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

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

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

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

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

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


---

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