- Paypal-ды қалай баптау керек
- Төлем сілтемесін қалай жасау керек
- Қайталанатын төлемді қалай жасау керек
- Нәтижені қалай өңдеу керек
Paypal-ды қалай баптау керек
Paypal-мен жұмыс істеу үшін екі кілт алу қажет: client_id және secret
https://developer.paypal.com/developer/applications/ парақшасына өтіңіз
Тізімнен таңдаңыз немесе жаңа қолданба жасаңыз:
Жоғарғы жағында Live режиміне ауысып, қажетті қолданбаны таңдаңыз. Бізге қажет деректер орналасқан баптаулар беті ашылады:
Деректерді көшіріп, Mavibot баптауларындағы тиісті өрістерге қойыңыз: "Acquiring" бөліміне өтіп, Paypal қызметін табыңыз:

Содан кейін "Қосу" түймесін басып, өрістерді бұрын алынған құпия кілтпен және Client ID-мен толтырыңыз:

Әрі қарай "Баптауларды сақтау" түймесін басыңыз. Осымен қосылу аяқталды.
Төлем сілтемесін қалай жасау керек
payment_sum айнымалысын пайдалану
Төлем сілтемесін жасау үшін payment_sum айнымалысының мәнін орнату керек, содан кейін бірден paypal_pay_url айнымалысы пайда болады.
| Функция параметрлері | Параметр сипаттамасы | Ескертпе |
|---|---|---|
| payment_title | (міндетті емес айнымалы)бұл өнім атауы. | Егер көрсетілмесе, ол келесі мәтінмен толтырылады: "Invoice payment order_id" (order_id - mavibot-тағы тапсырыс идентификаторы) |
| payment_description | өнім сипаттамасы, міндетті емес өріс | |
| company_name | компанияңыздың атауы төлем бетінің ең жоғарғы жағында көрсетіледі (мысал төменде, company) |

Сонымен қатар, payment_sum көрсетпес бұрын, төлем беті қай тілде болатынын көрсетуге болады.
Ол үшін locale айнымалысын орнатыңыз. Әдепкі тіл - Орыс (ru-RU). Мүмкін нұсқалар: da-DK, he-IL, id-ID, ja-JP, no-NO, pt-BR, ru-RU, sv-SE, th-TH, zh-CN, zh-HK, zh-TW, т.б. (қолжетімді тілдер жиынтығы өзгереді, түпнұсқа көзге сүйеніңіз) первоисточник
Сондай-ақ, төлем қабылданатын валютаны көрсетуге болады. Ол үшін currency айнымалысын көрсетіңіз, әдепкі бойынша рубль (RUB) орнатылған, доллар үшін оның мәнін USD етіп орнатыңыз (currency = USD). Валютаның мүмкін нұсқаларын сілтемеден табуға болады. ссылке.
Үшінші қосымша параметр - company_name - компанияңыздың атауы, төлем бетінің ең жоғарғы жағында көрсетіледі (мысал төменде, company )
paypal_pay_url айнымалысын сілтеме арқылы көрсетуге немесе "Төлеу" мәтіні бар түймеге орналастыруға болады.
Сілтеме келесідей көрінеді: https://www.paypal.com/checkoutnow?token=07N53571YM296381N
Іске асыру мысалы.
Төлем сомасын және компания атауын орнату

Назар аударыңыз: payment_sum айнымалысына мән ең соңында, payment_title, company_name және т.б. міндетті емес айнымалылардан кейін беріледі.
Әрі қарай, екінші "Мәртебе" блогында #{paypal_pay_url} айнымалысын көрсетіңіз:
- Айнымалыны хабарлама өрісінде көрсетуге болады:

- Айнымалыны тіркеме баптауларындағы url өрісінде көрсетуге болады:

- Айнымалыны түйме баптауларындағы url өрісінде көрсетуге болады:

Төлем сілтемесін ашқан кезде
paypal_payment_url калькулятор функциясын пайдалану
Funnel constructor блогын жасаңыз және калькуляторда paypal_payment_url функциясын пайдаланыңыз, оған қажетті параметрлерді беріңіз:
Блок шарты орындалғанда, клиент төлем сілтемесін алады, ал paypal_payment_completed клиент айнымалысы False мәнімен жасалады.

url = paypal_payment_url(2500,`` 'RUB', 'Invoice payment payment_id','payment description', 'organization name', 'ru-Ru')
Қайталанатын төлемді қалай жасау керек
Қайталанатын төлемдермен төлеу сілтемесін жасау және алу үшін жеке кабинетіңізде жазылым жоспарын жасау қажет.


Бұрыннан жасалған ұсынысты таңдау:

Немесе іздеу жолағына ұсыныс атауын теріп, "Жасау" түймесін басыңыз.


Автоматты дебет түрін Fixed таңдаңыз:

Жазылымды жасау

Жазылым валютасын және дебет шарттарын таңдау:
Назар аударыңыз!!
Mavibot-та әдепкі валюта - еуро, егер дебет доллармен немесе басқа валютамен болса, онда жазылымды жасау кезінде қажетті валютаны көрсетіңіз және Mavibot-та Paypal жазылымынан бірдей валютаны көрсетіңіз.

Әрі қарай, жазылымды белсендіріңіз:


Жасалғаннан кейін оның идентификаторы қолжетімді болады, оны болашақта жазылымды жасау және төлем сілтемесін алу үшін пайдаланамыз.

Төлем сілтемесі функция арқылы жасалады және қайтарылады:
paypal_subscription_url(plan_id, shipping_currency, shipping_payment_sum, start_time)
| Функция параметрлері | Параметр сипаттамасы |
|---|---|
| ! plan_id | жазылым жоспарының идентификаторы |
| ! shipping_currency | егер көрсетілген жоспар бойынша төлем доллармен болса, онда ештеңе берудің қажеті жоқ, әйтпесе жоспарда көрсетілген валюта кодын береміз. Мұнда жеткізу төленетін валюта беріледі (нөлдік құн үшін де). Әдепкі бойынша USD |
| shipping_payment_sum | Бұл міндетті емес параметр, жеткізу құнын көрсетеді. Әдепкі бойынша мән нөлге тең. |
| start_time | міндетті емес параметр, жазылымның басталу күні мен уақыты. Ештеңе бермесеңіз, онда жазылымның басталу күні = төлем күні. Пішімдер: %d.%m.%Y немесе %d.%m.%Y %H:%M. |

Сілтемені жасау кезінде paypal_subscription_id айнымалысы да пайда болады, ол жазылым идентификаторын қамтиды.
Төлем кезінде сіз кәдімгі төлемді төлеуге ұқсас callback аласыз.
paypal_subscription_data(paypal_subscription_id) - жазылым туралы ақпарат алу
| Функция параметрлері | Параметрлер сипаттамасы |
|---|---|
| paypal_subscription_id | жазылым идентификаторы. |
Функцияны орындау нәтижесі - жазылым туралы барлық ақпаратты, соның ішінде төлемдер санын, сәтсіз дебет әрекеттерінің санын, мәртебені және т.б. қамтитын массив.
Жазылымды қалай болдырмау керек
paypal_remove_subscription(paypal_subscription_id) функциясы клиенттерге сіздің қызметтеріңізге жазылымды болдырмауға көмектеседі.
Параметрлер:
| Функция параметрлері | Сипаттама |
|---|---|
| paypal_subscription_id | жазылым кезінде клиенттің айнымалысына сақталған жазылым идентификаторы. |

Нәтижені қалай өңдеу керек
Сәтті төлемнен кейін ботқа callback жіберіледі, ол төлемнің сәтті өткенін хабарлайды.
Жүйеде callback-терді пайдаланушының хабарламалары ретінде көресіз, бірақ пайдаланушының өзі ОЛАРДЫ КӨРМЕЙДІ: олар тек операторға көрсетіледі.
Блоктағы callback-ті өңдеу және пайдаланушыға төлем мәртебесі туралы хабарламалар жіберу үшін "Нақты сәйкестік" салыстыру түрін пайдаланыңыз.
Callback-тер кешігуі мүмкін, сондықтан пайдаланушыға төлем сілтемесін көрсеткеннен кейін келесідей хабарлама жіберу ұсынылады: “Төлемді жасағаннан кейін, төлемнің сәтті өткенін растайтын хабарламаны күтіңіз.”
Тікелей төлем үшін
Сәтті төлем callback-і құпия сөздің алғашқы 10 таңбасынан және мәртебесі бар қолтаңбадан тұрады. Мысалы: EHsWHYOoWV_success
Мысал 1: "Бастау шарты" блогын пайдаланып сәтті төлемге реакция:

Мысал 2: "Бастау шарты" блогын пайдаланып сәтті төлемге реакция:

Егер пайдаланушыны негізгі чат-бот ағынынан шығарғыңыз келмесе, "Шарты бар күйсіз" блогын пайдаланыңыз — пайдаланушыларды бұл блокқа тікелей бағыттау мүмкін емес, сондықтан сәтті төлемнен кейін олар негізгі funnel-да қалады, сонымен бірге сәтті төлем туралы хабарландыру алады.
Бірақ егер сіз сәтті төлем оқиғасына негізделген funnel-ді жалғастырғыңыз келсе, "Бастау шарты" блогын пайдаланыңыз. Бұл жағдайда төлем блогын аяқтағаннан кейін пайдаланушы "Бастау шарты" блогына бағытталады, одан funnel-ді құруды жалғастыруға болады.
Шартты блоктар туралы толығырақ ақпарат осы аттас мақалада берілген. блоках с условием рассказали
Сәтті төлемнен кейін paypal_payment_completed айнымалысы True мәніне орнатылады.
Төлем аяқталғаннан кейін клиентке paypal_callback_data айнымалысы қосылады, ол транзакция мәртебесі туралы төлем жүйесінің өзекті деректерін қамтиды. Алынған сөздіктен қажетті деректерді get әдісі арқылы алуға болады.
Қайталап төлем жасау үшін payment_sum айнымалысын, бұрын жасалған сілтемесі бар айнымалыны қалпына келтіру керек, содан кейін payment_sum айнымалысын қайта тағайындау немесе жаңа сілтеме алу үшін функцияны шақыру қажет.
Жазылым төлемдері үшін
Жазылымға қатысты операцияларға арналған callback орнату функциясы 01.09.2024 жылы қосылды. Осы санаттағы callback-тердің дұрыс жұмыс істеуі үшін жобаңызда Paypal төлем жүйесінің интеграциясын өшіріп, қайта қосу керек.
Жазылым төлемін жасау кезінде бот келесі хабарламалардың бірін алады:
- жазылымды белсендіру туралы. Мысалы, subscription_I-PTV5H4MRC1H3_activated;
- Қайталанатын жазылым төлемінің сәтті өткені туралы хабарландыру. Мысалы, subscription_I-PTV5H4MRC1H3_paid;
- немесе жазылым төлемінің қатесі туралы. Мысалы, subscription_I-PTV5H4MRC1H3_not_paid;
Жоғарыдағы мысалдарда “I-PTV5H4MRC1H3” - клиенттің жазылым идентификаторы, оған paypal_subscription_id айнымалысы арқылы қол жеткізуге болады.
Callback клиентке paypal_subscription_callback_data айнымалысын қосады, ол транзакция мәртебесі туралы төлем жүйесінің өзекті деректерін қамтиды. Алынған сөздіктен қажетті деректерді get әдісі арқылы алуға болады.
Мысал 1: "Бастау шарты" блогын пайдаланып жазылымды белсендіруге реакция:

Мысал 1: "Шарты бар күйсіз" блогын пайдаланып жазылымды белсендіруге реакция:



