كيفية إضافة Prodamus

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

يتم تقديم عنوان URL لنموذج الدفع بعد التسجيل، ومثاله: demo.payform.ru.

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

دليل كامل حول كيفية القيام بذلك

عنوان الإشعارات:
https://chatter.mavibot.ai/prodamus\_callback/result

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

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

يجب تحديد عنوان الإشعارات في مكانين في إعدادات نظام الدفع: في علامة التبويب «إعداد النموذج» — للمدفوعات لمرة واحدة (العادية) وفي علامة التبويب «الاشتراكات» — للمدفوعات عن طريق الاشتراك.

عنوان الإشعارات:
https://chatter.mavibot.ai/prodamus\_callback/result

لإعداد العمل مع المدفوعات عن طريق الاشتراك، انتقل إلى علامة التبويب «الاشتراكات» وحدد عنوان الإشعارات:

https://chatter.mavibot.ai/prodamus\_callback/result

انتبه! بعد إدخال عنوان URL، تأكد من النقر على زر «حفظ».

لإضافة Prodamus، يجب الانتقال إلى قسم «الاستحواذ».

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

مهم! عند تحديد عنوان URL لنموذج الدفع، لا تقم بإضافة https://.

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

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

زر مع وظيفة «دفع»

يمكن إنشاء رابط للدفع في زر مع وظيفة «دفع».

تم شرح كيفية إنشاء مثل هذا الزر في هذه المقالة.

الآن دعنا ننظر في جميع المعلمات الممكنة لهذا الزر.

المعلمات الإلزامية لزر «دفع» لـ Prodamus

لإنشاء رابط للدفع، يجب تحديد المعلمات الإلزامية في إعدادات الزر:
«المبلغ»، «اسم المنتج»، بالإضافة إلى معلمة «المحتوى المدفوع» — إذا لم يكن لديك ماكينة صراف آلي خاصة بك وتريد الحصول على إيصال من Prodamus.

عند الانتقال إلى صفحة الطلب، يتم عرض معلومات حول المنتج وسعره مسبقًا، ويقوم العميل فقط بإدخال بيانات الاتصال الخاصة به.

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

حقل «النص» – يتم عرض هذا النص في الرسالة على الزر الذي يحتوي على رابط الدفع.

حقل «الوظيفة» – لإنشاء زر يؤدي إلى رابط الدفع، نختار وظيفة «دفع».

حقل «نظام الدفع» – يتم عرض أنظمة الدفع المتصلة بالمشروع في القائمة.
إذا لم يتم توصيل أي نظام دفع بالمشروع، فلن يكون هذا النوع من الأزرار متاحًا.

حقل «اسم المنتج» (إلزامي) – يجب تحديد اسم دقيق للمنتج. على سبيل المثال: ليس «هاتف»، بل «هاتف Xiaomi، موديل …».
ملاحظة: لا يمكن استخدام علامات الاقتباس المزدوجة في اسم المنتج؛ قم بإزالتها أو استبدالها بعلامات اقتباس مفردة.

حقل «المبلغ» (إلزامي) – نحدد سعر المنتج.

قائمة «معلومات إضافية» – تفتح حقولًا إضافية لإنشاء رابط عند النقر على هذا الزر:

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

خانة الاختيار «إعلام عند النقر» – يمكن تحديدها لتتبع الانتقال إلى رابط الدفع. في هذه الحالة، عند النقر على الزر، ستصل رسالة إلى حوار العميل في Salebot تفيد بأنه تم الانتقال إلى الرابط.

يمكن تكوين منطق العمل الإضافي للبوت بناءً على هذه الرسالة.
تدعم العديد من أنظمة الدفع ماكينات الصراف الآلي السحابية، المطلوبة وفقًا لمتطلبات 54-FZ.

اقرأ ميزات إعداد الإيصالات على موقع نظام الدفع المحدد، لتجنب المشاكل مع مفتشية الضرائب.

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

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

حقل «وصف الطلب» – يتم عرض المعلومات المدخلة في هذا الحقل في حقل بيانات إضافية على صفحة الدفع.

حقل «الخصم» – هنا يمكنك تحديد مبلغ الخصم بالروبل أو بالروبل والكوبيك. للتعيين بالكوبيك، استخدم النقطة كفاصل: 50.99
على صفحة الدفع، في حقل المبلغ المستحق، يتم عرض الخصم مع مراعاته، بينما يتم شطب سعر المنتج الأساسي.

حقل «متغير البريد الإلكتروني للمشتري» (اختياري، إذا تم تقديم رقم الهاتف) – هنا يتم تحديد البريد الإلكتروني للمستخدم (العميل). يمكن أيضًا استخدام متغير يتم فيه تخزين البريد الإلكتروني، على سبيل المثال: #{email}

حقل «متغير رقم هاتف المشتري» (اختياري، إذا تم تقديم البريد الإلكتروني) – هنا يمكنك استخدام متغير يتم فيه تخزين رقم هاتف المشتري، بالتنسيق: 79000000000، على سبيل المثال: #{phone}
يجب أن يكون البريد الإلكتروني و/أو الهاتف موجودين إلزاميًا.

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

حقل «معرف المنتج للاشتراك» – لإجراء الدفع التلقائي، قم بتقديم قيمة معرف المنتج. لإنشاء اشتراك، يجب إنشاء منتج اشتراك.
الدليل الكامل: إنشاء وتهيئة اشتراكات Prodamus
إذا تم تقديم معرف المنتج للاشتراك، فلن يتم أخذ مبلغ الدفع في الاعتبار. يتم أخذ معلومات المنتج من بطاقة المنتج في لوحة تحكم Prodamus.
سيكون رقم الهاتف المحدد في الدفع ضروريًا لإدارة الاشتراك.
إذا تم تقديم معرف المنتج للاشتراك، فسيتم تقديم معرف هذا المنتج في رد الاتصال عند نجاح الدفع.

حقل «المحتوى المدفوع» (إلزامي مشروط) – هذه البيانات ضرورية لفرض الضرائب على الدفع عبر Prodamus، إذا لم يكن لديك ماكينة صراف آلي خاصة بك. في هذا الحقل، يتم تحديد وصف الشراء والسعر ورابط المحتوى.
على سبيل المثال: دورة ‘تضفير الضفائر’، السعر 3000 روبل، رابط صفحة الدورة: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911

زر مع وظيفة «دفع»

إذا قمت بتحديد مدة صلاحية الرابط، فسيحدث ما يلي:
إذا طلب المستخدم رابط الدفع خلال فترة صلاحيته (أي أن وقت الرابط لم ينته بعد) وكان موجودًا في الحوار، فلن يكون من الممكن إجراء الدفع، وسيتم عرض الرسالة التالية له:

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

2. عندما يطلب المستخدم الرابط، إذا لم يكن نشطًا حاليًا
في هذه الحالة، لن يظهر الزر ببساطة. في متغيرات العميل، سيظهر متغير "error_payment_button"، وستكون قيمته كما يلي:
&#xNAN;"خطأ: يجب أن تكون مدة صلاحية الرابط بعد التاريخ الحالي".

لكي يتمكن المستخدم من إجراء الدفع بشكل صحيح، يُوصى بمعالجة إضافية لمثل هذه الحالة.

قم بإنشاء كتلة شرطية مثل:
إذا وصلت الرسالة التالية:
error_payment_button == "خطأ: يجب أن تكون مدة صلاحية الرابط بعد التاريخ الحالي"

فعندئذ اعرض النص التالي:
&#xNAN;"عذرًا، لم تتمكن من الدفع في الوقت المحدد، أصبح رابط الدفع غير صالح".

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

في اللحظة التي يتلقى فيها المستخدم كتلة تحتوي على زر «دفع»، يتم إنشاء متغيرات تلقائيًا للعميل:

متغير العميل الخدمي __payments – يخزن هذا المتغير المبلغ ومعرف الرابط الذي تم إنشاؤه وهو ضروري لتحديد الخطاف القادم من نظام الدفع.

لا يمكن حذف أو تغيير متغير العميل الخدمي __payments!

متغير العميل error_payment_button يتم إنشاؤه تلقائيًا في حالة حدوث خطأ عند إنشاء الزر.
يتم كتابة نص الخطأ أو استجابة الخطأ من نظام الدفع في هذا المتغير.

