Prodamus-ты қосу жолы
Prodamus-ты қосу үшін сізге төлем формасының URL мекенжайы және құпия кілт қажет.
Төлем формасының URL мекенжайы тіркеуден кейін беріледі. Мысалы:
demo.payform.ru
Құпия кілтті Prodamus тіркелгіңізден алуға болады. Сондай-ақ төлем туралы хабарландырулар жіберілетін URL мекенжайын көрсету қажет.

Мұны қалай конфигурациялау туралы егжей-тегжейлі нұсқаулар
Хабарландыру URL мекенжайы:
https://chatter.mavibot.ai/prodamus_callback/result
Бұл URL мекенжайы параметрлерде екі жерде көрсетілуі керек.
Негізгі параметрлер бетінде төлем формасының жұмыс режимін таңдауға болады:
- Нақты төлемдерсіз демо режимі
- Төлемдерді қабылдауға арналған тікелей режим

Хабарландыру URL мекенжайы төлем жүйесі параметрлерінің екі бөлімінде көрсетілуі керек:
- Бір реттік төлемдер үшін Form Settings қойыншасында
- Жазылым төлемдері үшін Subscriptions қойыншасында

Хабарландыру URL мекенжайы:
https://chatter.mavibot.ai/prodamus_callback/result
Жазылым төлемдерін конфигурациялау үшін Subscriptions қойыншасын ашып, хабарландыру URL мекенжайын енгізіңіз:
https://chatter.mavibot.ai/prodamus_callback/result

Маңызды: URL мекенжайын енгізгеннен кейін Save түймесін басуды ұмытпаңыз.
Mavibot-та Prodamus-ты қосу үшін Acquiring бөлімін ашыңыз.

Содан кейін сәйкес өрістерге төлем формасының URL мекенжайы мен құпия кілтті енгізіңіз.

Маңызды: Төлем формасының URL мекенжайын енгізген кезде
https://қоспаңыз.
Қосылу аяқталды. Енді осы функционалды қалай пайдалану керектігін қарастырайық.
Төлем сілтемесін жасау
Төлем түймесі
Төлем сілтемесін Payment функциясы бар түймені пайдаланып жасауға болады.
Төлем түймесін жасау жөніндегі нұсқаулықты қараңыз:
/docs/chatbot-builder-buttons-payment-button
Төмендегі бөлімдерде түйменің барлық қолжетімді параметрлері сипатталған.
Қажетті параметрлер
Төлем сілтемесін жасау үшін келесі өрістер қажет:
- Amount
- Product Name
- Products for Receipt (тек өзіңіздің онлайн кассаңыз болмаса және Prodamus-тың фискалдық чектерді жасауын қаласаңыз ғана қажет)
Тұтынушы төлем бетін ашқанда, өнім туралы ақпарат пен баға алдын ала толтырылған болады. Тұтынушыға тек байланыс деректерін енгізу қажет.
Егер тұтынушының электрондық поштасы және/немесе телефон нөмірі түйме параметрлерінде көрсетілсе, олар да төлем бетінде алдын ала толтырылады.

Түйме параметрлері
Text – Төлем түймесінде көрсетілетін мәтін.
Function – Төлем сілтемесін жасау үшін Payment таңдаңыз.
Payment System – Жобаға қосылған төлем жүйелерін көрсетеді.
Егер төлем жүйесі қосылмаған болса, түйменің бұл түрі қолжетімсіз.
Product Name (міндетті) – Өнімнің нақты атауын көрсетіңіз.
Мысалы, орнына:
Phone
пайдаланыңыз:
Xiaomi Smartphone, Model ...
Ескерту: Өнім атауында қос тырнақша (
") белгісіне жол берілмейді. Оларды алып тастаңыз немесе жалқы тырнақшамен ауыстырыңыз.
Amount (міндетті) – Төлем сомасы.
Қосымша параметрлер
Міндетті емес өрістерді конфигурациялау үшін Additional Information түймесін басыңыз:
- Тапсырыс сипаттамасы
- Жеңілдік (RUB)
- Тұтынушының электрондық поштасының айнымалысы
- Тұтынушының телефон нөмірінің айнымалысы
- Сілтеменің мерзімінің аяқталу күні
- Жазылым өнімінің идентификаторы
- Түбіртек үшін өнімдер
Notify on Click – Тұтынушы төлем түймесін басқан кезде тұтынушы әңгімесінде хабарландыру алғыңыз келсе, осы опцияны қосыңыз.

Бұл хабарландыруды қосымша чат-бот логикасын құру үшін пайдалануға болады.
Көптеген төлем провайдерлері салық салу талаптары үшін қажет бұлтты кассаларды қолдайды. Түбіртектерді жасау және фискализация туралы ақпарат алу үшін төлем провайдерінің құжаттамасын қараңыз.
Түйме арқылы ашылатын төлем беті келесідей көрінеді:

Төлем сілтемесінің қосымша параметрлері

Order Description – Бұл өріске енгізілген мәтін төлем бетіндегі Additional Information бөлімінде көрсетіледі.
Discount – Жеңілдік сомасын RUB-пен көрсетіңіз. Ондық мәндерге бөлгіш ретінде нүктені пайдалану арқылы қолдау көрсетіледі (мысалы, 50.99).
Төлем бетінде жеңілдік автоматты түрде қолданылады. Бастапқы баға сызылып тасталады, ал жеңілдік сомасы жалпы төлем ретінде көрсетіледі.
Customer Email Variable (телефон нөмірі берілсе, міндетті емес) – Тұтынушының электрондық пошта мекенжайы немесе оны қамтитын айнымалы, мысалы:
#{email}
Customer Phone Variable (электрондық пошта мекенжайы берілсе, міндетті емес) – Тұтынушының телефон нөмірін келесі форматта қамтитын айнымалы:
79000000000
Мысалы:
#{phone}
Электрондық пошта мекенжайы немесе телефон нөмірінің біреуі берілуі керек.
Link Expiration Date – Мерзімнің аяқталу күнін келесі форматта көрсетіңіз:
dd.MM.yyyy HH:mm
Мысалы:
25.01.2021 11:00
Сондай-ақ айнымалыны пайдалануға болады, мысалы:
#{link_expired}
Subscription Product ID – Қайталанатын төлемді жасау үшін жазылым өнімінің идентификаторын енгізіңіз.
Жазылым өнімдерін жасау туралы ақпаратты Prodamus құжаттамасынан қараңыз.
Егер жазылым өнімінің идентификаторы көрсетілсе:
- төлем сомасы ескерілмейді;
- өнім туралы ақпарат Prodamus-тағы жазылым өнімінен жүктеледі;
- жазылымды басқару үшін тұтынушының телефон нөмірі қажет;
- сәтті төлемнен кейін кері шақыруда жазылым өнімінің идентификаторы болады.
Products for Receipt (шартты түрде міндетті) – Егер сіз өзіңіздің онлайн кассаңызды пайдаланбасаңыз, Prodamus арқылы төлемді фискализациялау үшін қажет.
Өнімнің сипаттамасын, бағасын және сатып алынған мазмұнға сілтемені көрсетіңіз.
Мысалы:
Course "Advanced Photography", price 3000 RUB,
https://example.com/course
Сілтеменің мерзімінің аяқталу әрекеті
Егер сіз сілтеменің мерзімінің аяқталу күнін көрсетсеңіз, төлем түймесі сілтеменің әлі жарамды немесе жарамсыз екеніне байланысты әртүрлі әрекет етеді.
Мерзімі өткен сілтеме
Егер тұтынушы төлем сілтемесін оның мерзімі өткеннен кейін ашса, төлемді аяқтау мүмкін емес және ол келесі хабарламаны көреді:

Ескерту: Мерзімнің аяқталу күні ағымдағы күннен кейін болуы керек. Әйтпесе, тұтынушы төлемді аяқтай алмайды.
Белсенді емес төлем түймесі
Егер тұтынушы сілтеменің мерзімі өтіп кеткеннен кейін төлем түймесін сұраса, түйме көрсетілмейді.
Оның орнына келесі тұтынушы айнымалысы жасалады:
error_payment_button
Мәні:
Error: The link expiration date must be later than the current date.
Біз бұл жағдайды чат-бот ағынында өңдеуді ұсынамыз.
Келесіні тексеретін шарт жасаңыз:
error_payment_button == "Error: The link expiration date must be later than the current date."
Егер шарт орындалса, келесідей хабарлама жіберіңіз:
Кешіріңіз, сіз төлемді уақытында аяқтай алмадыңыз. Төлем сілтемесінің мерзімі өтіп кетті.


Төлем түймесі жасайтын тұтынушы айнымалылары
Тұтынушы Payment түймесі бар хабарламаны алғанда, Mavibot автоматты түрде келесі айнымалыларды жасайды.
__payments
Төлем сомасын және жасалған төлем сілтемесінің идентификаторын сақтайтын жүйелік айнымалы. Ол төлем жүйесінен алынған кері шақыруларды сәйкестендіру үшін пайдаланылады.
Маңызды:
__paymentsжүйелік айнымалысын өзгертпеңіз немесе жоймаңыз.
error_payment_button
Бұл айнымалы төлем түймесін жасау кезінде қате орын алса, автоматты түрде жасалады.
Ол Mavibot жасаған қате хабарламасын немесе төлем жүйесі қайтарған қатені қамтиды.
Айнымалы мәндері чат-бот келесі блокқа өткеннен кейін қолжетімді болады.
Төлем нәтижелерін өңдеу
Сәтті төлем
Сәтті төлемнен кейін Mavibot автоматты түрде келесі кері шақыруды алады:
<first_10_characters_of_secret_key>_success <payment_amount>
Мысалы:
ovg58keefc_success 44
Мұнда:
-
ovg58keefc— Prodamus құпия кілтінің алғашқы 10 таңбасы. -
_success— сәтті төлемді көрсетеді. -
44— төлем сомасы.
Тұтынушылар төлем кері шақыруларын ешқашан көрмейді. Олар тек Customers бөлімінде көрінеді және чат-бот логикасын құру үшін пайдаланылуы мүмкін.
Мысал
1-қадам
Payment түймесін қамтитын блок жасаңыз.
2-қадам
Trigger блогын жасаңыз немесе келесі блокқа апаратын көрсеткіні конфигурациялаңыз.
Төлем кері шақыруын триггерге немесе сәйкестендіру шартына қойыңыз.
Сол кері шақыруды Initial Condition блогында да конфигурациялауға болады, егер чат-бот жаһандық төлемді өңдеуді талап етсе.
Маңызды: Сәйкестендіру түрі ретінде Exact match немесе Contains keywords таңдаңыз.
Ескерту: Егер сіз кері шақыруларды белгілі бір көрсеткіде өңдесеңіз, кері шақыру келген кезде тұтынушының әлі де сол көрсеткісі бар блокта екеніне көз жеткізіңіз. Әйтпесе, ауысу орындалмайды. Тұтынушылар блоктар арасында жылжи алатын чат-бот ағындары үшін кері шақыруларды Initial Condition блогында өңдеу ұсынылады.

Сәтті жазылым төлемі
Жазылым өнімдері үшін кері шақыру форматы:
<first_10_characters_of_secret_key>_success <subscription_product_id>
Мысалы:
214009eefc_success 618117
Мұнда:
-
214009eefc— құпия кілттің алғашқы 10 таңбасы. -
_success— сәтті төлем. -
618117— жазылым өнімінің идентификаторы.

Сәтсіз төлем
Егер төлем сәтсіз аяқталса, Mavibot келесі кері шақыруды алады:
<first_10_characters_of_secret_key>_fail <payment_amount>
Мысалы:
ovg58keefc_fail 44
Мұнда:
-
ovg58keefc— құпия кілттің алғашқы 10 таңбасы. -
_fail— төлем сәтсіз аяқталды. -
44— төлем сомасы.
Ескерту: Барлық төлем провайдерлері сәтсіз төлемдер үшін кері шақыруларды жібермейді.
Төлем сомасының сәйкес келмеуі
Егер төленген сома төлем түймесінде көрсетілген сомадан өзгеше болса, Mavibot келесі кері шақыруды алады:
<first_10_characters_of_secret_key>_different_amounts <payment_id>
Мысалы:
ovg58keefc_different_amounts 123456
Мұнда:
-
ovg58keefc— құпия кілттің алғашқы 10 таңбасы. -
_different_amounts— төленген сома күтілетін сомадан өзгеше екенін көрсетеді. -
123456— бірегей төлем идентификаторы.
get_prodamus_payment_url Калькулятор функциясы
Calculator блогында 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 API параметрлері. Өткізіп жіберу үшін '', "" немесе 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"
}
Қолдау көрсетілетін параметрлердің толық тізімі үшін Prodamus REST API құжаттамасын қараңыз.
Мысал
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 мекенжайын сақтайды.
Егер бір Calculator блогында бірнеше төлем сілтемесі функциясы пайдаланылса және олардың біреуі сәтсіз аяқталса, қате
error_payment_funcайнымалысына жазылады. Тек соңғы функция қатесі сақталады.
payment_sum көмегімен төлем сілтемесін жасау
Ескерту:
payment_sumмәніpayment_description,product_nameжәне басқа сияқты барлық қосымша айнымалылардан кейін қолданылады.
get_prodamus_payment_url() функциясын шақырудың орнына, Calculator блогында 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 |
EUR карталары (Ресей мен Беларусьті қоспағанда) |
SBP |
Жылдам төлемдер жүйесі (Ресей) |
QW |
QIWI Wallet |
PC |
YooMoney |
GP |
Төлем терминалы |
sbol |
Sberbank Online |
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сәтті төлемді көрсетеді.
Мысал
Кері шақыруды күтетін және содан кейін чатбот ағынын жалғастыратын триггер немесе шартты блок жасаңыз.

Маңызды: Сәйкестік түрі ретінде Нақты сәйкестік (Exact match) мәнін пайдаланыңыз.
Егер сәтті төлемнен кейін басқа төлем сілтемесін жасағыңыз келсе, алдымен бар төлем ақпаратын қалпына келтіріңіз.
Орнатыңыз:
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 чатботыңызды автоматтандыру үшін пайдалануға болатын әртүрлі жүйелік кері шақыруларды жібереді.
Жазылым оқиғалары
- Клиент жазылымды болдырмады
- Клиент жазылымды қайта белсендірді
- Жазылымның мерзімі бітті
Төлем сәтсіздігі оқиғалары
Төлем провайдеріне байланысты сәтсіздік себебімен кері шақырулар алуыңыз мүмкін, мысалы:
- Төлем сәтсіз аяқталды – Қаражат жеткіліксіз
- Төлем сәтсіз аяқталды – Картаның мерзімі біткен
- Төлем сәтсіз аяқталды – Карта лимиті асып кетті
- Төлем сәтсіз аяқталды – Карта жоғалған деп хабарланды
- Төлем сәтсіз аяқталды – Жүйе қатесі
- Төлем сәтсіз аяқталды – Транзакция эмитент банкпен қабылданбады
- Төлем сәтсіз аяқталды – Транзакция банкпен қабылданбады
Басқа оқиғалар
- Алдағы қайталанатын төлем туралы хабарландыру
- Бөліп төлеу өтінімі мақұлданды
- Бөліп төлеу өтінімі болдырылды
- Бөліп төлеу өтінімі қабылданбады
Осы кері шақырулардың кез келгеніне әрекет ететін чатбот ағындарын жасай аласыз.
Мысалы, қайталанатын төлем сәтсіз аяқталғанда клиенттерге автоматты түрде хабарлауға болады.
Нақты сәтсіздік себебін өңдеу үшін сәйкес кері шақыруға сәйкес келетін триггер жасаңыз.

Себебіне қарамастан барлық сәтсіз төлемдерді өңдеу үшін кері шақырудың құрамында бар-жоғын тексеретін шартты пайдаланыңыз:
Payment failed

Құрамында Payment failed мәтіні бар кез келген кері шақыру конфигурацияланған чатбот әрекетін іске қосады.
Жазылым төлемдері
Жазылымды құру
Жазылым төлемдерін қабылдамас бұрын, 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 API қосымша параметрлері. |
products_for_receipt |
Түбіртек ақпараты. Prodamus фискализациясын өзіңіздің онлайн кассаңызсыз пайдаланған кезде қажет. |
Мысал
extra_params = {
"payments_limit": "3"
}
products_for_receipt = "Фотосурет курсына жазылым, 2000 RUB/ай, 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 |
Mavibot-та конфигурацияланған төлем формасының URL мекенжайы. |
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-қа жіберілетін сұрауға автоматты түрде қосылады.
Төлемдерді тестілеу
Тек төлем процесі модельденеді.
Интеграцияңызды және чатбот ағындарыңызды конфигурациялау кезінде нақты ақшаны алмау үшін 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 |
Маңызды: Тест карталары нақты төлемдер сияқты чатбот логикасын, кері шақыруларды, автоматтандыруларды және интеграцияларды іске қосады.
Тестілеу аяқталғаннан кейін нақты төлемдерді қабылдауды бастау үшін төлем бетін Тікелей режимге қайта ауыстырыңыз.
Демо режимінің қосқышы өшірілген болуы керек (қызыл қосқыш өшірулі).