Эта статья была написана Феми Акиниеми и Эндрю Глаго.

Медуза представляет собой компонуемый коммерческий движок с открытым исходным кодом, созданный с помощью Node.js. Medusa позволяет разработчикам создавать масштабируемые и сложные коммерческие установки с минимальными усилиями и большим опытом разработчика.

Платежная колода позволяет африканским предприятиям принимать платежи в местной и иностранной валюте из нескольких местных и глобальных платежных каналов.

В качестве заявки на хакатон Medusa мы создали Medusa-Payment-Paystackплагин, который добавляет Paystack в качестве поставщика платежей в магазины электронной коммерции Medusa.

С помощью нашего плагина владельцы африканских компаний могут создавать магазины электронной коммерции на Medusa и принимать платежи в местной валюте с учетом 236 миллионов (2022 г.) пользователей электронной коммерции в Африке.


Опыт работы на хакатоне

Работа над хакатоном Medusa была отличным опытом для нас обоих. Мы встретились на сервере Medusa Discord и решили вместе поработать над заявкой на хакатон.

Мы оба были знакомы с Paystack, так как они работали в обеих наших странах (Гана и Нигерия), и решили, что было бы полезно создать платежный плагин, интегрированный с Paystack, чтобы позволить совершать покупки в магазине Medusa в наших местных валютах.

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

Мы регулярно встречались, чтобы наверстать упущенное и разблокировать друг друга там, где это необходимо. Мы прекрасно провели время, работая вместе, и многому научились друг у друга.


Опыт разработки с Medusa

Наш процесс разработки начался с определения и ознакомления с потоками пользователей Medusa, в которые будет интегрирован наш платежный плагин. Оказалось, что это процесс оформления заказа и система управления заказами администратора.

Пользователи должны иметь возможность оплачивать товары в магазинах Medusa, а владельцы магазинов должны иметь возможность просматривать платежи по заказам и возвращать средства. Наш плагин позаботится обо всем.

Мы приступили к работе, чтобы ознакомиться с API, которые Medusa предоставляет разработчикам, которые позволят нашему плагину выполнять вышеупомянутые задачи.

Документы Medusa были настоящей находкой для нас, начинающих пользователей платформы. Там были документы практически для всего, что нам было нужно, и мы обнаружили, что механизм внедрения зависимостей, который позволял использовать основные сервисы Medusa, такие как сервис Cart (мы используем его для проверки значений суммы платежа), был особенно полезен в плагинах.

После выяснения того, что нужно сделать с «Медузой», мы интегрировали Paystack с помощью paystack-api package, оболочка Node.js для API Paystack, вызывающая соответствующие конечные точки API Paystack по мере необходимости.


Каковы возможности плагина?

Когда вы устанавливаете и выбираете Paystack в качестве платежной системы для своего интернет-магазина Medusa, вам гарантированы следующие функции:


Подключить Медузу к Paystack

С использованием Medusa-Payment-Paystackвы можете легко интегрировать Paystack с Medusa, добавить Paystack в качестве поставщика платежей в регионе и включить Paystack в процесс оформления заказа, используя provider_id из Paystack. Платежи для вашего бизнеса Paystack, сделанные из вашего магазина Medusa, автоматически отображаются в вашей панели администратора. Возвраты тоже.


Подтвердить покупки

В обратном вызове завершения платежа выбранного вами потока вы можете вызвать Медузу Полная корзина метод. Когда вы используете ссылку, предоставленную Medusa-Payment-PaystackСтатус транзакции проверяется, проверяется, соответствует ли сумма общей сумме корзины, и помечается корзина, оплаченная в Medusa.


Возврат средств

Панель администратора позволяет вам возмещать захваченные платежи, сделанные с помощью Paystack.

Возврат будет происходить с использованием Medusa-Payment-Paystackчто помечает заказ в «Медузе» как возмещенный с помощью Paystack.

Кроме того, все потоки оплаты Paystack (всплывающие окна, перенаправления, API) доступны с помощью плагина.


Как использовать плагин

Добавление поддержки платежей Paystack в ваш магазин Medusa с помощью Medusa-Payment-Paystack плагин включает в себя три основных шага:

  1. Добавление Paystack в качестве поставщика платежей на ваш сервер Medusa
    • Это включает в себя установку плагина из NPM с помощью команды npm install medusa-payment-paystack
    • Добавление плагина в список плагинов в medusa.config.js
  2. Добавление Paystack в регион
    • В административной панели Medusa выберите регионы, в которых вы хотите включить Paystack, и выберите опцию Paystack в Payment Providers.
  3. Интеграция в кассовый процесс
    • Используйте ссылку, которую плагин вставляет в данные вашей платежной сессии при инициализации платежа с помощью Paystack.
    • Вызовите метод полной корзины Medusa после того, как пользователь успешно завершит оплату. Плагин возьмет его оттуда, обработав сообщение о заказе как оплаченном в Medusa, проверив суммы и обработав возмещение, если это необходимо.

Мы сняли видео, показывающее вам, как выполнить эти шаги, на которые вы можете ссылаться:


Вывод

Более подробные инструкции по настройке плагина Paystack можно найти на странице проекта. ПРОЧТИ МЕНЯ для подробных шагов.

Если вы также хотите погрузиться непосредственно в код, проверьте Медуза-paystack-демо — демо-магазин Medusa с Paystack, настроенным как платежный провайдер с использованием medusa-payment-paystack.

Если у вас есть какие-либо проблемы или вопросы, связанные с Medusa, не стесняйтесь обращаться к команде Medusa через Раздор.