Un seul lien
<a href="addpkpass://yourdomain.com/passes/ticket-123.pkpass"> : WebViewGold le retransforme en URL https:// et l'ouvre dans un onglet de navigateur intégré, qui reconnaît le pass et affiche l'aperçu natif Ajouter à Apple Wallet.
Bolt + Apple Wallet
Si votre app Bolt vend des billets d'événement, gère un programme de fidélité ou distribue des coupons, le pass a sa place dans Apple Wallet, sur l'écran verrouillé au moment où il compte. WebViewGold ajoute le chaînon manquant : remplacez https:// par addpkpass:// dans l'URL de votre fichier .pkpass et iOS affiche la feuille native Ajouter à Apple Wallet. Vous créez et signez toujours le pass vous-même, et sur Android, Google Wallet fonctionne via son propre lien d'enregistrement web.
Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.
<a href="addpkpass://yourdomain.com/passes/ticket-123.pkpass"> : WebViewGold le retransforme en URL https:// et l'ouvre dans un onglet de navigateur intégré, qui reconnaît le pass et affiche l'aperçu natif Ajouter à Apple Wallet.
Un fichier .pkpass est un paquet signé (pass.json, images, un manifeste et une signature) créé avec votre propre certificat Pass Type ID issu de votre compte Apple Developer. Générez-le sur votre serveur ou avec un service de pass ; WebViewGold le transmet à Wallet.
HTTPS, le type MIME application/vnd.apple.pkpass et une signature valide. Si l'un des trois fait défaut, iOS ne peut pas afficher l'aperçu et l'utilisateur voit une erreur à la place.
Depuis 2024, Google Wallet peut importer de nombreux fichiers .pkpass, mais la prise en charge varie selon l'appareil et le pass, et le schéma addpkpass:// est réservé à iOS. La voie fiable sur Android est un pass Google Wallet créé avec la Google Wallet API et le bouton officiel Ajouter à Google Wallet, qui pointe vers une URL d'enregistrement sur pay.google.com signée par votre serveur.
Collez ceci dans Bolt pour implémenter la partie app web. Vérifiez le résultat, publiez, puis testez dans l'app WebViewGold.
Ajoutez la prise en charge d'Apple Wallet pour les billets de cette app (wrapper iOS WebViewGold). Créez une Netlify Function create-pass qui s'exécute après un webhook de paiement Stripe réussi : elle construit un pass eventTicket avec passkit-generator (titre de l'événement, date, lieu, place, un code-barres QR avec le code du billet, relevantDate), le signe avec le certificat Pass Type ID, la clé et le certificat WWDR chargés depuis la configuration côté serveur, et stocke le fichier dans un bucket Supabase Storage privé, avec un token de téléchargement aléatoire dans une table passes. Créez une Netlify Function get-pass qui renvoie le fichier pour ?t=TOKEN avec Content-Type application/vnd.apple.pkpass. Sur les pages de confirmation de commande et de billet, affichez le badge Ajouter à Apple Wallet d'Apple : dans l'app iOS (le user agent contient mon token WebViewGold ainsi qu'iPhone ou iPad), pointez vers l'URL de get-pass en remplaçant https:// par addpkpass://, dans Safari vers l'URL https, et sur Android affichez un bouton Télécharger le billet PDF. Gardez chaque certificat et chaque clé hors des variables VITE_.

WebViewGold nous a permis d'avoir le temps de mise sur le marché le plus court et le plus efficace jamais possible parmi toutes les autres plates-formes d'application que nous avons essayées au cours des 5 dernières années. Je ne sais pas pourquoi je ne vous ai pas découvert plus tôt, mais je suis vraiment, vraiment content de l'avoir fait. Nous approchons actuellement les 6000 téléchargements d'application sur l'App Store iOS et Google Play Store sans aucun problème!
Apple Wallet propose cinq styles de pass : billet d'événement, carte de magasin, coupon, carte d'embarquement et générique. Ceux qui reviennent le plus souvent :
Ateliers, meetups, concerts, cours. Un QR code avec l'ID du billet, la date et le lieu, et une date pertinente (relevant date) pour que le pass apparaisse sur l'écran verrouillé avant l'événement.
Cafés, salons, salles de sport. Une carte de magasin avec le numéro de membre en code-barres et un solde de points que vous pouvez mettre à jour plus tard.
Un code de réduction scanné en caisse ou présenté au paiement, avec une date d'expiration visible par l'utilisateur.
Adhésions à un club, accès à un espace de coworking, pass VIP ou pass saison : l'identification fait partie des usages qu'Apple cite explicitement.
Une journée pour le premier type de pass ; ce sont les certificats qui prennent le plus de temps.
Dans votre compte Apple Developer, sous Certificates, Identifiers & Profiles, enregistrez un Pass Type ID (par exemple pass.com.yourcompany.tickets), créez son certificat et téléchargez le certificat intermédiaire WWDR d'Apple. Les deux vont sur votre serveur, jamais dans le client.
Une fonction serveur dans Supabase, Firebase ou votre propre API construit pass.json (numéro de série, code-barres avec le code du billet, date ou lieu pertinents) et le signe, par exemple avec passkit-generator sous Node ou via une API de pass hébergée. Enregistrez le numéro de série avec la commande.
L'onglet de navigateur intégré peut ne pas partager les cookies de connexion de la WebView : donnez à l'URL du pass un token signé de courte durée au lieu de compter sur la session de connexion.
Utilisez le badge officiel Ajouter à Apple Wallet d'Apple. Dans l'app iOS, liez le pass avec addpkpass:// ; dans Safari, le lien https simple fonctionne nativement ; sur Android, affichez le bouton Google Wallet ou un billet PDF.
Ajoutez webServiceURL et authenticationToken à pass.json et implémentez le service web de pass d'Apple ; quand une porte d'accès, une place ou un solde de points change, vous prévenez l'appareil via APNs et Wallet télécharge la nouvelle version.
Ajoutez un pass, ouvrez-le depuis l'écran verrouillé, essayez un token expiré et un billet annulé. Vérifiez que le code-barres se scanne avec le lecteur que vous utilisez réellement à l'entrée.
Votre serveur renvoie les deux URL ; la page choisit la bonne. YourAppToken est le user agent personnalisé de Config.swift / Config.java.
var ua = navigator.userAgent;
var inApp = ua.indexOf("YourAppToken") !== -1;
var isIOS = /iPhone|iPad|iPod/.test(ua);
var isAndroid = /Android/.test(ua);
// pass = {
// pkpassUrl: "https://yourdomain.com/passes/T-1042.pkpass?t=SIGNED_TOKEN",
// googleSaveUrl: "https://pay.google.com/gp/v/save/SIGNED_JWT", // créée par votre serveur
// pdfUrl: "https://yourdomain.com/tickets/T-1042.pdf"
// }
function walletLink(pass) {
if (isIOS && inApp) return pass.pkpassUrl.replace(/^https:\/\//, "addpkpass://");
if (isIOS) return pass.pkpassUrl; // Safari ouvre les .pkpass nativement
if (isAndroid && pass.googleSaveUrl) return pass.googleSaveUrl;
return pass.pdfUrl; // ordinateur et solution de repli
}
document.getElementById("add-to-wallet").href = walletLink(window.currentPass);WebViewGold n'a pas d'API Google Wallet dédiée, et le schéma addpkpass:// est réservé à iOS. La voie web fonctionne bien :
BROWSER_BLACKLIST dans Config.java, ou préfixez le lien par newtab: et définissez SPECIAL_LINK_HANDLING_OPTIONS sur 2 (documentation de la gestion des URL).Non. WebViewGold transmet un pass à Apple Wallet. La création et la signature du fichier .pkpass se font sur votre serveur ou dans un service de pass, avec votre propre certificat Pass Type ID issu de l'Apple Developer Program.
Apple Wallet n'existe que sur les appareils Apple. Google Wallet peut importer de nombreux fichiers .pkpass sur les téléphones Android récents, mais la prise en charge varie : la voie fiable est donc un pass Google Wallet créé via la Google Wallet API, dont le lien d'enregistrement s'ouvre en dehors de la WebView (BROWSER_BLACKLIST dans Config.java), là où l'utilisateur est connecté à Google. WebViewGold n'a pas d'API Google Wallet dédiée.
Oui, avec le service web de pass d'Apple : incluez webServiceURL et authenticationToken dans pass.json, et Wallet enregistre l'appareil auprès de votre serveur. Quand la porte, la place ou le solde change, vous envoyez un push via APNs et Wallet récupère la nouvelle version.
Cet onglet reconnaît le type de contenu .pkpass et affiche l'aperçu natif Ajouter à Apple Wallet. Il peut ne pas partager ses cookies avec la WebView principale : l'URL du pass doit donc fonctionner sans la session de connexion de l'app, par exemple avec un token signé qui expire.
Oui. Safari sur iPhone et sur Mac ouvre nativement les liens .pkpass : la même URL https fonctionne donc sur le web ; seule l'app utilise le préfixe addpkpass://.
Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.
$109 par plateforme, paiement unique
La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.
Voir les offres sur la page principale$349 par licence, extension en paiement unique
Ni Mac, ni Xcode, ni Android Studio : configurez dans le navigateur, nous compilons les deux apps dans le cloud et les transmettons à App Store Connect et à la Play Console.
Comment fonctionne le Cloud Builder Essayer la démo gratuite$698 par plateforme $798
Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.
Détails du Full Service Propulsé parPrix Soldes d'hiver valables jusqu'au 31 décembre 2026.
Garantie d'approbation App Store & Google Play – ou remboursement sous 14 jours
Vous préférez déléguer ? Full Service : nous configurons, compilons et livrons sous 72 heures, dès $698 par plateforme. Des questions ? Chattez avec nous 24/7.
Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.