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

تعليمات مفصلة حول كيفية تكوين ذلك
رابط الإشعار:
https://chatter.mavibot.ai/prodamus_callback/result
يجب تحديد هذا الرابط في مكانين في الإعدادات.
في صفحة الإعدادات الرئيسية، يمكنك تحديد وضع تشغيل نموذج الدفع:
- وضع تجريبي بدون مدفوعات حقيقية
- وضع مباشر لقبول المدفوعات

يجب تحديد رابط الإشعار في قسمين من إعدادات نظام الدفع:
- في علامة التبويب إعدادات النموذج للمدفوعات لمرة واحدة
- في علامة التبويب الاشتراكات لمدفوعات الاشتراك

رابط الإشعار:
https://chatter.mavibot.ai/prodamus_callback/result
لتكوين مدفوعات الاشتراك، افتح علامة التبويب الاشتراكات وأدخل رابط الإشعار:
https://chatter.mavibot.ai/prodamus_callback/result

هام: بعد إدخال الرابط، تأكد من النقر على حفظ.
للاتصال بـ Prodamus في Mavibot، افتح قسم الاستحواذ.

ثم أدخل رابط نموذج الدفع والمفتاح السري في الحقول المقابلة.

هام: لا تقم بتضمين
https://عند إدخال رابط نموذج الدفع.
اكتمل الاتصال الآن. بعد ذلك، دعنا نلقي نظرة على كيفية استخدام هذه الوظيفة.
إنشاء رابط دفع
زر الدفع
يمكن إنشاء رابط دفع باستخدام زر مع وظيفة الدفع.
راجع الدليل حول إنشاء زر دفع:
/docs/chatbot-builder-buttons-payment-button
تصف الأقسام أدناه جميع إعدادات الزر المتاحة.
المعلمات المطلوبة
لإنشاء رابط دفع، الحقول التالية مطلوبة:
- المبلغ
- اسم المنتج
- منتجات الإيصال (مطلوب فقط إذا لم يكن لديك سجل نقدي خاص بك وتريد أن يقوم Prodamus بإنشاء إيصالات ضريبية)
عندما يفتح العميل صفحة الدفع، تكون معلومات المنتج والسعر معبأة بالفعل. يحتاج العميل فقط إلى إدخال بيانات الاتصال الخاصة به.
إذا تم تحديد البريد الإلكتروني و/أو رقم هاتف العميل في إعدادات الزر، فسيتم أيضًا تعبئتها مسبقًا في صفحة الدفع.

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

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

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

وصف الطلب – يتم عرض النص الذي تم إدخاله في هذا الحقل على صفحة الدفع في قسم معلومات إضافية.
الخصم – حدد مبلغ الخصم بالروبل. يتم دعم القيم العشرية باستخدام النقطة كفاصل (على سبيل المثال، 50.99).
على صفحة الدفع، يتم تطبيق الخصم تلقائيًا. يتم شطب السعر الأصلي، ويتم عرض المبلغ المخفض كإجمالي الدفع.
متغير البريد الإلكتروني للعميل (اختياري إذا تم توفير رقم هاتف) – عنوان البريد الإلكتروني للعميل أو متغير يحتوي عليه، على سبيل المثال:
#{email}
متغير هاتف العميل (اختياري إذا تم توفير عنوان بريد إلكتروني) – متغير يحتوي على رقم هاتف العميل بالتنسيق:
79000000000
على سبيل المثال:
#{phone}
يجب توفير عنوان بريد إلكتروني أو رقم هاتف.
تاريخ انتهاء صلاحية الرابط – حدد تاريخ انتهاء الصلاحية بالتنسيق:
dd.MM.yyyy HH:mm
مثال:
25.01.2021 11:00
يمكنك أيضًا استخدام متغير، على سبيل المثال:
#{link_expired}
معرف منتج الاشتراك – أدخل معرف منتج الاشتراك لإنشاء دفعة متكررة.
للحصول على معلومات حول إنشاء منتجات الاشتراك، راجع وثائق Prodamus.
إذا تم تحديد معرف منتج الاشتراك:
- يتم تجاهل مبلغ الدفع؛
- يتم تحميل معلومات المنتج من منتج الاشتراك في Prodamus؛
- رقم هاتف العميل مطلوب لإدارة الاشتراك؛
- يحتوي رد الاتصال على معرف منتج الاشتراك بعد الدفع الناجح.
منتجات الإيصال (مطلوب بشروط) – مطلوب لتحصيل الدفع عبر Prodamus إذا كنت لا تستخدم سجلك النقدي الخاص.
حدد وصف المنتج وسعره ورابطًا للمحتوى الذي تم شراؤه.
مثال:
دورة "التصوير الفوتوغرافي المتقدم"، السعر 3000 روبل،
https://example.com/course
سلوك انتهاء صلاحية الرابط
إذا قمت بتحديد تاريخ انتهاء صلاحية الرابط، فإن زر الدفع يتصرف بشكل مختلف اعتمادًا على ما إذا كان الرابط لا يزال صالحًا.
الرابط منتهي الصلاحية
إذا فتح العميل رابط الدفع بعد انتهاء صلاحيته، فلا يمكن إتمام الدفع، وسيرى الرسالة التالية:

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


متغيرات العميل التي تم إنشاؤها بواسطة زر الدفع
عندما يتلقى العميل رسالة تحتوي على زر الدفع، يقوم Mavibot تلقائيًا بإنشاء المتغيرات التالية.
__payments
متغير نظام يخزن مبلغ الدفع ومعرف رابط الدفع الذي تم إنشاؤه. يتم استخدامه لمطابقة ردود الاتصال المستلمة من نظام الدفع.
هام: لا تقم بتعديل أو حذف متغير النظام
__payments.
error_payment_button
يتم إنشاء هذا المتغير تلقائيًا في حالة حدوث خطأ أثناء إنشاء زر الدفع.
يحتوي إما على رسالة الخطأ التي تم إنشاؤها بواسطة Mavibot أو الخطأ الذي تم إرجاعه بواسطة نظام الدفع.
تصبح قيم المتغير متاحة بعد أن ينتقل الروبوت إلى الكتلة التالية.
معالجة نتائج الدفع
الدفع الناجح
بعد الدفع الناجح، يتلقى Mavibot تلقائيًا رد الاتصال التالي:
<first_10_characters_of_secret_key>_success <payment_amount>
مثال:
ovg58keefc_success 44
حيث:
-
ovg58keefc— الأحرف العشرة الأولى من المفتاح السري لـ Prodamus. -
_success— يشير إلى دفع ناجح. -
44— مبلغ الدفع.
لا يرى العملاء أبدًا ردود اتصال الدفع. تكون مرئية فقط في قسم العملاء ويمكن استخدامها لبناء منطق الروبوت.
مثال
الخطوة 1
أنشئ كتلة تحتوي على زر الدفع.
الخطوة 2
أنشئ كتلة مشغل أو قم بتكوين سهم يؤدي إلى الكتلة التالية.
الصق رد اتصال الدفع في المشغل أو شرط المطابقة.
يمكن أيضًا تكوين نفس رد الاتصال في كتلة الشرط الأولي إذا كان الروبوت الخاص بك يتطلب معالجة دفع عالمية.
هام: استخدم إما مطابقة تامة أو يحتوي على كلمات رئيسية كنوع المطابقة.
ملاحظة: إذا قمت بمعالجة ردود الاتصال على سهم معين، فتأكد من أن العميل لا يزال في الكتلة التي تحتوي على ذلك السهم عند وصول رد الاتصال. وإلا، فلن يحدث الانتقال. بالنسبة لتدفقات الروبوت حيث يمكن للعملاء التنقل بين الكتل، يوصى بمعالجة ردود الاتصال في كتلة الشرط الأولي بدلاً من ذلك.

دفع الاشتراك الناجح
بالنسبة لمنتجات الاشتراك، يكون تنسيق رد الاتصال:
<first_10_characters_of_secret_key>_success <subscription_product_id>
مثال:
214009eefc_success 618117
حيث:
-
214009eefc— الأحرف العشرة الأولى من المفتاح السري. -
_success— دفع ناجح. -
618117— معرف منتج الاشتراك.

الدفع الفاشل
إذا فشل الدفع، يتلقى Mavibot رد الاتصال التالي:
<first_10_characters_of_secret_key>_fail <payment_amount>
مثال:
ovg58keefc_fail 44
حيث:
-
ovg58keefc— الأحرف العشرة الأولى من المفتاح السري. -
_fail— فشل الدفع. -
44— مبلغ الدفع.
ملاحظة: لا ترسل جميع موفري الدفع ردود اتصال للمدفوعات الفاشلة.
عدم تطابق مبلغ الدفع
إذا كان المبلغ المدفوع يختلف عن المبلغ المحدد في زر الدفع، يتلقى Mavibot رد الاتصال التالي:
<first_10_characters_of_secret_key>_different_amounts <payment_id>
مثال:
ovg58keefc_different_amounts 123456
حيث:
-
ovg58keefc— الأحرف العشرة الأولى من المفتاح السري. -
_different_amounts— يشير إلى أن المبلغ المدفوع يختلف عن المبلغ المتوقع. -
123456— معرف الدفع الفريد.
وظيفة الحاسبة get_prodamus_payment_url
يمكنك إنشاء رابط دفع باستخدام وظيفة get_prodamus_payment_url في كتلة الحاسبة.
قم بتعيين نتيجة الوظيفة لأي متغير.
يمكنك اختيار أي اسم متغير. تستخدم لقطات الشاشة أدناه أسماء متغيرات نموذجية.
يتم تخزين رابط الدفع الذي تم إنشاؤه في المتغير ويمكن استخدامه في رسالة أو إرفاقه بزر.
مثال على رابط الدفع:
https://payform.ru/7p3JR8/
مثال

صيغة الدالة
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 |
تاريخ انتهاء صلاحية رابط الدفع. الصيغ المدعومة: dd.MM.yyyy أو dd.MM.yyyy HH:mm. يمكنك أيضًا استخدام المتغيرات أو التعبيرات مثل current_date + 2. مرر '' أو "" أو None لتخطي هذا المعامل. |
customer_phone |
رقم هاتف العميل. اختياري إذا تم توفير customer_email. مرر '' أو "" لتخطي. |
customer_email |
عنوان البريد الإلكتروني للعميل. اختياري إذا تم توفير customer_phone. مرر '' أو "" لتخطي. |
discount |
مبلغ الخصم. يقبل الأعداد الصحيحة أو القيم العشرية (على سبيل المثال، 25 أو 63.5). مرر '' أو "" لتخطي. |
description |
وصف المنتج. إذا تم حذفه، يستخدم Prodamus تلقائيًا Payment for order order_id. مرر '' أو "" لتخطي. |
extra_params |
معاملات إضافية لواجهة برمجة تطبيقات Prodamus غير مضمنة في وسيطات الدالة. مرر '' أو "" أو None لتخطي. |
products_for_receipt |
بيانات الإيصال بالتنسيق "وصف المنتج - السعر - عنوان URL للمحتوى المشترى". مطلوب إذا كنت تستخدم رقمنة Prodamus بدون سجل نقدي خاص بك عبر الإنترنت. |
أمثلة على تاريخ انتهاء الصلاحية
تنتهي الصلاحية بعد يومين:
expired = current_date + 2
تنتهي الصلاحية بعد 30 دقيقة:
time = current_time + 30
expired = "#{current_date} #{time}"
مثال على extra_params
extra_params = {
"payments_limit": "3",
"payment_method": "vsegdada_installment_0_0_6"
}
راجع وثائق واجهة برمجة تطبيقات REST الخاصة بـ Prodamus للحصول على القائمة الكاملة للمعاملات المدعومة.
مثال
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Photography Course, price 4999 RUB, https://example.com/course"
payment_link = get_prodamus_payment_url(4999, "Photography Course", "27.03.2023 17:00", "79167777771", "[email protected]", 20, "The best photography course", extra_params, products_for_receipt)
في هذا المثال:
- يحتوي
extra_paramsعلى معاملات دفع إضافية. - يحتوي
products_for_receiptعلى معلومات الإيصال الضريبي. - يخزن
payment_linkعنوان URL للدفع الذي تم إنشاؤه.
إذا تم استخدام دوال رابط دفع متعددة في نفس كتلة الحاسبة وفشلت إحداها، يتم كتابة الخطأ في المتغير
error_payment_func. يتم تخزين خطأ الدالة الأخيرة فقط.
إنشاء رابط دفع باستخدام payment_sum
ملاحظة: يتم تطبيق قيمة
payment_sumبعد جميع المتغيرات الاختيارية مثلpayment_descriptionوproduct_nameوغيرها.
بدلاً من استدعاء get_prodamus_payment_url()، يمكنك إنشاء رابط دفع ببساطة عن طريق تعيين قيمة للمتغير payment_sum في كتلة الحاسبة.
بعد تعيين payment_sum، يقوم Mavibot تلقائيًا بإنشاء المتغير prodamus_pay_url الذي يحتوي على رابط الدفع.
مثال:
https://payform.ru/7p3JR8/
يمكنك عرض هذا المتغير في رسالة أو استخدامه كعنوان URL لزر.
المتغيرات الاختيارية
يمكن تعريف المتغيرات التالية قبل تعيين payment_sum.
| المتغير | الوصف |
|---|---|
product_name |
اسم المنتج. إذا تم حذفه، تكون القيمة الافتراضية هي Payment for order order_id. |
payment_description |
وصف المنتج المعروض على صفحة الدفع. |
discount_value |
مبلغ الخصم. مثال: 25 أو 50.25. |
customer_phone |
رقم هاتف العميل. |
customer_email |
عنوان البريد الإلكتروني للعميل. |
link_expired |
تاريخ انتهاء صلاحية رابط الدفع. |
currency |
عملة الدفع. القيم المدعومة: rub و usd و eur و kzt. يجب أن تكون بأحرف صغيرة. |
payment_title |
عنوان الدفع (حتى 127 حرفًا). القيمة الافتراضية هي Payment payment_id. |
locale |
لغة صفحة الدفع (على سبيل المثال، ru-RU و en-US و fr-FR). |
products_for_receipt |
معلومات الإيصال. مطلوب إذا كنت تستخدم رقمنة Prodamus بدون سجل نقدي خاص بك عبر الإنترنت. |
payment_sum |
مطلوب. مبلغ الدفع. |
انتهاء صلاحية الرابط
يمكنك تحديد تاريخ انتهاء الصلاحية بعدة طرق.
تاريخ محدد:
25.01.2021
تاريخ ووقت محددان:
25.01.2021 12:23
باستخدام المتغيرات:
time = current_time + 30
link_expired = "#{current_date} #{time}"
أو:
link_expired = current_date + 2
مثال
أولاً، قم بتعيين مبلغ الدفع.

