Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Passes Laravel Package

chiiya/passes

chiiya/passes is a Laravel package for creating Apple Wallet passes. Build pass models with a familiar Eloquent-style API, add images, barcodes, and fields, then sign and serve ready-to-download .pkpass files directly from your PHP application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for wallet credentials. This package is the core enabler of an "own it" strategy: it makes pass generation a few days of integration work rather than a new vendor contract. It directly informs the decision between a wallet SaaS (PassKit, Passcreator, PassSlot, etc.) billed per pass/MAU and an in-house implementation with near-zero marginal cost per issued pass.
  • Roadmap unlocks. Any feature surface where a persistent, phone-native card creates retention or reduces friction: loyalty/punch cards, membership and discount cards, gym and subscription IDs, event and cinema tickets, boarding/transit passes, coupons and gift cards, staff/visitor badges, and proof-of-insurance or registration cards. If any of these sit in the next 2–4 quarters, this package is a foundational dependency, not a nice-to-have.
  • Scope boundary: generation vs. lifecycle. The package solves creating and signing passes. It does not, by itself, give you the full Apple Wallet Web Service (device registration, push-triggered refresh, pass voiding/expiry at scale) or Google Wallet's object lifecycle callbacks. That gap is a real product decision: decide early whether "live-updating passes" is v1 (customer expects balance/points to refresh) or v2. This is the single largest hidden estimate in any wallet roadmap.
  • Platform parity. Because one API covers both Apple PassKit and Google Wallet, it supports a "ship iOS and Android together" commitment instead of the common iOS-first, Android-later compromise — which matters if your users skew Android in specific markets.
  • Commercial model. Enables flat-rate or unlimited pass issuance without a per-pass COGS line, which changes how you can price a loyalty or membership tier.
  • Operational ownership. Adoption is a commitment to owning Apple Developer Program enrollment, a Pass Type ID, signing certificates and their rotation, plus a Google Wallet issuer account and service account keys. That is a security and ops decision as much as an engineering one — sponsor it accordingly.

When to Consider This Package

Consider it when most of these hold:

  • Your backend is PHP, and especially Laravel — the package is framework-native (config publishing, storage/URL handling, artisan support) and drops in with minimal glue.
  • You need both Apple and Google Wallet. If you only ever need .pkpass files, smaller Apple-only libraries may be simpler; the cross-platform abstraction is where this earns its place.
  • You want passes generated server-side, deterministically, inside your existing deploy, secrets, and observability stack — no third-party receiving your customer data.
  • Volumes are meaningful enough that per-pass SaaS pricing becomes a visible line item, or you expect passes to be re-issued frequently (which SaaS pricing often meters).
  • Your pass designs are conventional: store cards, coupons, event tickets, generic membership. The library's fluent builders map cleanly onto standard pass styles.
  • You're comfortable treating certificate and key management as first-class infrastructure.

Look elsewhere when:

  • Your stack is not PHP — a Node, Go, Ruby, or mobile-native codebase gets little from this and should use platform SDKs or a SaaS.
  • You want a complete wallet product, not a generator: campaign tooling, geo-fenced push, A/B-tested pass designs, analytics on installs/opens, segmentation, and a UI for marketing to edit passes. That is a SaaS buy, and bolting it onto a library is a multi-quarter effort.
  • You need live, high-frequency pass updates pushed to devices in v1. Verify Apple Web Service support in the library's current state before committing; otherwise budget for building and hosting that endpoint yourself.
  • You have no appetite for Apple Developer Program membership, certificate custody, and rotation — a managed vendor absorbs that.
  • You require hard vendor SLAs, support contracts, or compliance attestations. At ~68 GitHub stars this is a small, likely single-maintainer project under MIT; it is high-quality but not a vendor relationship.
  • You need edge capabilities — NFC-enabled access control, advanced event ticket seating metadata, or identity document formats — where platform-specific work will dominate regardless.

Adoption guardrails: pin the version, wrap the library behind a thin internal PassIssuer interface so it can be swapped for a SaaS or platform SDK later, keep certificates in a secrets manager rather than the repo, and write one integration test per pass type that asserts the signed artifact validates.

How to Pitch It (Stakeholders)

For executives (one paragraph). We can add Apple and Google Wallet cards — loyalty, membership, tickets, IDs — using an MIT-licensed open-source library instead of a per-pass SaaS contract. It removes a recurring per-issued-pass cost, keeps customer data inside our own infrastructure, and turns a feature that would otherwise be a vendor onboarding project into a contained build. The principal costs are one-time: Apple Developer Program fees (~$99/year), a Google Wallet issuer setup, and the engineering time to own certificate handling. The main trade-off is that we own the operational responsibility and depend on a small open-source project, which we mitigate by isolating it behind our own interface so it can be replaced without a rewrite.

For engineering (the short version). PHP/Laravel-native, fluent builders for both .pkpass and Google Wallet objects, with signing and certificate loading handled for us. Plan for three things beyond the library: (1) a signed, publicly reachable URL per pass — Wallet fetches the artifact over HTTPS; (2) certificate/key lifecycle in a secrets manager with rotation, not in the repo; (3) confirming whether we need Apple's Web Service protocol for updates, and if so, owning that endpoint. Wrap it behind an internal interface, pin the version, and add a validation test per pass template. Budget most of the calendar time for Apple/Google account onboarding, not for code.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels