Prodamus (RU)
متاح فقط في باقة "Infobiz".
كيفية ربط بروداموس
للاتصال بـ Prodamus ستحتاج إلى URL نموذج الدفع والمفتاح السري.
URL نموذج الدفع تستلمه بعد التسجيل، وهو يأتي بالشكل: demo.payform.ru
يمكن الحصول على المفتاح السري من الحساب الشخصي، وهناك أيضًا يجب إدخال عنوان URL للإشعارات.

تعليمات تفصيلية حول كيفية القيام بذلك: https://help.prodamus.ru/payform.ru-onlain-oplaty/prochee/url-dlya-uvedomlenii-i-sekretnyi-klyuch
عنوان الإشعارات: https://chatter.salebot.pro/prodamus_callback/result
يجب إدخال هذا العنوان في الإعدادات في مكانين.
في الصفحة الرئيسية للإعدادات يمكنك اختيار وضع عمل النموذج: وضع تجريبي بدون مدفوعات أو وضع المدفوعات:

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

عنوان الإشعارات: https://chatter.salebot.pro/prodamus_callback/result
لإعداد العمل مع مدفوعات الاشتراك انتقل إلى تبويب الاشتراكات وأدخل عنوان الإشعارات: https://chatter.mavibot.ai/prodamus_callback/result

انتبه! بعد إدخال الرابط URL اضغط обязательно زر «حفظ».
لربط Prodamus يجب الانتقال إلى قسم "التحصيل الإلكتروني"

بعد ذلك يكفي إدخال البيانات المذكورة أعلاه في النموذج:

مهم! نكتب url - نموذج الدفع بدون https://
بهذا ينتهي الربط. الآن دعنا نفهم كيفية استخدام هذه الميزة.
كيفية إنشاء رابط للدفع
يمكن إنشاء رابط الدفع في البلوك بإحدى الطرق المتاحة:
إنشاء رابط باستخدام المتغير payment_sum ومعلمات إضافية (نسخة قديمة تعمل)
زر مع وظيفة الدفع
سنستعرض جميع المعلمات الممكنة لهذا الزر.
المعلمات الإلزامية لزر الدفع الخاص ببروداموس
لإنشاء رابط الدفع في إعدادات الزر يجب تحديد المعلمات الإلزامية "المبلغ", "اسم المنتج، وكذلك المعلمة "المحتوى المدفوع"، إذا لم يكن لديك صندوق نقدي إلكتروني خاص بك وترغب في الحصول على إيصال من Prodamus.
عند الانتقال إلى صفحة إتمام الطلب ستظهر مسبقًا معلومات المنتج وسعره، ولن يتبقى على العميل سوى إدخال بيانات الاتصال الخاصة به. إذا حددت في إعدادات الزر بريدًا إلكترونيًا و\أو رقم هاتف المستخدم، فستظهر في صفحة إتمام الطلب بيانات المشتري ومعلومات المنتج وسعره.

حقل النص. سيظهر هذا النص على الزر الذي يحتوي على رابط الدفع في الرسالة
حقل الوظيفة. لإنشاء زر لإصدار رابط الدفع نختار وظيفة الدفع
حقل نظام الدفع. تُعرض في القائمة أنظمة الدفع المتصلة بالمشروع
إذا لم تكن هناك أنظمة دفع متصلة بالمشروع فلن يكون هذا النوع من الأزرار متاحًا
حقل اسم المنتج (إلزامي). في هذا الحقل يجب إدخال اسم المنتج. كلما كان الاسم أدق كان أفضل. مثلًا: ليس "هاتف" بل "هاتف ذكي Xiaomi موديل …"
لا يمكن استخدام علامات الاقتباس المزدوجة في اسم المنتج: احذفها أو استبدلها بعلامات اقتباس مفردة.
حقل المبلغ (إلزامي). في هذا الحقل نحدد تكلفة المنتج.
قائمة المعلومات الإضافية. عند النقر على هذا الزر ستُفتح حقول إضافية لإنشاء الرابط
وصف الطلب
الخصم بالروبل
متغير بريد المشتري الإلكتروني
متغير رقم هاتف المشتري
مدة صلاحية الرابط
معرّف المنتج للاشتراك (لإنشاء دفعات تلقائية)
المحتوى المدفوع
مربع اختيار مع إشعار عند النقر. لتتبع الانتقال عبر رابط الدفع يمكن تفعيل هذا الخيار. في هذه الحالة، عند النقر على الزر سيصل إلى المحادثة مع العميل في سيلبوت إشعار بأن الانتقال عبر الرابط قد تم

يمكن بناء منطق عمل البوت لاحقًا اعتمادًا على هذا الإشعار.
تدعم العديد من أنظمة الدفع صناديق النقد السحابية عبر الإنترنت، وهي مطلوبة بموجب القانون 54-ФЗ. اقرأ خصائص إصدار الإيصالات على موقع نظام الدفع المختار حتى لا تقع في موقف محرج مع مصلحة الضرائب.
وهكذا تبدو صفحة الدفع التي تُفتح عند الانتقال عبر الرابط في زر الدفع:

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

حقل وصف الطلب. ستظهر المعلومات المُدخلة في هذا الحقل في صفحة الدفع ضمن حقل البيانات الإضافية
حقل الخصم. يمكن في هذا الحقل تحديد قيمة الخصم بالروبل أو بالروبل مع القروش. ولتحديد مبلغ مع القروش نستخدم النقطة كفاصل: 50.99 في صفحة الدفع سيظهر في حقل مبلغ الدفع مع احتساب الخصم، وسيتم شطب السعر الأصلي للمنتج.
حقل متغير بريد المشتري الإلكتروني (اختياري إذا تم تمرير رقم الهاتف) في هذا الحقل يُحدد بريد المستخدم الإلكتروني (العميل). يمكن تحديد المتغير الذي يخزن بريد المستخدم الإلكتروني.
مثلًا، #{email}
حقل متغير رقم هاتف المشتري (اختياري إذا تم تمرير البريد الإلكتروني). في هذا الحقل يمكن تحديد المتغير الذي يحتوي على رقم هاتف المشتري بصيغة 79000000000 مثلًا، #{phone}
يجب أن يكون البريد الإلكتروني و/أو الهاتف موجودًا بالضرورة
حقل مدة صلاحية الرابط. يمكن تحديد التاريخ بصيغة dd.mm.yyyy hh:mm (مثلًا 25.01.2021 11:00) أو استخدام متغيرات لتحديد مدة انتهاء صلاحية الرابط.
مثال على استخدام المتغير: #{link_expired}
حقل معرّف المنتج للاشتراك. لإجراء دفعة تلقائية، مرّر قيمة معرّف المنتج. لإنشاء اشتراك، يجب إنشاء منتج اشتراك.
تعليمات تفصيلية حول كيفية إنشاء منتج للاشتراك: https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
إذا تم تمرير قيمة معرّف المنتج للاشتراك، فلن يؤخذ مبلغ الدفع في الاعتبار. ستُستمد بيانات المنتج من بطاقة المنتج في حساب بروداموس
سيكون رقم الهاتف المُدخل عند الدفع مطلوبًا لإدارة الاشتراك.
إذا تم تمرير معرّف المنتج للاشتراك، فسيتم تمرير معرّف هذا المنتج في callback عند نجاح الدفع
حقل المحتوى المدفوع (إلزامي بشكل مشروط). البيانات مطلوبة لجباية الضرائب لمدفوعات Prodamus إذا لم يكن لديك صندوق نقدي إلكتروني خاص بك. في هذا الحقل يجب إدخال وصف الشراء وسعره ورابط المورد الذي يحتوي على المحتوى.
مثلًا: دورة "نسج الضفائر"، السعر 3000 روبل، رابط صفحة الدورة: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911.
هذه البيانات مطلوبة لإرسالها إلى مصلحة الضرائب الروسية.
زر مع وظيفة الدفع
إذا حدّدت مدة صلاحية الرابط، ففي حالة
عندما طلب المستخدم رابط الدفع خلال فترة صلاحيته النشطة (أي لم تنتهِ صلاحيته بعد) وكان موجودًا في المحادثة، فلن يتمكن من الدفع وسيظهر له إشعار بالشكل التالي:
يجب أن تكون مدة صلاحية الرابط لاحقة للتاريخ الحالي، وإلا فلن يتمكن العميل من الدفع عبر هذا الرابط أيضًا.
2. عندما يطلب المستخدم الرابط لكنه أصبح غير نشط في هذه الحالة لن يظهر الزر أصلًا. وستظهر في متغيرات العميل القيمة "error_payment_button"، والتي تحتوي على القيمة التالية: "خطأ: يجب أن تكون مدة صلاحية الرابط لاحقة للتاريخ الحالي".
لكي يتمكن المستخدم من الدفع بشكل صحيح، يُستحسن معالجة هذه الحالة إضافيًا.
كيف يتم ذلك؟
أنشئ بلوكًا بشرط يحدد أنه إذا وصل إشعار من هذا النوع، error_payment_button == "خطأ: يجب أن تكون مدة صلاحية الرابط لاحقة للتاريخ الحالي"
مع عرض النص: "عذرًا، لم تلحق والآن أصبح رابط الدفع غير صالح":