ثم استخدم المتغير الذي تم إنشاؤه prodamus_pay_url أينما كنت بحاجة إلى إرسال رابط الدفع.

طرق الدفع المتاحة
يجب تعريف المتغير prodamus_available_payment_methods قبل payment_sum.
تشمل القيم المدعومة:
| القيمة | الوصف |
|---|---|
AC |
البطاقات المصرفية الروسية |
ACkz |
البطاقات المصرفية الكازاخستانية |
ACf |
البطاقات المصرفية لرابطة الدول المستقلة (باستثناء روسيا) |
ACEURNMBX |
بطاقات اليورو (باستثناء روسيا وبيلاروسيا) |
SBP |
نظام المدفوعات الأسرع (روسيا) |
QW |
محفظة QIWI |
PC |
YooMoney |
GP |
محطة الدفع |
sbol |
سبيربنك أونلاين |
invoice |
الدفع عن طريق الفاتورة |
installment |
أقساط Prodamus |
credit |
ائتمان T-Bank |
monetaworld |
البطاقات الدولية (باستثناء روسيا) |
يمكن تحديد عدة طرق دفع عن طريق فصلها بشريط عمودي (|).
مثال:
prodamus_available_payment_methods = "AC|PC|QW"
العملة
يمكنك تحديد عملة الدفع باستخدام المتغير prodamus_currency.
القيم المدعومة:
kztusdeur
ستعرض صفحة الدفع التي تم إنشاؤها المبلغ بالعملة المحددة.
عند معالجة رد الاتصال payment_callback، انتبه إلى الحقول التالية:
currencycurrency_sum
تحتوي هذه على عملة الدفع والمبلغ المدفوع.
إذا لم يتم تحديد أي طرق دفع، فلن تعرض صفحة الدفع أي طرق دفع متاحة. قم بتمكين طرق الدفع المطلوبة في حساب Prodamus الخاص بك أولاً.
معالجة نتائج الدفع
ردود اتصال الدفع
بعد الدفع الناجح أو الفاشل، يتلقى Mavibot ردود اتصال يمكن استخدامها لتحديد حالة الدفع.
تظهر ردود الاتصال في المحادثة كرسائل نظام. لا يراها العملاء أو يرسلونها أبدًا.
أمثلة:
الدفع الناجح:
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_success
الدفع الفاشل:
453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66_fail
بعد الدفع الناجح، يتم إنشاء متغير العميل التالي تلقائيًا:
prodamus_payment_completed = True
ملاحظة: يتم استلام ردود الاتصال مع تأخير بسيط. بعد إرسال رابط الدفع، يوصى بإخطار العميل بأن تأكيد الدفع قد يستغرق بضع لحظات.
رسالة مثال:
بعد إتمام الدفع، يرجى انتظار تأكيد الدفع.
تنسيق رد الاتصال
ترجع روابط الدفع التي تم إنشاؤها بواسطة زر الدفع أو الدالة get_prodamus_payment_url() رد الاتصال التالي بعد الدفع الناجح:
<secret_key>_success
مثال:
ovg58keefc_success
حيث:
-
<secret_key>هو مفتاح Prodamus السري الخاص بك. -
_successيشير إلى دفع ناجح.
مثال
أنشئ مشغلًا أو كتلة شرطية تنتظر رد الاتصال ثم تواصل تدفق chatbot.

هام: استخدم مطابقة تامة كنوع المطابقة.
إذا كنت ترغب في إنشاء رابط دفع آخر بعد الدفع الناجح، قم أولاً بإعادة تعيين معلومات الدفع الحالية.
قم بتعيين:
payment_sum = 0
ثم قم بتعيين قيمة جديدة لـ payment_sum لإنشاء رابط دفع جديد.
ردود اتصال الاشتراك
يرسل Prodamus أيضًا ردود اتصال متعلقة بحالة الاشتراك.
تشمل الأمثلة:
- إلغاء الاشتراك من قبل العميل
- إعادة تنشيط الاشتراك من قبل العميل
- إلغاء تنشيط الاشتراك بعد عدة محاولات دفع فاشلة

تم إلغاء الاشتراك
يتم إرساله عندما يقوم العميل بإلغاء اشتراكه يدويًا.
قد تظل فترة الفوترة المدفوعة الحالية نشطة.
يمكنك استخدام رد الاتصال هذا من أجل:
- تجاهل الحدث؛
- إخطار فريقك؛
- إرسال رسالة استبقاء للعميل.
تم إعادة تنشيط الاشتراك
يتم إرساله عندما يستعيد العميل اشتراكًا تم إلغاؤه مسبقًا.
اعتمادًا على منطق عملك، يمكنك تجاهل رد الاتصال هذا أو إزالة العميل من سير عمل الاستبقاء.
تم إلغاء تنشيط الاشتراك
يتم إرساله بعد عدة محاولات دفع متكررة غير ناجحة.
حفظ بيانات رد الاتصال
بعد الدفع الناجح، يتم تخزين حمولة رد الاتصال الكاملة في المتغير التالي:
payment_callback
يحتوي على جميع معلومات الدفع التي أرجعها Prodamus.
مثال:
{
"date": "2021-03-30T11:44:43+03:00",
"order_id": "757679",
"sum": "14.50",
"customer_phone": "+77777777777",
"customer_extra": "Product",
"payment_status": "success"
}
إذا قمت بتحديد product_name و payment_description أثناء إنشاء رابط الدفع، يمكنك استردادهما من رد الاتصال.
مثال:
product = get(payment_callback, "products[0][name]")
description = get(payment_callback, "customer_extra")
استرداد مبلغ الدفع:
amount = get(payment_callback, "sum")
ملاحظة: يتم دائمًا تعيين قيمة
payment_sumبعد المتغيرات الاختيارية مثلpayment_descriptionوproduct_name.
ردود الاتصال المتاحة
بالإضافة إلى ردود اتصال الدفع الناجح، يرسل Prodamus ردود اتصال نظام مختلفة يمكن استخدامها لأتمتة chatbot الخاص بك.
أحداث الاشتراك
- تم إلغاء الاشتراك من قبل العميل
- تم إعادة تنشيط الاشتراك من قبل العميل
- انتهت صلاحية الاشتراك
أحداث فشل الدفع
اعتمادًا على مزود الدفع، قد تتلقى ردود اتصال مع سبب الفشل، على سبيل المثال:
- فشل الدفع – أموال غير كافية
- فشل الدفع – انتهت صلاحية البطاقة
- فشل الدفع – تجاوز حد البطاقة
- فشل الدفع – تم الإبلاغ عن فقدان البطاقة
- فشل الدفع – خطأ في النظام
- فشل الدفع – تم رفض المعاملة من قبل البنك المصدر
- فشل الدفع – تم رفض المعاملة من قبل البنك
أحداث أخرى
- إشعار الدفع المتكرر القادم
- تمت الموافقة على طلب التقسيط
- تم إلغاء طلب التقسيط
- تم رفض طلب التقسيط
يمكنك إنشاء تدفقات chatbot تتفاعل مع أي من ردود الاتصال هذه.
على سبيل المثال، يمكنك إخطار العملاء تلقائيًا عند فشل الدفع المتكرر.
لمعالجة سبب فشل محدد، أنشئ مشغلًا يطابق رد الاتصال المقابل.

