Загальне
Семенець А.В.
Тернопільський національний медичний університет ім. І.Я.Горбачевського МОЗ України
РОЗРОБКА МОДУЛЯ ПЛАТІЖНОГО ШЛЮЗУ ДО СЕРВІСУ «LiqPay» (ПРИВАТБАНК) ДЛЯ СДО MOODLE ВЕРСІЇ 3.10
Резюме
Застосування вільно-розповсюджуваного ПЗ з відкритим кодом є важливим елементом сучасного підходу до реалізації освітнього процесу. В роботі показано досвід розробки модуля (плагіна) до сервісу LiqPay від АКБ «Приватбанк» для СДО Moodle з використанням АРІ платіжного шлюзу версії 3.10 з метою зарахування абітурієнтів на платні курси. Описано програмну архітектуру розробленого модуля. Показано необхідність в адаптації додаткового елементу – окремого плагіну для формування звітів про результати зарахування на курси та здійснені оплати.
Ключові слова: навчальний процес, програмне забезпечення з відкритим кодом, розробка програмного забезпечення, дистанційна освіта, зарахування на курс, Moodle, платіжний шлюз, LiqPay.
Вступ
В умовах глобальної пандемії та інших біологічних небезпек, середовища дистанційної освіти стають не лише засобом отримання знань але й інструментом, що значно підвищує особисту безпеку абітурієнта. Концептуальні напрямки впровадження сучасних інформаційних технологій у галузі освіти включають впровадження інформаційних систем (ІС) керування навчанням (СКН чи LMS – Learning Management System), в поєднанні з системами дистанційної освіти (СДО), та систем керування навчальними матеріалами (СКНМ або LCMS – Learning Content Management System) [1].
Аналіз останніх досліджень. Впровадження систем дистанційного навчання в освітній процес
Одним з лідерів серед вільно-розповсюджуваного ПЗ СКН/СДО/СКНМ з відкритим кодом є СДО Moodle (https://moodle.org/). Різноманітні аспекти застосування вказаного СДО в навчальному процесі Тернопільського національного медичного університету ім І,Я.Горбачевського представлені автором в роботах [1, 2, 3, 4, 5, 6].
Oсвітній процес в сучасних умовах поряд з академічною сферою включає велику кількість закладів післядипломної та спеціалізованої освіти. Більшість з них є недержавними організаціями або приватними закладами, та здійснюють підготовку фахівців на платній основі. Економічна основа діяльності вказаних недержавних / приватних закладів вимагає мінімізації супутніх організаційних та управлінських витрат, в тому числі і на роботу персоналу, зокрема, автоматизації процесу зарахування абітурієнтів на курси по факту здійснення оплати за навчальний процес.
Для СДО Moodle наявний ряд модулів (плагінів) які інтегрують функції ряду міжнародних платіжних систем (https://moodle.org/plugins/?q=payment), використання яких, проте, обмежене або й неможливе на території України. Як вирішення цієї проблеми, в 2020р. автором було розроблено модуль (плагін) для інтеграції СДО Moodle та платіжного сервісу LiqPay від АКБ «Приватбанк» [7].
Постановка проблеми. Починаючи з версії 3.10 в СДО Moodle впроваджено нове уніфіковане API для здійснення оплат – «платіжний шлюз» (https://docs.moodle.org/310/en/Payment_gateways). У зв’язку з цим постає проблема щодо розробки нового модуля (плагіна) СДО Moodle для інтеграції вказаного уніфікованого API та платіжного сервісу LiqPay.
Метою роботи є представлення досвіду автора щодо розробки модуля (плагіна) до СДО Moodle для інтеграції платіжного сервісу “LiqPay” (https://www.liqpay.ua/) від АКБ «Приватбанк» та уніфікованого API платіжного шлюзу СДО Moodle версії 3.10.
Матеріали і методи. Розробка плагіну для інтеграції API платіжного шлюзу СДО Moodle та сервісу “LiqPay”
На початок 2021р. в складі СДО Moodle наявний єдиний модуль (плагін) уніфікованого АРІ платіжного шлюзу – для сервісу PayPal (https://github.com/moodle/moodle/tree/master/payment/gateway/paypal). Функціонал, програмну архітектуру та код вказаного модуля було вивчено автором і взято за основу для розробки платіжного шлюзу для сервісу LiqPay.
Іншим джерелом вхідних даних стала документація до програмного інтерфейсу (API) “LiqPay” (https://www.liqpay.ua/documentation/api/home/). Важливо зазначити що в КБ «Приватбанк» розроблено, підтримується і вільно надається для використання, цілий ряд готових програмних бібліотек (SDK) для роботи з API “LiqPay” засобами різних мов програмування. Крім того розроблено платіжний віджет (https://www.liqpay.ua/documentation/api/aquiring/widget/) – самодостатній компонент на основі JavaScript-бібліотеки, що призначений для вбудовування в клієнтський веб-сайт та здійснення процедури оплати без переходу на сатй КБ «Приватбанк». Вказаний компонент і було вибрано для розробки модуля (плагіну) платіжного шлюзу для СДО Moodle.
В процесі практичної реалізації плагіна автором розроблено:
- Структуру файлів плагіну, що наслідує типову, відповідно до рекомендацій для розробників СДО Moodle (https://docs.moodle.org/dev/Tutorial#The_skeleton_of_your_plugin).
- AMD-бібліотеку на мові JavaScript для завантаження програмного коду бібліотеки платіжного віджету “LiqPay”, відображення його в модальному вікні інтерфейсу платіжного шлюзу СДО Moodle (рис. 1) та здійснення асинхронних запитів до серверів LiqPay.
- Алгоритм, та відповідний програмний код на мові PHP, що реалізує нові функції веб-сервісів в СДО Moodle для реалізації процесів: створення запиту до -, та обробки відповіді - сервера LiqPay в процесі здійснення оплати (https://www.liqpay.ua/documentation/api/aquiring/widget/doc).
Рисунок 1. Налаштування параметрів платного зарахування на курс з оплатою засобами платіжного шлюзу СДО Moodle та процес оплати за допомого платіжного віджету LiqPay
Обробка платежу здійснюється процессінговими серверами системи LiqPay (https://www.liqpay.ua/documentation/api/aquiring/widget/) але без перенаправлення – абітурієнт залишається на сторінці курсу в СДО Moodle. У випадку успішного підтвердження оплати – відбувається зарахування на курс, модальне вікно закривається, а для абітурієнт отримує негайний доступ до вмісту оплаченого курсу.
Інформація про всі операції щодо спроб платного зарахування абітурієнтів на курс за допомогою вказаного плагіну зберігається в базі даних (БД) СДО Moodle для випадків успішної чи незавершеної оплати (крім випадку відмови). Деталі кожної фінансової транзакції реєструються засобами LiqPay та доступні користувачу облікового запису сервісу.
Отримані результати. Дослідна експлуатація та додаткові компоненти.
Розробка вказаного плагіну здійснювалася автором в ініціативному порядку. Код плагіну поширюється згідно типової для СДО Moodle ліцензії GNU GPL v3 та доступний в репозиторії автора на сервері GitHub (https://github.com/semteacher/moodle-payment_gateway_liqpay). Плагін встановлюється в середовище СДО Moodle так само як і інші. Для його використання слід налаштувати обліковий запис платіжного шлюзу (https://docs.moodle.org/310/en/Payment_gateways) та додати до вибраного курсу метод зарахування «зарахування з оплатою» (https://docs.moodle.org/310/en/Enrolment_on_payment). Для здійснення реальних оплат необхідною умовою є наявність верифікованого акаунту в сервісі LiqPay. Слід зазначити що автором застосовано лише тестовий режим роботи сервісу LiqPay.
Перспективною є адаптація раніше розробленого плагіну звіту (report) про оплати засобами сервісу LiqPay [7] для підтримки відображення транзакцій ініційованих даним плагіном та керування статусом зарахування.
Висновки
Надання платних освітніх послуг навчальними закладами всіх типів та форм власності в дистанційному форматі вимагає наявності модулів (плагінів) для СДО Moodle, що забезпечують прийом оплат в автоматичному режимі та можуть працювати з платіжними сервісами, що діють на території України.
В роботі показано досвід розробки модуля (плагіна) до сервісу LiqPay від АКБ «Приватбанк» для СДО Moodle з використанням АРІ платіжного шлюзу версії 3.10 з метою зарахування абітурієнтів на платні курси. Описано програмну архітектуру розробленого модуля. Показано необхідність в адаптації додаткового елементу – окремого плагіну для формування звітів про результати зарахування на курси та здійснені оплати.
Список використаних джерел
- Semenets, A. (2013). АДАПТАЦІЯ ВІЛЬНО РОЗПОВСЮДЖУВАНОГО ПЗ З ВІДКРИТИМ КОДОМ МOODLЕ ДЛЯ ПІДТРИМКИ НАВЧАЛЬНОГО ПРОЦЕСУ У МЕДИЧНОМУ ВНЗ. Медична інформатика та інженерія, (4). https://doi.org/10.11603/mie.1996-1960.2013.4.2249
- Semenets, A. (2017). ПРО НАЛАГОДЖЕННЯ СДО MOODLE ДЛЯ ПРОВЕДЕННЯ ТЕСТОВОГО ОЦІНЮВАННЯ З КУРСУ “ВИЩА МАТЕМАТИКА”. Медична освіта, (1). https://doi.org/10.11603/me.2414-5998.2017.1.7131
- Semenets, A., Vakulenko, D., Martsenyuk, V., Kravets, N., Sverstyuk, A., Klymuk, N., Kuchvara, A., & Kutakova, O. (2018). ПРО ЗАСОБИ СДО MOODLE ДЛЯ ПІДГОТОВКИ НАВЧАЛЬНИХ МАТЕРІАЛІВ ДЛЯ КУРСІВ ХІМІЧНОГО ТА ФАРМАЦЕВТИЧНОГО СПРЯМУВАННЯ. Медична освіта, (4), 172-177. https://doi.org/10.11603/me.2414-5998.2018.3.8716
- Марценюк В.П.,
Модуль реєстрації виконання студентами матрикулів практичних навичок та оцінок
за ОСКІ в системі електронного контролю знань на базі СДО Moodle. / В.П.Марценюк, А.В.Семенець // Запорожский
медицинский журнал. – 2013.
– № 1. – C. 26-27.
- Semenets,
A. V. (2017). ПРО МОДЕРНІЗАЦІЮ МОДУЛЯ АДАПТИВНОГО ТЕСТУВАННЯ ДЛЯ СДО MOODLE. In
Сучасні підходи до вищої медичної освіти в Україні: матеріали XIV Всеукр.
наук.-практ. конф. з міжнар. участю (Тернопіль, 18–19 трав. 2017 р.) (p. 169). Ternopil: ТДМУ, «Укрмедкнига». Retrieved from http://conference.tdmu.edu.ua/index.php/SPVMOU/2017-SPVMOY/paper/view/2043
- Semenets, A., & Martsenyuk, V. (2019). ПРО ДОСВІД РЕАЛІЗАЦІЇ СИСТЕМИ САМОЗАПИСУ СТУДЕНТІВ НА ВІДРОБКИ
ПРАКТИЧНИХ ЗАНЯТЬ ЗАСОБАМИ СДО MOODLE. Сьома Міжнародна Науково-Практична Конференція
MoodleMoot Ukraine 2019, Теорія і Практика Використання Системи Управління
Навчанням Moodle, Київ, Інститут Інформаційних Технологій і Засобів Навчання
НАПН України, 24 Травня 2019 р. [Електронний ресурс] https://repository.tdmu.edu.ua/handle/123456789/12502
- Semenets, A., & Martsenyuk, V. (2020). РОЗРОБКА МОДУЛЯ СДО MOODLE ДЛЯ ЗАРАХУВАННЯ СТУДЕНТІВ НА ПЛАТНІ КУРСИ ЗА ДОПОМОГОЮ СЕРВІСУ «LiqPay» (ПРИВАТБАНК). Восьма Міжнародна Науково-Практична Конференція
MoodleMoot Ukraine 2020, Теорія і Практика Використання Системи Управління
Навчанням Moodle, Київ, Інститут Інформаційних Технологій і Засобів Навчання
НАПН України (online), 22 Травня 2020 р. [Електронний ресурс] https://repository.tdmu.edu.ua/handle/123456789/15300