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 айнымалысы арқылы көрсетуге болады.

Қолдау көрсетілетін мәндер:

  • kzt
  • usd
  • eur

Жасалған төлем бетінде сома таңдалған валютада көрсетіледі.

payment_callback кері шақыруын өңдеу кезінде келесі өрістерге назар аударыңыз:

  • currency
  • currency_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_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 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

Маңызды: Тест карталары нақты төлемдер сияқты чатбот логикасын, кері шақыруларды, автоматтандыруларды және интеграцияларды іске қосады.

Тестілеу аяқталғаннан кейін нақты төлемдерді қабылдауды бастау үшін төлем бетін Тікелей режимге қайта ауыстырыңыз.

Демо режимінің қосқышы өшірілген болуы керек (қызыл қосқыш өшірулі).