Skip to content

nowo-tech/WalletQRBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wallet QR Bundle

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Give it a star on GitHub! It helps us maintain and improve the project.

Symfony bundle to generate Google Wallet (Android) and Apple Wallet (iOS) save links with QR codes.

📋 Requires PHP 8.2+ and Symfony 7.x or 8.x

Features

  • ✅ Google Wallet Add to Google Wallet save links (signed JWT)
  • ✅ Apple Wallet .pkpass download URL builder for iOS QR codes
  • ✅ PNG QR codes as data URIs (Twig helpers included)
  • ✅ Pair generation for Android + iOS in one call
  • ✅ Symfony configuration under nowo_wallet_qr
  • ✅ URL validation for custom QR links (QrUrlPolicy; optional host allowlist)
  • ✅ Demo apps for Symfony 7 and 8 (FrankenPHP)

Quick start

composer require nowo-tech/wallet-qr-bundle endroid/qr-code firebase/php-jwt
# config/packages/nowo_wallet_qr.yaml
nowo_wallet_qr:
    google_wallet:
        enabled: true
        issuer_id: '%env(GOOGLE_WALLET_ISSUER_ID)%'
        service_account_json: '%kernel.project_dir%/config/google-wallet-service-account.json'
        origins: ['www.example.com']
    apple_wallet:
        enabled: true
        pass_download_url_pattern: 'https://www.example.com/wallet/{pass_id}.pkpass'
    qr_code:
        size: 300
use Nowo\WalletQrBundle\Model\GoogleWalletPassReference;
use Nowo\WalletQrBundle\Service\WalletQrService;

$reference = GoogleWalletPassReference::withIssuer(
    $issuerId,
    objectSuffix: 'MEMBER_001',
    classSuffix: 'MEMBER_CLASS',
);

$pair = $walletQrService->createWalletQrPair($reference, applePassId: 'MEMBER_001');
// $pair['android']->qrCodeDataUri, $pair['ios']->qrCodeDataUri

Documentation

Additional documentation

Development

make up
make test
make test-coverage
make release-check

Demos: make -C demo/symfony8 up

Tests and coverage

Language Coverage
PHP ~100% lines

Run make test-coverage for the detailed report.

License

MIT — see LICENSE.

About

Symfony bundle to generate Google Wallet (Android) and Apple Wallet (iOS) save links with QR codes.

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors