Розробка кастомної інтеграції з платіжною системою WayForPay. І не тільки ;)

18 Вересня 2024

наступна стаття
Сергій Тадля

Backend Developer

Сергій Тадля
Розробка кастомної інтеграції з платіжною системою WayForPay. І не тільки ;)

Сьогодні не варто детально пояснювати, навіщо бізнесу потрібна інтеграція з платіжною системою. Коли переважна більшість користувачів Інтернету, які відвідують ваш сайт, мають банківські картки та готові скористатися ними для легкою купівлі ваших товарів та послуг, не давати їм такої можливості — просто бізнес-злочин та неповага до клієнтів. Однак завжди постає питання, яку ж платіжну систему обрати та кому довірити процес інтеграції? Сьогодні ми розповімо про рішення з WayForPay та зазначимо його головні особливості та переваги. Однак не забувайте, що багаторічний досвід Авіві у створенні інтеграцій дозволяє вирішити це питання для будь-яких платформ та сервісів. 

Передумови створення інтеграції

Наразі Авіві розробляє великий комерційний проект торгової платформи для продуктової компанії з великим переліком продукції та багатьма особливостями бізнес-процесів. Одним з важливих питань є можливість оплати замовлень клієнтами онлайн без складних маніпуляцій та зайвих очікувань. Використання платіжної системи у цьому випадку є очевидним рішенням, оскільки дозволяє:

  • Легально та прозоро отримувати оплати за продукцію від покупців;

  • Автоматизувати процес оплати;

  • Надати можливість клієнтам легко сплачувати замовлення;

  • Реалізувати індивідуальні потреби бізнес-процесів. 

Платіжна система WayForPay була обрана клієнтами Авіві самостійно, тому завданням наших розробників стала розробка кастомної інтеграції. Торгова платформа розроблялася мовою Python на фреймворці Django, що дозволяє реалізувати систему керування всіх необхідних бізнес-процесів. Простий та зрозумілий інтерфейс адмінпанелі Django полегшує роботу співробітників компанії та взаємодіє з розробниками, адже у базовий функціонал вже закладені можливості розмежування прав доступу та відображення інформації. 

Про WayForPaay

Платіжний агрегатор WayForPay надає користувачам широкі можливості отримання платежів від клієнтів, а розробникам — перевірені методи та документацію для створення дієвих інтеграцій. Платіжна система пропонує користувачам безкоштовне підключення та має фіксовану комісію у 2% від суми транзакції. Серед послуг з надання платіжних методів: Google Pay та Apple Pay, покупка частинами від monobank та ПриватБанк, опрацювання платежів з карток систем Visa та MasterCard та багато інших, популярних в Україні та світі. Також компанія допомагає отримувати оплати через QR-коди, збирати донати, отримувати гонорари фрілансерам та навіть створювати власні лендінги для просування бізнесу. 

З точки зору розробників Авіві, це, передусім, обширна база описаних API для створення інтеграцій, що пришвидшує процес та оптимізує роботу готових рішень. WayForPay надає широкий перелік методів та пояснень, що покращує якість коду та дозволяє реалізувати практично будь-яку потребу замовників. 

Особливості роботи інтеграції

Головне завдання інтеграції з платіжною системою — вирішити питання отримання платежів від клієнтів, тобто: 

  • Сформувати платіж;

  • Надати платіжній системі інформацію, щодо платежу;

  • Отримати підтвердження про оплату. 

Зрозуміло, що все це має працювати не лише коректно, але й максимально швидко, щоб не викликати незручності у покупця. Під час виконання операцій, торгова платформа обмінюється даними з платіжною системою в двосторонньому режимі, тому слід забезпечити швидкодію та безпеку даних. 

Цікавою особливістю інтеграції з WayForPay є організація логіки алгоритмів роботи, що зводиться до необхідного мінімуму. Тим самим досягається як потрібна швидкість, так і підвищується надійність, адже чим менше даних передається між програмними продуктами, тим простіше слідкувати за їхньою захищеністю. 

Основна прив’язка рішення зводиться до Платежу (Payment). Це сутність в адмінпанелі Django, що формується на основі обробки даних від замовлення клієнта (Order). 

bbf67de84fc37da3.png

Як бачите, замовлення також містить інформацію про відповідального менеджера компанії та клієнтську інформацію. Будь-яке замовленя може бути перевірене та відредаговане адміністратором. 

Платежі, створені на основі замовлень, включають в себе перелік товарів, обраних покупцем. Кожен товар містить набір унікальних характеристик (ціна, розміри, опис, зображення, тощо) та зберігається у загальній базі даних. 

4900ecae1a117233.png

Для прикладу, ми додали до замовлення усі три тестові товари зі скріншоту вище. Тож тепер сформований платіж для інтеграції з WayForPay міститиме всю необхідну інформацю, а перелік товарів у замовленні виглядає ось так:

fd604870ffd63a6e.png

Тепер розглянемо безпосередньо платіж. Кожен із них містить інформацію щодо кількості товарів та суми, що має бути сплачена покупцем. Важливо, що саме тут можна автоматично чи вручну призначати можливі знижки або інші акційні пропозиції. На відміну від інших, платіж має статуси, тобто інформацію, щодо сплати: новий платіж за замовчуванням створюється несплаченим, але після відповіді платіжної системи його статус зміниться на “Сплачено”. За це відповідає автоматична робота двосторонньої інтеграції. 

51a33f71f408d08e.png

І найцікавіше. Коли всі потрібні дії виконано, а зміни (за необхідності) внесено, платформа передає до платіжної системи лише одне значення — внутрішній ідентифікатор конкретного платежу (id). Після цього генерується посилання, за яким користувача скерує вже у WayForPay для здійснення оплати. Як бачите нижче, на сторінці користувач бачить перелік обраних товарів та суму до сплати з урахуванням застосованої знижки у 10%. Лишається лише заповнити дані своєї банківської картки й натиснути “Оплатити”.

6dc7db8b26683fa6.png

Переваги та висновки

Тож у підсумку розповіді про кастомну інтеграцію, створену розробниками Авіві, можна відзначити простоту, дієвість та надійність готового рішення. Зауважимо, що це не універсальне або шаблонне рішення, оскільки замовник чітко окреслив вимоги бізнес-процесів своєї компанії, заклав потребу в перегляді та редагуванні кожного етапу в алгоритмі, за яким формується замовлення клієнта. Однак великою перевагою інтеграції є незмінність структури створеного нами коду незалежно від того, скільки товарів буде в замовленні, які характеристики будуть змінені або які нові промо-акції вигадають маркетологи. Все працюватиме однаково коректно та швидко завдяки оптимізованому та структурованому коду. 

Перевагою для потенційних охочих отримати інтеграцію з WayForPay є готовність нашого рішення для адаптації під будь-яку іншу торгову платформу. Для інтеграції інтернет магазину чи CRM-системи, що вже використовує ваш бізнес, у Django просто слід додатково створити:

  • Модель товарів;

  • Модель замовлень;

  • Якщо використовується схожа логіка — моделі бази даних менеджерів та замовників. Якщо такого не передбачено, ці дані не потрібні (і навпаки: якщо потрібні інші дані, значить потрібно створити додаткові можделі).

Наповнити ці бази можна як вручну, так і за допомогою кастомних методів API з платформою вашого бізнесу, що повністю автоматизує процес синхронізації інформації. Тож будемо раді допомогти інтегруватися з платіжною системою WayForPay та отримувати більше оплат від ваших клієнтів!

Бонус

Якщо зовсім коротко, то інтеграція з monobank розробляється аналогічно та на момент написання цього тексту добігає успішного завершення ;)

bfg.png



Схожі статті
Записатись на консультацію

Ми зв'яжемось з Вами протягом 10 хвилин