متغيرات العميل التي ستُنشأ تلقائيًا عند استخدام زر بوظيفة الدفع
بمجرد أن يحصل المستخدم على بلوك يحتوي على زر "الدفع"، سيتم إنشاء متغيرات العميل تلقائيًا:
متغير خدمة للعميل __payments ، الذي يخزن المبلغ ومعرّف الرابط المُنشأ، وهو مطلوب للتعرّف على الـ webhook من نظام الدفع.
لا يجوز حذف أو تعديل المتغير الخدمي للعميل __payments!
متغير العميل error_payment_button يُنشأ إذا حدث خطأ عند إنشاء الزر.
سيُسجَّل في قيمة المتغير error_payment_button إما نص الخطأ أو رد نظام الدفع مع الخطأ.
تصبح قيم المتغيرات سارية عند الانتقال إلى البلوك التالي
كيفية معالجة النتيجة
دفعة ناجحة.
بعد إتمام الدفع بنجاح في البوت تلقائيًا سيصل CALLBACK يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _success، ثم مبلغ الدفع بعد مسافة. لاستخدامه في إعدادات المخطط يكفي نسخه.
مثلًا: ovg58keefc_success 44، حيث:
ovg58keefc : أول 10 أحرف من المفتاح السري لنظام الدفع
_success : نتيجة معالجة الطلب (دفعة ناجحة)
44 : مبلغ الدفع
الـ callbacks (الإشعارات) من نظام الدفع لا يراها المستخدم. تظهر فقط في تبويب العملاء ويراها المشغّل.
مثال على الاستخدام: الخطوة 1. في البلوك "مع زر الدفع" نضيف أزرارًا بوظيفة الدفع.
الخطوة 2. في حقل شرط الربط من هذا البلوك إلى بلوك "الدفع الناجح" نحدد callback. ويعمل الأمر نفسه إذا حددت callback الدفع الناجح في حقل شرط البلوك "شرط البدء".
مهم: اختر نوع المطابقة إما "تطابق كامل" أو "حسب وجود الكلمات المفتاحية"
❗️إذا قررت التحقق من الدفع في السهم الشرطي تحديدًا، ففكّر في منطق مخططك. إذا غادر العميل البلوك عبر الانتقال الشرطي مع callback، فلن يتم الانتقال إلى البلوك. لا يُنصح باستخدام هذه الطريقة للتحقق إلا عندما لا يغيّر العميل موقعه في القمع (موضعه في المخطط). في المخططات التي ينتقل فيها العميل بين البلوكات، من الأفضل استخدام خيار تحديد callback في بلوك "شرط البدء".

دفعة ناجحة للمنتجات ذات الاشتراك التلقائي.
بعد إتمام الدفع بنجاح في البوت تلقائيًا سيصل CALLBACK يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _success و بعد مسافة معرّف المنتج في الاشتراك
مثلًا: 214009eefc_success 618117، حيث:
009eefc : 10 أحرف من المفتاح السري لنظام الدفع
_success : نتيجة معالجة الطلب (دفعة ناجحة)
618117: معرّف المنتج في الاشتراك

دفعة مع خطأ
عند حدوث خطأ في تنفيذ الدفع في البوت تلقائيًا سيصل CALLBACK يتكون من 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _fail، ثم مبلغ الدفع بعد مسافة
على سبيل المثال، ovg58keefc_fail 44 ، حيث
ovg58keefc : 10 أحرف من المفتاح السري لنظام الدفع
_fail : نتيجة معالجة الطلب - لم يتم تنفيذ الدفع أو حدث خطأ.
44 : مبلغ الدفع
يعتمد ذلك على نظام الدفع. ليست كل أنظمة الدفع ترسل callback عن خطأ الدفع.
إذا كان المبلغ المحدد في إعدادات الزر يختلف عن المبلغ الذي دفعه العميل، ف تلقائيًا سيصل CALLBACK يتكون من 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _different_amounts، ثم المعرّف الفريد للدفع بعد مسافة
مثلًا: ovg58keefc_different_amounts 123456 ، حيث:
ovg58keefc : 10 أحرف من المفتاح السري لنظام الدفع
_different_amounts : نتيجة معالجة الطلب (مبلغ الدفع يختلف عن المبلغ في الرابط)
123456 : المعرّف الفريد للدفع
وظيفة get_prodamus_payment_url في الحاسبة
لإنشاء رابط الدفع يمكن استخدام الوظيفة get_prodamus_payment_url في بلوك الحاسبة.
في حقل الحاسبة نُسند للمتغير قيمة الوظيفة get_prodamus_payment_url
تحدد اسم المتغير بنفسك. في اللقطات أمثلة على أسماء المتغيرات.
ستُكتب في هذا المتغير رابط الدفع. يمكن عرض المتغير كرابط في الرسالة أو وضعه على زر يحمل النص "ادفع".
مثال على رابط الدفع: https://payform.ru/7p3JR8/
مثال 1:

متغيرك = get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
معلمات الوظيفة:
amount
مبلغ الدفع. يمكن تمرير قيمة عدد صحيح أو عدد بنقطة. مثلًا 25 أو 52.5 (معلمة إلزامية)
product_name
اسم المنتج. (معلمة إلزامية)
expired
مدة صلاحية رابط الدفع، بصيغة بصيغة dd.mm.yyyy (مثلًا 25.01.2021). كما يمكن في حقل "حاسبة" تحديد: expired = current_date + 2 (سيكون الرابط صالحًا لمدة يومين حتى 00:00). expired كما يمكن تحديد تاريخ مع وقت دقيق، بعد مسافة، بصيغة بصيغة dd.mm.yyyy hh:mm (مثل: 25.01.2021 12:23). كما يمكن استخدام المتغيرات القياسية، مثلًا لنحدد مدة صلاحية الرابط 30 دقيقة:
time = current_time + 30
expired = "#{current_date} #{time}"
لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة أو المزدوجة، أو القيمة None
customer_phone
رقم هاتف المشتري، غير إلزامي إذا تم تمرير المعلمة customer_email لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
customer_email
بريد المشتري الإلكتروني، غير إلزامي إذا تم تمرير المعلمة customer_phone لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
discount
قيمة الخصم. نمرر المعلمة كعدد أو عدد بنقطة: 25 أو 63.5 لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
description
وصف المنتج (إذا لم يُحدد يُملأ بـ 'دفع الفاتورة order_id') لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
extra_params
معلمات إضافية غير موجودة في هذه الوظيفة. يمكن الاطلاع على المعلمات الإضافية الممكنة عبر الرابط الموجود في توثيق العمل مع API لنظام الدفع https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov مثال: extra_params = {"payments_limit": "3", "payment_method": "vsegdada_installment_0_0_6"}
لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة/ المزدوجة أو القيمة None.
products_for_receipt
سلسلة من 50 إلى 4000 حرف بصيغة "وصف الطلب - التكلفة - رابط المورد المراد شراؤه".
مثلًا:
"دورة 'صيد البِلم'، التكلفة 4999 روبل، رابط صفحة الدورة: https://www.lovilescha.ru/courses/poimai_kilogram/". إلزاميإذا لم يكن لديك صندوق نقدي إلكتروني خاص بك، لجباية مدفوعات Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "دورة 'صيد البِلم', تكلفة الاشتراك الشهري 4999 روبل, رابط صفحة الدورة: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_url = get_prodamus_payment_url(4999, 'دورة 'صيد البِلم'', '27.03.2023 17:00', '79167777771', '[email protected]', 20, 'أفضل دورة في السوق', extra_params, products_for_receipt)
إذا كان في البلوك عدة وظائف للحصول على الرابط وحدث خطأ، فستُسجَّل قيمة الخطأ في المتغير error_payment_func
سيُسجَّل الخطأ من آخر وظيفة في الحاسبة
إنشاء رابط باستخدام المتغير payment_sum ومعلمات إضافية
انتبه: يتم إسناد القيمة للمتغير payment_sum للأخير، بعد المتغيرات الاختيارية payment_description, product_name إلخ.
لتوليد رابط الدفع، يكفي أن تضبط في حقل الحاسبة قيمة المتغير payment_sum. بعد ذلك مباشرة سيظهر المتغير prodamus_pay_url.
مثال على رابط الدفع:: https://payform.ru/7p3JR8/
يمكن عرض هذا المتغير كرابط في الرسالة أو وضعه على زر يحمل النص "ادفع".
قبل إعلان المتغير payment_sum يمكن أيضًا تحديد المتغيرات الاختيارية التالية:
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
كما يمكن تحديد تاريخ مع وقت دقيق، بعد مسافة، بصيغة بصيغة dd.mm.yyyy hh:mm (مثل: 25.01.2021 12:23). كما يمكن استخدام المتغيرات القياسية، مثلًا لنحدد مدة صلاحية الرابط 30 دقيقة:
time = current_time + 30 link_expired = "#{current_date} #{time}"
currency
عملة الدفع، والافتراضي "rub". القائمة الكاملة للوسائط:
rub
usd
eur
kzt يجب تمرير هذه المعلمة بحروف صغيرة.
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
سلسلة من 50 إلى 4000 حرف بصيغة "وصف الطلب - التكلفة - رابط المورد المراد شراؤه".
مثلًا:
"دورة 'صيد البِلم'، التكلفة 4999 روبل، رابط صفحة الدورة: https://www.lovilescha.ru/courses/poimai_kilogram/".
إلزاميإذا لم يكن لديك صندوق نقدي إلكتروني خاص بك، لجباية مدفوعات Prodamus.
payment_sum
(إلزامي) مبلغ الدفع
المتغيرات discount_value, customer_phone, customer_email و link_expired صالحة أيضًا للاشتراكات.

مثال على التنفيذ.
في البلوك الأول نحدد مبلغ الدفع:

بعد ذلك نعرض في المكان المطلوب url، الرابط prodamus_pay_url:

prodamus_available_payment_methods يتم الإعلان عنه قبل الإعلان عن payment_sum.
القيم الممكنة:
AC
الدفع ببطاقة صادرة في روسيا
ACkz
الدفع ببطاقة كازاخستان
ACf
الدفع ببطاقات دول رابطة الدول المستقلة، باستثناء روسيا
ACEURNMBX
الدفع ببطاقة EUR من جميع الدول، باستثناء روسيا وبيلاروس
SBP
دفع سريع بدون إدخال بيانات البطاقة. لبطاقات روسيا
QW
محفظة Qiwi
PC
Юmoney
GP
طرفية الدفع
sbol
سبيربنك أونلاين invoice - الدفع عبر الفاتورة installment - أقساط من بروداموس
installment_5_21
أقساط من بروداموس لمدة 3 أشهر
installment_6_28
أقساط من بروداموس لمدة 6 أشهر
installment_10_28
أقساط من بروداموس لمدة 10 أشهر
installment_12_28
أقساط من بروداموس لمدة 12 شهرًا installment_0_0_3 - تقسيط من Tinkoff لمدة 3 أشهر
installment_0_0_4
تقسيط من Tinkoff لمدة 4 أشهر
installment_0_0_6
تقسيط من Tinkoff لمدة 6 أشهر
installment_0_0_10
تقسيط من Tinkoff لمدة 10 أشهر
installment_0_0_12
تقسيط من Tinkoff لمدة 12 شهرًا
installment_0_0_24
تقسيط من Tinkoff لمدة 24 شهرًا
installment_0_0_36
تقسيط من Tinkoff لمدة 36 شهرًا
credit
قرض من Tinkoff
vsegdada_installment_0_0_4
تقسيط من VsegdaDa لمدة 4 أشهر (لا يعمل مع available_payment_methods)
vsegdada_installment_0_0_6
تقسيط من VsegdaDa لمدة 6 أشهر
vsegdada_installment_0_0_10
تقسيط من VsegdaDa لمدة 10 أشهر
vsegdada_installment_0_0_12
تقسيط من VsegdaDa لمدة 12 شهرًا بدون زيادة
vsegdada_installment_0_0_24
تقسيط من VsegdaDa لمدة 24 شهرًا
vsegdada_installment_0_0_36
تقسيط من VsegdaDa لمدة 36 شهرًا
sbrf_installment_0_0_6
تقسيط من SberBank لمدة 6 أشهر
sbrf_installment_0_0_10
تقسيط من SberBank لمدة 10 أشهر
sbrf_installment_0_0_12
تقسيط من SberBank لمدة 12 شهرًا
sbrf_installment_0_0_24
تقسيط من SberBank لمدة 24 شهرًا
sbrf_installment_0_0_36
تقسيط من SberBank لمدة 36 شهرًا
otp_installment_0_0_6
تقسيط من بنك OTP لمدة 6 أشهر
otp_installment_0_0_10
تقسيط من بنك OTP لمدة 10 أشهر
otp_installment_0_0_12
تقسيط من بنك OTP لمدة 12 شهرًا
otp_installment_0_0_24
تقسيط من بنك OTP لمدة 24 شهرًا
otp_installment_0_0_36
تقسيط من بنك OTP لمدة 36 شهرًا
mts_installment_0_0_6
تقسيط من بنك MTS لمدة 6 أشهر
mts_installment_0_0_10
تقسيط من بنك MTS لمدة 10 أشهر
mts_installment_0_0_12
تقسيط من بنك MTS لمدة 12 شهرًا
mts_installment_0_0_24
تقسيط من بنك MTS لمدة 24 شهرًا
mts_installment_0_0_36
تقسيط من بنك MTS لمدة 36 شهرًا
monetaworld
بطاقات بنوك العالم، باستثناء روسيا
sbrf_bnpl
أقساط من Sber
يسمح بتمرير عدة قيم، مفصولة بعلامة العمود الرأسي. مثلًا: prodamus_available_payment_methods = "AC|PC|QW"
prodamus_currency - معلمة إضافية أخرى لتمرير المبلغ بعملة محددة. القيم الممكنة للعملة: kzt - للتنغي eur - لليورو usd - للدولار
عندها سيكون المبلغ المحدد في الرابط بالعملة المحددة.
عند استلام الـ callback payment_callback يجب الاعتماد على المعلمة currency و currency_sum, والتي ستحتوي على العملة ومبلغها.
مهم! تحقق مما إذا كانت لديك طريقة الدفع بالعملة المطلوبة في الصفحة، لأنه إذا كانت غير موجودة فسيتم الانتقال إلى صفحة بدون طرق دفع. تُفعَّل الطرق عبر الدعم. يمكن رؤية المفعّلة منها في إعدادات الصفحة أو عبر إنشاء رابط الدفع


كيفية معالجة النتيجة
دفعة ناجحة
مهم! بعد الدفع الناجح أو غير الناجح سيصل إلى البوت callbacks يمكنك من خلالها معرفة أن الدفع تم بنجاح. هذه الـ callbacks تظهر لك في النظام كرسائل من المستخدم، ولكي لا يستطيع المستخدم إرسالها، فهي تتكون من المفتاح السري وإضافة حالة، مثل: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success أو 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_failكما أن المتغير prodamus_payment_completed يُضبط على True.
انتباه! تصل الـ callbacks بتأخير، لذا بعد عرض رابط الدفع للمستخدم نوصي بإرسال رسالة مثل: “بعد الدفع انتظر رسالة تؤكد إتمام عملية الدفع بنجاح”
مهم! بالنسبة للروابط التي أُنشئت باستخدام زر بوظيفة الدفع أو باستخدام الوظيفة في الحاسبة، بعد الدفع في البوت تلقائيًا سيصل CALLBACK يتكون من أحرف المفتاح السري لنظام الدفع، وكلمة _success، ثم مبلغ الدفع بعد مسافة. لاستخدامه في إعدادات المخطط يكفي نسخه.
مثلًا: ovg58keefc_success، حيث:
ovg58keefc : المفتاح السري كاملًا
_success : نتيجة معالجة الطلب (دفعة ناجحة)
مثلًا، يمكن معالجة الدفع الناجح بواسطة بلوك بشرط وإظهار رسالة مناسبة للمستخدم:

يجب أن يكون نوع المقارنة "تطابق كامل"
لإجراء دفعة متكررة، يجب بالضرورة تصفير payment_sum، والرابط الذي تم إنشاؤه سابقًا، وبعد ذلك فقط إعادة تعيين المتغير payment_sum للحصول على رابط جديد
إلغاء تفعيل/إعادة تفعيل الاشتراك
كما توجد في بروداموس إشعارات بشأن تفعيل/إلغاء تفعيل الاشتراك:

"اشترك غير مفعّل الاشتراك" - إذا أُلغي الاشتراك يدويًا (مثلًا: تم إلغاء الاشتراك).
قد يصل قبل انتهاء الفترة المدفوعة الحالية. ويعني إجراءً بحسب تقديرك - تجاهله أو وضعه تحت المراقبة أو محاولة استعادة المشترك.
"اشترك أعاد تفعيل الاشتراك" - استعادة الاشتراك.
قد يصل إذا أعاد المشترك تفعيل الاشتراك قبل انتهاء الفترة المدفوعة الحالية. ويعني إجراءً بحسب تقديرك - تجاهله أو حذفه من قائمة المراقبة للعودة.
"إلغاء تفعيل الاشتراك" - إذا تم إلغاء تفعيل الاشتراك بعد عدة محاولات سحب فاشلة
كيفية حفظ القيم من الـ 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 يمكن استخراجها هكذا
product = get(payment_callback,'products[0][name]')
description = get(payment_callback,'customer_extra')

انتبه: يتم إسناد القيمة للمتغير payment_sum للأخير، بعد المتغيرات الاختيارية payment_description, product_name
يمكن الحصول على المبلغ هكذا
summa = get(payment_callback,'sum')
ما هي الـ callbacks المتاحة
إلى جانب callbacks الرئيسية الخاصة بالدفع الناجح، تُعرض في الدردشة مع المستخدم رسالة لا يراها المستخدم، بالنصوص التالية:
ألغى المشترك الاشتراك (المزيد هنا)
أعاد المشترك تفعيل الاشتراك (المزيد هنا)
تم إنهاء الاشتراك
دفع غير ناجح - مع ملاحظة توضيحية (في لقطة الشاشة أعلاه)
إشعار بخصم قادم - تاريخ ووقت الخصم القادم
طلب تقسيط بحالة
أمثلة على الـ callbacks في الحوار مع العميل:
ألغى المشترك الاشتراك
أعاد المشترك تفعيل الاشتراك
تم إنهاء الاشتراك
دفع غير ناجح - لا توجد أموال كافية.
دفع غير ناجح - انتهت صلاحية البطاقة.
دفع غير ناجح - تم تجاوز حد البطاقة.
دفع غير ناجح - البطاقة مفقودة
دفع غير ناجح - خطأ في النظام
دفع غير ناجح - تم رفض العملية. يرجى التواصل مع البنك المصدر للبطاقة.
دفع غير ناجح - رفض تنفيذ العملية من قبل البنك المُصدر.
دفع غير ناجح - رفض تنفيذ العملية من قبل البنك.
إشعار بخصم قادم - dd.mm.yyyy hh:mm
تمت الموافقة على طلب التقسيط
تم إلغاء طلب التقسيط
تم رفض طلب التقسيط
يمكن قراءة شرح الأخطاء بالتفصيل هنا:
اختياريًا، يمكن إعداد إرسال رسالة للمستخدم. كمثال سنرسل رسالة تفيد بأن الخصم التلقائي لم ينجح. على إشعار بالدفع غير الناجح مع سبب محدد، يمكن إعداد بلوك برد، مثل هذا:

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

وعلى جميع الـ callbacks التي تحتوي على النص دفع غير ناجح، ستصل للمستخدم رسالة بالنص الذي حددته.
كيفية إنشاء مدفوعات الاشتراك
كيفية إنشاء اشتراك
لإنشاء اشتراك، يجب إنشاء منتج اشتراك. تعليمات تفصيلية حول كيفية فعل ذلك: https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
بعد ذلك ننسخ معرف منتج الاشتراك، ويوضح أدناه مكان الحصول عليه:
لتوليد رابط دفع الاشتراك، يجب عليك تعيين قيمة (معرّف منتج الاشتراك) للمتغير prodamus_subscription، وبعد ذلك مباشرة سيظهر المتغير prodamus_pay_url.

يمكن عرض المتغير prodamus_pay_url كرابط على الشاشة أو وضعه على زر يحمل النص "ادفع". ويبدو الرابط هكذا: https://payform.ru/7p3JR8/
تتم معالجة النتيجة بنفس الطريقة كما في الدفع لمرة واحدة (اقرأ أعلاه).
بعد الاشتراك الناجح ستُضاف للمستخدم متغيرات مع رقم الهاتف المُدخل عند الدفع customer_phone. رقم الهاتف مطلوب لإدارة الاشتراك.
customer_phone مطلوب لإدارة الاشتراك، إذا لم يتم تمرير customer_email
كيفية إنشاء رابط اشتراك باستخدام الوظيفة get_prodamus_subscription_url
لننظر إلى طريقة أخرى لإنشاء رابط الدفع لمنتج الاشتراك.
ننشئ منتج اشتراك في حساب بروداموس. تعليمات تفصيلية حول كيفية فعل ذلك: https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski
بعد ذلك ننسخ معرف منتج الاشتراك، ويوضح أدناه مكان الحصول عليه:
للحصول على رابط الدفع لمنتج بالاشتراك في الحاسبة نحدد الدالة
get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
مثال 1: رابط دفع منتج الاشتراك

link = get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
معلمات الوظيفة:
subscription_id
معرّف منتج الاشتراك. يمكن نسخ المعرّف من حساب بروداموس (معلمة إلزامية)
product_name
اسم المنتج. (معلمة إلزامية)
expired
مدة صلاحية رابط الدفع، بصيغة بصيغة dd.mm.yyyy (مثلًا 25.01.2021). كما يمكن في حقل "حاسبة" تحديد: expired = current_date + 2 (سيكون الرابط صالحًا لمدة يومين حتى 00:00). expired كما يمكن تحديد تاريخ مع وقت دقيق، بعد مسافة، بصيغة بصيغة dd.mm.yyyy hh:mm (مثل: 25.01.2021 12:23). كما يمكن استخدام المتغيرات القياسية، مثلًا لنحدد مدة صلاحية الرابط 30 دقيقة:
time = current_time + 30
expired = "#{current_date} #{time}"
لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة أو المزدوجة، أو القيمة None
customer_phone
رقم هاتف المشتري، غير إلزامي إذا تم تمرير المعلمة customer_email لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
customer_email
بريد المشتري الإلكتروني، غير إلزامي إذا تم تمرير المعلمة customer_phone لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
discount
قيمة الخصم. نمرر المعلمة كعدد أو عدد بنقطة: 25 أو 63.5 لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
description
وصف المنتج (إذا لم يُحدد يُملأ بـ 'دفع الفاتورة order_id') لتجاوز هذه المعلمة، مرّر بدلًا منها علامات اقتباس مفردة أو مزدوجة.
extra_params
معلمات إضافية غير موجودة في هذه الوظيفة.
يمكن الاطلاع على المعلمات الإضافية الممكنة عبر الرابط الموجود في توثيق العمل مع API لنظام الدفع https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov
مثال: extra_params = {"payments_limit": "3"}
لتجاوز هذه المعلمة، مرّر بدلًا منها زوجًا من علامات الاقتباس المفردة/ المزدوجة أو القيمة None.
products_for_receipt
سلسلة من 50 إلى 4000 حرف بصيغة "وصف الطلب - التكلفة - رابط المورد المراد شراؤه".
مثلًا:
"دورة 'صيد البِلم'، التكلفة 4999 روبل، رابط صفحة الدورة: https://www.lovilescha.ru/courses/poimai_kilogram/".
إلزاميإذا لم يكن لديك صندوق نقدي إلكتروني خاص بك، لجباية مدفوعات Prodamus.
extra_params = {"payments_limit": "3"}
products_for_receipt = "دورة 'صيد البِلم', تكلفة الاشتراك الشهري 2000 روبل, رابط صفحة الدورة: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_sub = get_prodamus_subscription_url(618988, 'دورة 'صيد البِلم''', '27.03.2023 17:02', '79167777771', '[email protected]', 20, 'أفضل دورة في السوق', extra_params, products_for_receipt)
إذا كان في البلوك عدة وظائف للحصول على الرابط وحدث خطأ، فستُسجَّل قيمة الخطأ في المتغير error_payment_func
سيُسجَّل الخطأ من آخر وظيفة في الحاسبة
كيفية إدارة حالة الاشتراك
تعمل الطريقة فقط على الاشتراكات الحقيقية، وفي الوضع التجريبي لا توجد ربط مع البطاقة
لإدارة الاشتراك يجب تمرير أحد المعلمات الإلزامية customer_phone أو customer_email.
لإتاحة إلغاء اشتراك المستخدم يجب إنشاء بلوك واستدعاء الوظيفة: 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 - معرّف الملف الشخصي في نظام بروداموس
نلفت الانتباه!
إذا وصل معرّف الملف الشخصي، فسيتم حفظ القيمة في المتغير profile_id.
يمكن تمرير profile_id إلى وظيفة delete_subscription_prodamus بدلًا من customer_phone أو customer_email لإلغاء الاشتراك.
مثال على إعداد بلوك الاشتراك:

انتبه إلى أن الوظيفة تُرجع status، والذي نحفظه ويمكننا معالجته حسب الرغبة، عند إلغاء التفعيل\التفعيل بنجاح status يساوي ok
دالة لإدارة الاشتراك
prodamus_subscription_switch_status(subscription_id, switcher, customer_phone, customer_email, profile_id)
id_subscription - معرّف منتج الاشتراك
switcher = 0 يعني إيقاف الاشتراك، وإذا مرّرت 1 فسيتم تفعيل الاشتراك مرة أخرى.
customer_phone - هاتف المشترك - غير إلزامي إذا تم تمرير customer_email
customer_email - بريد المشترك الإلكتروني - غير إلزامي إذا تم تمرير customer_phone
profile_id - معرّف الملف الشخصي في نظام بروداموس