لمعالجة جميع حالات الدفع الفاشلة بغض النظر عن السبب، استخدم شرطًا يتحقق مما إذا كان رد الاتصال يحتوي على:
Payment failed

أي رد اتصال يحتوي على النص Payment failed سيؤدي إلى تشغيل إجراء chatbot المكون.
مدفوعات الاشتراك
إنشاء اشتراك
قبل قبول مدفوعات الاشتراك، قم بإنشاء منتج اشتراك في حساب Prodamus الخاص بك.
للحصول على تعليمات مفصلة، راجع وثائق Prodamus.
بعد إنشاء منتج الاشتراك، انسخ معرّف منتج الاشتراك الخاص به.

قم بتعيين معرّف منتج الاشتراك للمتغير التالي:
prodamus_subscription
يقوم Mavibot تلقائيًا بإنشاء المتغير التالي:
prodamus_pay_url
يمكن عرض عنوان URL الذي تم إنشاؤه في رسالة أو إرفاقه بزر.
مثال:
https://payform.kz/7p3JR8/
تتم معالجة مدفوعات الاشتراك بنفس طريقة معالجة المدفوعات لمرة واحدة.
بعد دفع الاشتراك بنجاح، يتم حفظ رقم هاتف العميل تلقائيًا في المتغير customer_phone.
إذا لم يتم توفير
customer_email، فإنcustomer_phoneمطلوب لإدارة الاشتراك.
get_prodamus_subscription_url
يمكنك أيضًا إنشاء روابط دفع الاشتراك باستخدام الآلة الحاسبة.
الدالة:
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 أو dd.MM.yyyy HH:mm. المتغيرات مدعومة أيضًا. |
customer_phone |
رقم هاتف العميل. اختياري إذا تم تحديد customer_email. |
customer_email |
عنوان البريد الإلكتروني للعميل. اختياري إذا تم تحديد customer_phone. |
discount |
مبلغ الخصم. |
description |
وصف المنتج. |
extra_params |
معاملات إضافية لواجهة برمجة تطبيقات Prodamus. |
products_for_receipt |
معلومات الإيصال. مطلوب عند استخدام إصدار الفواتير الضريبية من Prodamus بدون سجل نقدي خاص بك. |
مثال
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "اشتراك دورة التصوير الفوتوغرافي، 2000 روبل/شهر، https://example.com/course"
subscription_link = get_prodamus_subscription_url(618988, "دورة التصوير الفوتوغرافي", "27.03.2023 17:02", "79167777771", "[email protected]", 20, "اشتراك مميز", extra_params, products_for_receipt)
إذا تم تنفيذ دوائر روابط دفع متعددة في نفس كتلة الآلة الحاسبة وفشلت إحداها، يتم تخزين الخطأ في المتغير
error_payment_func.
إدارة حالة الاشتراك
إدارة الاشتراك متاحة فقط للاشتراكات النشطة. لا يتم دعمها في وضع العرض التوضيحي لأنه لا توجد بطاقة دفع مرتبطة.
لإدارة اشتراك، يجب أن يكون أحد المعاملات التالية على الأقل متاحًا:
customer_phonecustomer_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 |
عنوان URL لنموذج الدفع الذي تم تكوينه في Mavibot. |
secret_key |
مفتاح Prodamus السري الخاص بك. |
id_subscription |
معرّف منتج الاشتراك. |
customer_phone |
رقم هاتف المشترك. |
switcher |
إجراء الاشتراك: 0 – إلغاء التنشيط، 1 – إعادة التنشيط. |
profile_id |
معرّف ملف تعريف العميل في Prodamus. |
إذا تم إرجاع معرّف ملف تعريف بواسطة Prodamus، فسيتم حفظه تلقائيًا في المتغير
profile_id. يمكنك استخدام هذا المتغير بدلاً منcustomer_phoneأوcustomer_emailعند إدارة الاشتراكات.
مثال:

ترجع الدالة قيمة الحالة.
إذا نجحت العملية:
status = ok
prodamus_subscription_switch_status
يمكنك أيضًا إدارة الاشتراكات باستخدام الآلة الحاسبة.
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
إلغاء تنشيط اشتراك باستخدام رقم هاتف العميل.
status = prodamus_subscription_switch_status(
"618117",
"0",
"75431312321"
)
مثال 2
إلغاء تنشيط اشتراك باستخدام عنوان البريد الإلكتروني للعميل.
status = 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 |
رقم هاتف العميل. اختياري إذا كان متاحًا من customer_phone. |
num |
عدد المدفوعات المستقبلية التي يجب تطبيق الخصم عليها. إذا تم حذفه، يكون الخصم دائمًا. |
profile_id |
معرّف ملف تعريف العميل في Prodamus. |
إذا نجحت العملية، ترجع الدالة:
ok
وإلا، فإنها ترجع وصفًا للخطأ.
يتطلب تحديث الخصم أو عدد المدفوعات استدعاء الدالة مرة أخرى بالقيم الجديدة.
أمثلة
خصم دائم
تطبيق خصم بقيمة 1 على جميع مدفوعات الاشتراك المستقبلية.
result = prodamus_subscription_discount(
"624034",
"1"
)

خصم للمدفوعات الثلاثة التالية
result = prodamus_subscription_discount(
"624034",
"2",
"",
"3"
)

خصم عشري
result = 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 أو dd.MM.yyyy HH:mm. إذا لم يتم تحديد وقت، يتم استخدام 00:00. |
customer_phone |
رقم هاتف العميل. اختياري. إذا تم حذفه، يتم أخذ القيمة من المتغير customer_phone. |
profile_id |
معرّف ملف تعريف العميل في Prodamus. |
تمرير معاملات إضافية إلى Prodamus
يمكنك إرسال معاملات إضافية مدعومة من Prodamus (مثل تواريخ بدء الاشتراك أو إعدادات التقسيط) عند إنشاء رابط دفع.
ما عليك سوى إنشاء متغير يبدأ اسمه بالبادئة prodamus_.
مثال:
prodamus_some_parameter
عند إنشاء رابط دفع، يتم تضمين جميع المتغيرات ذات البادئة prodamus_ تلقائيًا في الطلب المرسل إلى Prodamus.
اختبار المدفوعات
يتم محاكاة عملية الدفع فقط.
أثناء تكوين التكامل وسير عمل chatbot، يمكنك استخدام بطاقات اختبار Prodamus لتجنب خصم أموال حقيقية.
أولاً، قم بتبديل صفحة الدفع الخاصة بك إلى وضع العرض التوضيحي.
لا تنس النقر على حفظ بعد تغيير الوضع.

بطاقات الاختبار
MIR
| الحقل | القيمة |
|---|---|
| رقم البطاقة | 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 |
هام: تؤدي بطاقات الاختبار إلى تشغيل نفس منطق chatbot وعمليات الاسترجاع والأتمتة والتكاملات مثل المدفوعات الحقيقية.
بمجرد اكتمال الاختبار، قم بتبديل صفحة الدفع مرة أخرى إلى وضع التشغيل المباشر لبدء قبول المدفوعات الحقيقية.
يجب إيقاف تشغيل مفتاح وضع العرض التوضيحي (المفتاح الأحمر معطل).