eo/passbook-bundle
Symfony2 bundle that integrates the php-passbook library to generate signed .pkpass files for Apple Wallet. Configure your pass type and team identifiers, certificates, and output path, then create passes from your app.
Architecture fit
AppKernel::registerBundles(), assumes Symfony's DI container, service configuration, and FrameworkBundle conventions. It will not drop into a Laravel application in any supported way.eymengunay/php-passbook. The bundle is a thin DI wrapper that injects .p12/WWDR certificates, passwords, and a pass factory into Symfony services. Any value a Laravel team extracts comes from the underlying library or from treating this repo as a reference implementation of the .pkpass signing pipeline..pkpass bundle (pass.json + assets + manifest.json + detached PKCS#7 signature), serve with application/vnd.apple.pkpass, and optionally implement Apple's PassKit Web Service endpoints and APNs push for updates. The small surface area is the one point in its favor — the reimplementation cost is finite.Integration feasibility
eymengunay/php-passbook directly and writing a Laravel service provider, config file, and facade, or (b) porting the signing logic into our own service. Neither path uses this bundle.symfony/* and PHP 8.x; expect --ignore-platform-reqs hacks or a pinned legacy container rather than a clean install..p12 with its password plus Apple's WWDR intermediate. Apple has rotated and retired older WWDR intermediates (G4 valid to 2030; earlier generations expired in 2023), so any certificate assumption baked into a 2018 library needs verification against a current signing chain.Technical risk
Key questions
.p12 and WWDR certificates — secret storage, rotation schedule, on-call ownership?Stack fit
php-passbook layer or as a from-scratch port behind an internal interface.WalletPassGenerator interface (and later WalletUpdateService) in our codebase. The concrete adapter wraps eymengunay/php-passbook (or a maintained alternative) and is swappable without touching product code.Migration path
.p12, install WWDR G4, verify the signing chain against current Apple guidance.Compatibility
--ignore-platform-reqs; treat that as a hard signal that the library is not production-grade for a modern Laravel stack.Sequencing
Maintenance
Support
Scaling
Failure modes
.p12 must be treated as a production secret under managed storage with audited access.Ramp-up
How can I help you explore Laravel packages today?