Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 12 вересня 2026

PayZephyr: Єдиний API для роботи з Stripe, Paystack та PayPal

PayZephyr - це Laravel-пакет від Nwaneri Chukwunyere Kenneth, який надає єдиний fluent API для роботи з вісьмома платіжними провайдерами.

Ключові можливості

Пакет пропонує наступний функціонал:

  • Вісім драйверів - Paystack, Stripe, PayPal, Flutterwave, Square, Monnify, OPay та Mollie доступні через один фасад Payment
  • Автоматичне перемикання - можливість використовувати резервний провайдер, якщо основний не працює
  • Захист від подвійної оплати - запобігання повторним платежам від клієнтів
  • Підписані вебхуки - перевірка підписів та захист від повторних запитів
  • Підписки - визначення планів підписок для провайдерів, що їх підтримують
  • Повернення коштів - повні та часткові рефанди
  • І багато іншого...

Прийом платежів

Використовуючи цей пакет, ви отримуєте фасад Payment, за допомогою якого можна приймати платежі, перенаправляючи клієнта на сторінку оплати провайдера:

use KenDeNigerian\PayZephyr\Facades\Payment;

Route::get('/checkout', function (Order $order) {
    return Payment::amount(500.00)
        ->email($order->user->email)
        ->reference('order_'.$order->id)
        ->callback(route('payment.callback'))
        ->redirect();
});

Після оплати клієнт повертається до вашого callback-маршруту з посиланням для верифікації:

Route::get('/payment/callback', function (Request $request) {
    $verification = Payment::verify($request->query('reference'));
    
    if ($verification->isSuccessful()) {
        // Позначити замовлення як оплачене
    }
})->name('payment.callback');

Система резервування

Пакет дозволяє визначити основний провайдер, а також резервний на випадок проблем:

PAYMENTS_DEFAULT_PROVIDER=paystack
PAYMENTS_FALLBACK_PROVIDER=stripe

Підписки та повернення коштів

PayZephyr підтримує підписки через метод planData для створення планів, на які пізніше можуть підписатися клієнти:

$plan = Payment::subscription()
    ->planData(new SubscriptionPlanDTO(
        name: 'Pro Monthly',
        amount: 20.00,
        interval: 'monthly',
        currency: 'USD',
    ))
    ->with('stripe')
    ->createPlan();

Payment::subscription()
    ->customer($user->email)
    ->plan($plan->planCode)
    ->idempotency()
    ->with('stripe')
    ->subscribe();

Також підтримується повернення коштів, включаючи часткові рефанди через визначення amount():

$refund = Payment::refund('txn_ref_123')
    ->amount(25.00)
    ->reason('customer requested partial refund')
    ->with('paystack')
    ->refund();

Документація містить деталі щодо використання $refund->isPending(), оскільки деякі провайдери обробляють повернення коштів пізніше та повідомляють про це через вебхук, а не в безпосередній відповіді.

Встановлення

Встановити пакет можна через Composer з наступним запуском команди install. Пакет призначений для випадків, коли потрібна можливість приймати платежі від різних провайдерів:

composer require kendenigerian/payzephyr
php artisan payzephyr:install

Додаткові ресурси

Вихідний код доступний на GitHub. Документація охоплює кастомні драйвери, інтеграцію з чергами та чеклист для production-середовища. Також доступний playground для тестування API без встановлення пакету.

27

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

9
CSRF і завантаження
Новини 09 жовтня 2026

Порада з безпеки: як завантаження файлів може обійти захист від CSRF

Стівен Ріс-Картер пояснює, чому файли користувачів варто віддавати з окремого домену: HTML і JS у межах основного застосунку дають доступ до cookie та CSRF-токенів.

18

Вакансії за темою

GGLUXOUTLET
7 днів тому

Senior+/Tech Lead Full-Stack WordPress Developer / Code Architect

Досвідчений Senior+/Tech Lead Full-Stack WordPress розробник для проєктування та розробки високонавантажених e-commerce рішень. Потрібні глибокі знання WordPress Core, WooCommerce, PHP 8.1+ з SOLID/ООП, React/Next.js для фронтенду, Python для автоматизації, DevOps (VPS, Docker, CI/CD) та AI-інтеграцій. Роль включає архітектуру, код-рев'ю, менторство і комунікацію з бізнесом. Мінімум 7 років досвіду, з них 3+ на WordPress/WooCommerce у високонавантажених проєктах.

MAKEUP
9 днів тому

PHP Tech Lead

PHP Tech Lead для великого e-commerce проекту. Управління PHP-командою з 3-8 людей, участь у проектуванні архітектури, code review та розробці критичних частин системи. Вимоги: 6+ років досвіду у PHP/backend, 2+ років у ролі лідера, знання Laravel/Symfony, SQL, REST API, Docker, CI/CD, тестування.

CodeBright
11 днів тому

Senior Full-Stack Engineer (React / PHP-Laravel)

Старший Full-Stack розробник для США-базованої агенції. Розроблюватимете складну B2B SaaS для управління подіями: лаштуватимете бекенд на PHP-Laravel (API, cron-завдання, тригери подій), фронтенд на React/Next.js, інтеграції платіжних систем (Stripe), фінансовіワークфлоу та синхронізацію даних. Вимоги: 5+ років досвіду Full-Stack, глибокі знання реляційних БД, досвід з біллінговими системами, комфорт з AI-асистентами (Cursor, Copilot).

Пакети за темою

Laravel Cashier

laravel/cashier

Підписки і платежі через Stripe: тарифи, пробні періоди, купони, зміна плану, рахунки в PDF і обробка вебхуків. Ховає більшість рутини платіжної інтеграції за виразним API.

2,542 v16.7.0 13 1

Bagisto

bagisto/bagisto

Bagisto — це платформа для електронної комерції, побудована на Laravel. Вона надає готове рішення для створення та управління інтернет-магазинами з підтримкою каталогу товарів, замовлень, платежів та клієнтів.

28,221 v2.5.0 13 26