مثال: تم تمرير المعلمة customer_phone, وتجاوز customer_email
stat = prodamus_subscription_switch_status('618117', '0', '75431312321')
مثال 2: تم تمرير المعلمة customer_email, وتجاوز customer_phone
stat = prodamus_subscription_switch_status('618117', '0', '', '[email protected]')
ستُرجع الوظيفة ok إذا تمت العملية بنجاح أو وصف الخطأ
إدارة الخصومات في الاشتراك
تحدد الوظيفة حجم الخصم على الدفعات اللاحقة للاشتراك. يمكن تطبيق الخصم على عدد محدود أو غير محدود من السحوبات.
prodamus_subscription_discount(subscription_id, discount, customer_phone, num, profile_id) حيث: subscription_id - معرّف الاشتراك discount - عدد عشري بدقة حتى رقمين بعد النقطة، ويجب أن تكون القيمة أكبر من الصفر وألا تتجاوز التكلفة الأساسية للاشتراك customer_phone - رقم هاتف العميل بصيغة: +79999999999 (معلمة اختيارية إذا كان هناك المتغير customer_email (يظهر بعد أول دفع، انظر الشرح أعلاه)) num - عدد الدفعات التي سيُطبق عليها الخصم (معلمة اختيارية، وإذا لم تُمرر فعدد الدفعات المخفضة غير محدود)
profile_id - معرّف الملف الشخصي في نظام بروداموس عند نجاح تنفيذ الطلب ستُرجع الوظيفة 'ok'، وإذا نُفِّذ الطلب مع خطأ فستُرجع الوظيفة وصفه.
يتم إعادة كتابة قيمة الخصم والفاصل الزمني فقط إذا تم استدعاء الدالة مرة أخرى بقيم جديدة!
أمثلة:
1. إعداد خصم على جميع المدفوعات التلقائية اللاحقة بقيمة 1 روبل (لا يتم تحديد رقم الهاتف، لأنه سيتم أخذه تلقائيًا من المتغير customer_phone، وعدد عمليات الخصم المخفّضة افتراضيًا - طوال فترة الاشتراك بالكامل)
r = prodamus_subscription_discount('624034', '1')
2. إعداد خصم 2 روبل على 3 عمليات خصم قادمة (تم استبدال رقم الهاتف بعلامتي اقتباس فارغتين، لأنه سيتم أخذه تلقائيًا من المتغير customer_phone)
r = prodamus_subscription_discount('624034', '2', '', '3')
3. مثال على إعداد خصم على شكل رقم ذي جزء كسري حتى جزء من مئة (الفاصل نقطة)، وتُكتب البيانات الرقمية بدون علامات اقتباس، ويُمرَّر رقم الهاتف عبر المتغير

r = prodamus_subscription_discount(#{prodamus_subscription}, 10.25, #{customer_phone}, 3)
كيفية تحديد تاريخ الدفعة التالية للاشتراك
باستخدام هذه الطريقة يمكن تحريك تاريخ الدفعة التالية للاشتراك. يمكن تحريك التاريخ فقط "إلى المستقبل" مقارنةً بتاريخ الدفعة التالية المحدد حاليًا. وبذلك يتم زيادة مدة البقاء في النادي.
على سبيل المثال، يمكن استخدامها كهدية إضافية للمشتركين.
لذلك يجب استخدام الدالة:
prodamus_subscription_payment_date(subscription_id, date, customer_phone, profile_id)
حيث:
subscription_id - معرّف الاشتراك date - التاريخ بصيغة dd.mm.yyyy hh:mm أو dd.mm.yyyy، عندها سيكون الوقت 00:00 customer_phone - غير إلزامي، إذا لم يتم تمريره فسيُسحب من المتغير customer_phone، وإذا لم يوجد هناك أيضًا فلن يعمل profile_id - معرّف الملف الشخصي في نظام بروداموس
كيفية تمرير المعلمات إلى بروداموس
لتمرير المعلمات التي تحتاجها إلى بروداموس (مثل تاريخ بدء الاشتراك، تعطيل التقسيط، إلخ)، أضف في بداية اسم المتغير prodamus_
عندها، أثناء إنشاء رابط الدفع، سيتم تمرير هذه المعلمات إلى نظام الدفع تلقائيًا.
كيفية اختبار الدفع
نختبر الدفع فقط!
حتى لا يتم خصم أموال من حسابك عند اختبار التكامل وإعداد مسارات الدفع، يمكنك استخدام البطاقات التجريبية
أولًا، حوّل صفحة الدفع الخاصة بك إلى وضع العرض التجريبي ⤵
لا تنسَ الضغط على زر "حفظ"

لإجراء دفعة تجريبية يمكنك استخدام الحسابات التجريبية
بطاقات سبيربنك التجريبية:
مير رقم البطاقة 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
! عند الدفع من الحسابات التجريبية ستعمل جميع مسارات الدفع والتكاملات المُعدّة كما لو كان الدفع عاديًا !
تم اختبار النموذج
لقبول المدفوعات بأموال حقيقية، يجب تحويل النموذج إلى وضع العمل. أي تحريك منزلق وضع العرض التجريبي إلى الموضع بحيث يصبح أحمر فاتحًا
Last updated
