FrontendBackendNode.jsNext.js

Создание платформы выплат фрилансерам с помощью Afriex SDK и Next.js

·MAGMA

Платформа международных выплат фрилансерам

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

В этой статье мы рассмотрим создание платформы для выплаты вознаграждений фрилансерам через единый интерфейс Afriex SDK. Платформа построена на основе Next.js, Drizzle ORM, TiDB Cloud и Better Auth.

Архитектура приложения

Приложение использует многослойную архитектуру:

  • Browser – пользовательский интерфейс.
  • Hook – обертка над React Query, отвечающая за кэширование данных, состояния загрузки и инвалидацию кеша.
  • Service – тонкий клиент для вызова собственных API маршрутов.
  • API Route – проверяет входные данные, вызывает репозиторий и уровень доступа к данным (DAL), возвращает ответ в формате JSON.
  • Repository – читает и записывает данные в базу данных через Drizzle ORM.
  • Data Access Layer (DAL) – взаимодействует непосредственно с Afriex SDK для выполнения операций с внешними сервисами.

Основные функции платформы

Платформа позволяет выполнять следующие задачи:

  • Регистрация фрилансеров как клиентов Afriex.
  • Привязка банковских счетов или мобильных кошельков для получения выплат.
  • Получение актуальных курсов обмена валют и инициирование трансграничных платежей.
  • Прием обновлений статуса транзакций в реальном времени через вебхуки.
  • Отправка уведомлений по электронной почте при инициации или завершении платежа.

Что потребуется?

Для начала работы вам понадобятся:

  • Node.js версии не ниже 22.14.
  • Бизнес-аккаунт Afriex с ключом API для песочницы.
  • Серверный кластер TiDB Serverless (бесплатного уровня достаточно).
  • Аккаунт Resend с ключом API (для отправки электронных писем).
Вернуться к блогу
Платежи фрилансерам с Afriex SDK и Next.js — MAGMA