تصبح قيم المتغيرات سارية عند الانتقال إلى الكتلة التالية.

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

الدفع الناجح
بعد إجراء الدفع بنجاح، يصل رد اتصال تلقائيًا إلى البوت، يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _success ومبلغ الدفع.
لاستخدامه في إعداد المخطط، يكفي نسخه.

على سبيل المثال: ovg58keefc_success 44، حيث:

  • ovg58keefc – أول 10 أحرف من المفتاح السري لنظام الدفع
  • _success – نتيجة معالجة الطلب (دفع ناجح)
  • 44 – مبلغ الدفع

لا يرى المستخدم ردود الاتصال (الرسائل) القادمة من نظام الدفع. يتم عرضها فقط في علامة التبويب «العملاء» وتكون مرئية للمشغل.

مثال على الاستخدام:
الخطوة 1. نضيف أزرارًا بوظيفة «دفع» إلى الكتلة «مع زر الدفع».
الخطوة 2. في حقل شرط الاتصال الذي ينتقل من هذه الكتلة إلى كتلة «الدفع الناجح»، نحدد رد الاتصال.
وبالمثل، إذا تم تحديد رد اتصال الدفع الناجح في شرط كتلة «الشرط الأولي»، فسيتم العمل بشكل مماثل.

مهم: اختر «مطابقة تامة» أو «بناءً على وجود الكلمات الرئيسية».

❗️إذا قررت التحقق من الدفع بدقة وفقًا للشرط المحدد في السهم، ففكر جيدًا في منطق مخططك. إذا غادر العميل الكتلة التي يمر بها وفقًا لشرط رد الاتصال، فلن يحدث الانتقال إلى الكتلة. من الأفضل استخدام طريقة التحقق هذه فقط إذا لم يغير العميل موقعه في القمع.

في المخططات التي يتحرك فيها العميل بين الكتل، يكون استخدام خيار تحديد رد الاتصال في كتلة «الشرط الأولي» أكثر فعالية.

الدفع الناجح للمنتجات ذات الاشتراك التلقائي

بعد إجراء الدفع بنجاح، يصل رد اتصال تلقائيًا إلى البوت، يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _success ومعرف منتج الاشتراك.

على سبيل المثال: 214009eefc_success 618117، حيث:

  • 009eefc – أول 10 أحرف من المفتاح السري لنظام الدفع
  • _success – نتيجة معالجة الطلب (دفع ناجح)
  • 618117 – معرف منتج الاشتراك

الدفع الخاطئ
في حالة حدوث خطأ في إجراء الدفع، يصل رد اتصال تلقائيًا إلى البوت، يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _fail ومبلغ الدفع.

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

  • ovg58keefc – أول 10 أحرف من المفتاح السري لنظام الدفع
  • _fail – نتيجة معالجة الطلب (لم يتم تنفيذ الدفع أو حدث خطأ)
  • 44 – مبلغ الدفع

هذا يعتمد على نظام الدفع. لا ترسل جميع أنظمة الدفع رد اتصال حول خطأ الدفع.

إذا كان المبلغ المحدد في إعدادات الزر يختلف عن المبلغ الذي دفعه العميل، يصل رد اتصال تلقائيًا إلى البوت. يتكون من أول 10 أحرف من المفتاح السري لنظام الدفع، وكلمة _different_amounts ومعرف الدفع الفريد.

Мысалы: ovg58keefc_different_amounts 123456, мұндағы:

  • ovg58keefc – төлем жүйесінің құпия кілтінің алғашқы 10 символы
  • _different_amounts – сұраныстың өңделу нәтижесі (төлем сомасы сілтемедегі сомадан өзгеше)
  • 123456 – төлемнің бірегей ID-сі

Калькулятордағы get_prodamus_payment_url функциясы

Төлемге сілтеме жасау үшін Калькулятор блокындағы get_prodamus_payment_url функциясын пайдалануға болады.
Калькулятор өрісінде айнымалыға осы функцияның мәнін тағайындаймыз: get_prodamus_payment_url.

Айнымалының атын өзіңіз таңдайсыз. Скриншоттарда айнымалылардың атын беру мысалдары көрсетілген.

Осы айнымалыға төлемге арналған сілтеме жазылады. Айнымалыны хабарламада сілтеме ретінде көрсетуге немесе «Төлеу» мәтіні бар батырмаға орналастыруға болады.

Төлемге сілтеме мысалы: https://payform.kz/7p3JR8/

Калькулятор

Мысал 1:

Параметрлердің сипаттамасы

your_variable =`` 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

Төлем сілтемесінің жарамдылық уақытыдд.мм.гггг форматында (мысалы, 25.01.2021).
Сонымен қатар, Калькулятор өрісінде былай көрсетуге болады:
expired = current_date + 2 (сілтеме 2 күн бойы 00:00-ге дейін жарамды болады).

Нақты уақытты көрсету де мүмкін: дд.мм.гггг чч:мм (мысалы, 25.01.2021 12:23).

Стандартты айнымалыларды да қолдануға болады, мысалы, сілтеменің жарамдылығын 30 минутқа орнату:

time = current_time + 30
expired = "#{current_date} #{time}"

Егер бұл параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша, қос тырнақша немесе None мәнін беруге болады.

customer_phone Сатып алушының телефон нөмірі – міндетті емес, егер customer_email параметрі берілсе.
Осы параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
customer_email Сатып алушының Email мекенжайы – міндетті емес, егер customer_phone параметрі берілсе.
Осы параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
discount Жеңілдік мөлшері – параметрді бүтін сан немесе нүктесі бар сан ретінде беруге болады: 25 немесе 63.5.
Бұл параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
description Тауар сипаттамасы (егер көрсетілмесе, автоматты түрде 'Оплата счета order_id' толтырылады).
Осы параметрді өткізіп жібергіңіз келсе, орнына бір тырнақша немесе қос тырнақша беруге болады.
extra_params

Қосымша параметрлер, осы функцияда жоқ параметрлер.
Қолжетімді қосымша параметрлерді төлем жүйесінің API-мен жұмыс істеу құжаттамасынан қарауға болады: Prodamus REST API

Мысалы:

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

Бұл мысалда:

  • extra_params – қосымша параметрлер (мысалы, төлем шегі).
  • products_for_receipt – чекте көрсетілетін тауар туралы ақпарат.
  • get_prodamus_payment_url функциясы арқылы төлемге сілтеме жасалады.

Егер блокта бірнеше сілтеме алу функциялары болса және қате жіберілсе, қате мәні 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 Сатып алушының Email мекенжайы
link_expired

Төлем сілтемесінің жарамдылық уақытыдд.мм.гггг форматында (мысалы, 25.01.2021).
Сонымен қатар, Калькулятор өрісінде былай көрсетуге болады:
link_expired = current_date + 2 (сілтеме 2 күн бойы 00:00-ге дейін жарамды болады).

link_expired

Сонымен қатар, нақты уақытты көрсетуге болады, формат: дд.мм.гггг чч:мм (мысалы, 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 – MaviBot-тағы тапсырыс идентификаторы).

payment_description Төлемнің қысқаша сипаттамасы (127 символға дейін)
locale

Төлем бетінің тіліen-US, fr-XC және т.б. форматта көрсетіледі. Әдепкі мән – ru-RU.
Толық тізімді мына сілтемеден қарауға болады

products_for_receipt

50-тен 4000 символға дейінгі жол форматында "тапсырыс сипаттамасы - баға - сатып алынатын ресурсқа сілтеме".
Мысалы:
“Курс ‘Лещ аулау’, бағасы 4999 теңге, курс бетіне сілтеме: https://www.lovilescha.ru/courses/poimai_kilogram/"

Бұл міндетті параметр, егер сізде өзіңіздің онлайн кассаңыз болмаса, Prodamus арқылы төлемді фискализациялау үшін қажет.

payment_sum (міндетті) төлем сомасы

discount_value, customer_phone, customer_email و link_expired متغيرات ذات صلة أيضًا بالاشتراكات.

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

في الخطوة التالية، نعرض رابط prodamus_pay_url في المكان المطلوب:

يتم تعريف المتغير prodamus_available_payment_methods قبل الإعلان عن payment_sum.
القيم الممكنة:

AC الدفع ببطاقة صادرة في روسيا
ACkz الدفع ببطاقة كازاخستانية
ACf الدفع ببطاقات دول رابطة الدول المستقلة، باستثناء روسيا
ACEURNMBX الدفع ببطاقة EUR من جميع الدول، باستثناء روسيا وبيلاروسيا
SBP الدفع السريع، دون إدخال بيانات البطاقة. للبطاقات الروسية
QW Qiwi wallet
PC YooMoney
GP محطة دفع
sbol سبيربنك أونلاين
invoice الدفع عن طريق الفاتورة
installment التقسيط عبر Prodamus
installment_5_21 التقسيط عبر Prodamus لمدة 3 أشهر
installment_6_28 التقسيط عبر Prodamus لمدة 6 أشهر
installment_10_28 التقسيط عبر Prodamus لمدة 10 أشهر
installment_12_28 التقسيط عبر Prodamus لمدة 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 التقسيط عبر سبيربنك لمدة 6 أشهر
sbrf_installment_0_0_10 التقسيط عبر سبيربنك لمدة 10 أشهر
sbrf_installment_0_0_12 التقسيط عبر سبيربنك لمدة 12 شهرًا
sbrf_installment_0_0_24 التقسيط عبر سبيربنك لمدة 24 شهرًا
sbrf_installment_0_0_36 التقسيط عبر سبيربنك لمدة 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 الدفع المؤجل عبر سبير

يُسمح بفصل عدة قيم بخط عمودي.
مثال:

prodamus_available_payment_methods = "AC|PC|QW"

prodamus_currency – هذه معلمة إضافية أخرى تسمح بعرض المبلغ بعملة معينة.

العملات الممكنة:

  • kzt – للتنغي
  • eur – لليورو
  • usd – للدولار

وبالتالي، سيكون المبلغ المشار إليه في الرابط بالعملة المختارة.

عند استلام رد الاتصال payment_callback يجب الانتباه إلى المعلمتين currency و currency_sum، حيث يتم تحديد العملة والمبلغ.

إذا لم يتم تحديدها، فسيتم الانتقال إلى صفحة بدون طرق دفع.
يمكن إضافة طرق الدفع عبر الدعم. يمكن اختبار الطرق المضافة من إعدادات الصفحة أو عن طريق إنشاء رابط للدفع.

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

الدفع الناجح

هام: بعد الدفع الناجح أو الفاشل، تصل ردود اتصال (callbacks) إلى البوت، والتي يمكنك من خلالها تحديد ما إذا كان الدفع قد تم بنجاح.

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

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success

أو

453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail

بعد الدفع الناجح، يأخذ المتغير prodamus_payment_completed القيمة True تلقائيًا.

ملاحظة: تصل ردود الاتصال مع تأخير بسيط، لذا يُنصح بإرسال رسالة للمستخدم بعد إرسال الرابط:

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


هيكل رد الاتصال

بالنسبة للروابط التي تم إنشاؤها عبر زر الدفع أو وظيفة في الآلة الحاسبة، يصل رد اتصال تلقائيًا إلى البوت بعد الدفع. يتكون من:

<مفتاح_سري>_success <مبلغ_الدفع>

مثال:

ovg58keefc_success
  • ovg58keefc – المفتاح السري الكامل لنظام الدفع
  • _success – نتيجة معالجة الطلب (دفع ناجح)

التطبيق العملي

يمكن معالجة الدفع الناجح عبر كتلة شرطية وعرض الرسالة المناسبة للمستخدم.

يجب أن يكون نوع المقارنة "Full match" / "مطابقة تامة"

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

إلغاء تنشيط/إعادة تنشيط الاشتراك

بالإضافة إلى ذلك، توجد إشعارات في نظام Prodamus حول تفعيل أو إيقاف الاشتراك:

"المشترك ألغى الاشتراك" – إذا تم إيقاف الاشتراك يدويًا (على سبيل المثال، في حالة إلغاء الاشتراك).
قد يصل هذا الإشعار قبل انتهاء الفترة المدفوعة الحالية. يعتمد الإجراء على قرارك: تجاهل، مراقبة، أو محاولة إعادة المستخدم.

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

"إلغاء تنشيط الاشتراك" – في حالة إيقاف الاشتراك بعد عدة محاولات دفع فاشلة.

حفظ القيم من رد الاتصال

بعد وصول رسالة الدفع الناجح، يتم كتابة رد الاتصال من Prodamus إلى المتغير 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. عندها، عند وصول رد الاتصال، يمكن الحصول عليها كالتالي:

product = get(payment_callback,'products[0][name]')
description = get(payment_callback,'customer_extra')

انتبه: يتم تعيين القيمة الأخيرة للمتغير payment_sum، والتي تقع بعد المتغيرات الاختيارية: payment_description، product_name.

يمكن الحصول على المبلغ كالتالي:

summa = get(payment_callback, 'sum')

ردود الاتصال المتاحة

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

ردود الاتصال
  • المشترك ألغى الاشتراك (مزيد من التفاصيل هنا)
  • المشترك أعاد تنشيط الاشتراك (مزيد من التفاصيل هنا)
  • تم إنهاء الاشتراك
  • دفع غير ناجح - ملاحظة مع توضيح (في لقطة الشاشة أعلاه)
  • إشعار بالخصم القادم - تاريخ ووقت الخصم القادم
  • طلب تقسيط مع الحالة
أمثلة على ردود الاتصال في حوار مع العميل
  • المشترك ألغى الاشتراك
  • المشترك أعاد تنشيط الاشتراك
  • تم إنهاء الاشتراك
  • دفع غير ناجح - رصيد غير كاف.
  • دفع غير ناجح - انتهت صلاحية البطاقة.
  • دفع غير ناجح - تجاوز الحد المسموح به للبطاقة.
  • دفع غير ناجح - البطاقة مفقودة
  • دفع غير ناجح - خطأ في النظام
  • دفع غير ناجح - تم رفض العملية. يرجى الاتصال بالبنك المصدر للبطاقة.
  • دفع غير ناجح - رفض إجراء العملية من قبل البنك المصدر.
  • دفع غير ناجح - رفض إجراء العملية من قبل البنك.
  • إشعار بالخصم القادم - dd.mm.yyyy hh:mm
  • تمت الموافقة على طلب التقسيط
  • تم إلغاء طلب التقسيط
  • تم رفض طلب التقسيط

يمكنك، حسب رغبتك، ضبط إرسال أي رسالة إلى المستخدم. على سبيل المثال، إرسال رسالة في حالة فشل الدفع التلقائي.

يمكن ضبط كتل الرد على رسالة الفشل بسبب محدد على النحو التالي:

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

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

كيفية إجراء الدفع عن طريق الاشتراك

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

لإنشاء اشتراك، يجب أولاً إنشاء منتج اشتراك.
الدليل الكامل: كيفية إنشاء وتهيئة اشتراك

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

إنشاء منتج اشتراك

لإنشاء رابط دفع الاشتراك، يجب تعيين معرّف منتج الاشتراك للمتغير prodamus_subscription. بعد ذلك، سيظهر المتغير prodamus_pay_url تلقائيًا.

يمكن عرض المتغير prodamus_pay_url على الشاشة كرابط أو وضعه في زر نصه "ادفع". مثال على الرابط: https://payform.kz/7p3JR8/

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

بعد الاشتراك الناجح، سيتم إضافة المتغير customer_phone الذي أدخله المستخدم أثناء الدفع. رقم الهاتف ضروري لإدارة الاشتراك.

إذا لم يتم تقديم customer_email، فإن customer_phone إلزامي لإدارة الاشتراك.

كيفية إنشاء رابط للاشتراك باستخدام الدالة get_prodamus_subscription_url

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

  1. يتم إنشاء منتج اشتراك في لوحة تحكم Prodamus.
    يمكن الاطلاع على الدليل الكامل من خلال الرابط التالي:
    كيفية إنشاء وتهيئة اشتراك
  2. ثم نقوم بنسخ معرّف منتج الاشتراك. على سبيل المثال، موضح أدناه من أين نحصل عليه:
إنشاء منتج اشتراك

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

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 معرّف منتج الاشتراك – يمكن نسخه من لوحة تحكم Prodamus (معامل إلزامي).
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 لنظام الدفع:
دليل Prodamus REST API

مثال:

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 بشكل إلزامي.

لإلغاء اشتراك المستخدم، يجب إنشاء كتلة واستدعاء الدالة التالية:
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 – معرّف الملف الشخصي في نظام Prodamus

ملاحظة:
إذا تم استلام معرّف الملف الشخصي، فسيتم حفظه في المتغير profile_id.
يمكن تمرير profile_id إلى الدالة بدلاً من customer_phone أو customer_email لإيقاف الاشتراك.

مثال: تهيئة كتل الاشتراك

لاحظ أن الدالة تُرجع status، يمكنك حفظه ومعالجته حسب رغبتك. عند إيقاف الاشتراك أو إعادة تنشيطه بنجاح، سيكون status = ok.

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

prodamus_subscription_switch_status(subscription_id, switcher, customer_phone, customer_email, profile_id) معاملاتها:

subscription_id – معرّف منتج الاشتراك

switcher – إدارة الاشتراك: 0 – إيقاف الاشتراك، 1 – إعادة تنشيط الاشتراك

customer_phone – هاتف مالك الاشتراك؛ اختياري، إذا تم تحديد customer_email

customer_email – عنوان البريد الإلكتروني لمالك الاشتراك؛ اختياري، إذا تم تحديد customer_phone

profile_id – معرّف الملف الشخصي في نظام Prodamus

مثال 1: تم تقديم المعامل 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 – معرّف الملف الشخصي في نظام Prodamus

إذا تم تنفيذ الطلب بنجاح، تُرجع الدالة 'ok'؛ في حالة حدوث خطأ، تُرجع الدالة وصف الخطأ.

يتم إعادة كتابة مبلغ الخصم والفاصل الزمني فقط عند استدعاء الدالة مرة أخرى بقيم جديدة!

أمثلة:

1. منح خصم قدره 1₽ على جميع الدفعات التلقائية التالية (لا يتم تحديد رقم الهاتف لأنه مأخوذ تلقائيًا من المتغير customer_phone؛ يتم تطبيق مبلغ الخصم افتراضيًا على كامل مدة الاشتراك):

r = prodamus_subscription_discount('624034', '1')

2. مثال على منح خصم قدره 2₽ على الدفعات الثلاث التالية (تم تمرير رقم الهاتف بعلامات اقتباس فارغة لأنه مأخوذ تلقائيًا من المتغير 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؛ إذا تم تقديم dd.mm.yyyy فقط، فسيكون الوقت 00:00
  • customer_phone – اختياري؛ إذا لم يتم تحديده، يتم أخذه من المتغير customer_phone؛ إذا لم يتم العثور عليه، لن تعمل الدالة
  • profile_id – معرف الملف الشخصي في نظام Prodamus

كيفية إرسال المعلمات إلى Prodamus

لإرسال المعلمات المطلوبة (مثل تاريخ بدء الاشتراك، تعطيل الدفع بالتقسيط، إلخ) إلى نظام Prodamus، أضف البادئة prodamus_ إلى اسم المتغير.

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

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

نقوم فقط باختبار الدفع!

عند إعداد التكامل وقنوات الدفع، يمكنك استخدام بطاقات الاختبار لتجنب خصم الأموال من حسابك.

أولاً، قم بتحويل صفحة الدفع الخاصة بك إلى وضع DEMO
لا تنس الضغط على زر "حفظ".

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

بطاقات اختبار سبيربنك:

МИР
رقم البطاقة: 2202 2050 0001 2424
تاريخ الصلاحية: 05/35
رمز التحقق الخلفي (CVV): 669

MasterCard
رقم البطاقة: 5469 9801 0004 8525
تاريخ الصلاحية: 05/26
رمز التحقق الخلفي (CVV): 041
رمز التحقق 3‑D Secure: 111111

Visa
رقم البطاقة: 4006 8009 0096 2514
تاريخ الصلاحية: 05/26
رمز التحقق الخلفي (CVV): 941
رمز التحقق 3‑D Secure: 111111

❗️عند الدفع باستخدام حسابات الاختبار، تعمل جميع قنوات الدفع والتكاملات المكونة كما في الدفع العادي❗️

تم التحقق من النموذج

لقبول المدفوعات الحقيقية، يجب تحويل النموذج إلى وضع التشغيل. أي، يجب ضبط مفتاح وضع الديمو على الحالة الحمراء المفتوحة.