Laravel Mobile Pass: створюйте цифрові картки та квитки для Apple Wallet і Google Wallet

Перекладено ШІ 0 Laravel News 25 квітня, 2026

Новий пакет Laravel Mobile Pass від Spatie дозволяє легко створювати цифрові квитки та картки для Apple Wallet і Google Wallet. Бажаєте дізнатися, як налаштувати єдиний API для обох платформ та надсилати користувачам миттєві оновлення?

Laravel Mobile Pass — це новий пакет від Spatie (у співпраці з Dan Johnson) для створення карток Apple Wallet та Google Wallet. Він підтримує посадкові талони, квитки на події, купони, карти лояльності та подарункові сертифікати, а також дозволяє надсилати оновлення вже встановлених карток.

# Єдиний Builder API для обох платформ

Пакет пропонує уніфікований інтерфейс для роботи з Apple та Google. Ось приклад створення квитка на подію для Apple Wallet:

use Spatie\LaravelMobilePass\Builders\Apple\EventTicketPassBuilder;
 
$mobilePass = EventTicketPassBuilder::make()
    ->setOrganizationName('Fab Four Promotions')
    ->setSerialNumber('BTL-SHEA-0042')
    ->setDescription('The Beatles at Shea Stadium')
    ->addField('event', 'Beatles Live at Shea')
    ->addField('attendee', 'John Lennon', label: 'Name')
    ->addField('seat', 'Floor A, Row 12')
    ->save();

Для Google Wallet процес схожий, проте з додатковим кроком — оголошенням Class (шаблону) перед створенням окремих карток:

use Spatie\LaravelMobilePass\Builders\Google\EventTicketPassBuilder;
use Spatie\LaravelMobilePass\Enums\BarcodeType;
 
$mobilePass = EventTicketPassBuilder::make()
    ->setClass('beatles-shea-1965')
    ->setAttendeeName('John Lennon')
    ->setSection('Floor A')
    ->setRow('12')
    ->setSeat('24')
    ->setBarcode(BarcodeType::Qr, 'TICKET-12345')
    ->save();

Метод save() повертає Eloquent-модель MobilePass, яка реалізує інтерфейс Responsable у Laravel. Якщо повернути її безпосередньо з контролера, пакет автоматично віддасть потрібний формат: файл .pkpass для Apple або редирект до Google Wallet для Android.

# Оновлення карток у реальному часі

Після встановлення картки її дані можна оновлювати. В Apple Wallet для цього достатньо викликати updateField на моделі MobilePass:

$mobilePass->updateField('seat', '13A');

Також можна додати текстове сповіщення про зміну:

$mobilePass->updateField(
    'seat',
    '13A',
    changeMessage: 'Ваше місце змінено на :value',
);

Оновлення для Google Wallet працюють через модифікацію масиву content:

$content = $mobilePass->content;
$content['googleObjectPayload']['ticketHolderName'] = 'John Winston Lennon';
 
$mobilePass->update(['content' => $content]);

За процес оновлення відповідає PushPassUpdateJob. За замовчуванням він виконується синхронно, але через параметр MOBILE_PASS_QUEUE_CONNECTION у .env можна налаштувати роботу через черги.

# Різноманіття типів карток

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

use Spatie\LaravelMobilePass\Builders\Apple\AirlinePassBuilder;
use Spatie\LaravelMobilePass\Builders\Apple\Entities\Seat;
 
AirlinePassBuilder::make()
    ->setOrganizationName('Etihad')
    ->setDepartureAirportCode('AUH')
    ->setDestinationAirportCode('LHR')
    ->setPassengerName('Paul McCartney')
    ->setSeats(Seat::make(number: '12A'))
    ->save();

Для потягів, автобусів чи морського транспорту можна використовувати BoardingPassBuilder, вказавши відповідний TransitType.

Boarding pass
Приклад згенерованого посадкового талона

# Живе демо

Spatie запустили онлайн-демо, де можна протестувати створення всіх типів карток, встановити їх на iPhone та перевірити роботу push-оновлень. Вихідний код демо-проєкту доступний на GitHub.

Інструкції зі встановлення, налаштування Apple та Google credentials та повна документація — у офіційному репозиторії.

Популярні

Інше, що варто прочитати

14 Оновлено 24 квітня, 2026

Intervention Image: потужний інструмент для роботи з зображеннями у Laravel

Досліджуйте потужний пакет Intervention Image для PHP, який виводить редагування зображень на новий рівень з оновленою версією 3. Чи готові ви дізнатися, які нові можливості та функції чекають на вас у цьому інструменті

68 Оновлено 24 квітня, 2026

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

39 Оновлено 24 квітня, 2026

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення