Adobe Commerce (Magento)
Intégration Magento (Adobe Commerce) pour ajouter les boutons « Ajouter à Wallet » Apple Wallet et Google Wallet dans Mon compte pour les cartes de fidélité et les cartes cadeaux.
Cette intégration explique comment ajouter un bouton unique « Add to Wallet » vers le Mon compte zone dans Adobe Commerce (Magento 2). Cette intégration Magento Apple Wallet / Google Wallet aide les clients à enregistrer une carte de fidélité ou d’adhésion (et éventuellement une carte-cadeau Wallet) directement dans leur Wallet mobile, à l’aide d’un identifiant disponible dans la session client Adobe Commerce.

Adobe Commerce et Magento Open Source partagent la même architecture de boutique Magento 2. Les modèles d’implémentation présentés sur cette page s’appliquent aux deux, avec de légères différences de déploiement et de configuration de sécurité.
Comment ça marche
Le SDK cinto de The Wallet Crew affiche le bon CTA selon l’appareil.
Sur iOS, le bouton télécharge une Carte Apple Wallet. Sur Android, il ouvre Google Wallet. Sur ordinateur, le SDK redirige vers une page de Carte hébergée qui peut être scannée ou ouverte sur mobile.
Dans cette configuration Adobe Commerce, la Carte est récupérée à l’aide de :
Une type de Carte (exemple :
utilisateur)Un identifiant client Magento envoyé en tant que identifiant externe (exemple :
magento.customer_Id)Un HMAC signature prouvant que l’identifiant a été émis par le backend de la marque
Prérequis
Un modèle de Carte et une émission de Carte déjà configurés dans The Wallet Crew.
L’identifiant du tenant The Wallet Crew disponible (utilisé par l’URL du script du SDK).
Un identifiant client stable disponible dans la session sur la page de compte. Cet identifiant est utilisé par The Wallet Crew pour récupérer ou créer la Carte. Le nom de la clé d’identifiant (exemple :
magento.customer_Id) est défini pendant l’onboarding du projet.
Ajoutez le bouton à la page de compte client Adobe Commerce
Les pages de la boutique Adobe Commerce sont construites à partir de XML de mise en page et modèles PHTML. Rendre le bouton depuis un bloc Magento conserve les secrets côté serveur et permet un échappement sûr des attributs HTML.
L’implémentation de référence ci-dessous ajoute le bouton à la page par défaut du tableau de bord client (customer/account).
Stockez le secret utilisé pour calculer le HMAC
Le secret HMAC doit rester côté serveur. Deux options courantes sont utilisées dans les projets Adobe Commerce.
Option A (recommandée) : stockez les valeurs dans app/etc/env.php
Stockez les valeurs dans la configuration de déploiement afin qu’elles ne soient pas modifiables depuis l’Admin Adobe Commerce.
Option B : stockez le secret comme variable d’environnement
Cela maintient les secrets hors du code source et hors de la base de données. Cela fonctionne également bien avec les déploiements conteneurisés.
Implémentation de référence (XML de mise en page + bloc + PHTML)
Cette implémentation crée :
un Bloc classe qui lit l’identifiant client connecté et calcule le HMAC
un modèle PHTML qui rend le chargeur SDK +
<div data-neostore-addToWalletButton ...>un XML de mise en page entrée qui insère le bloc dans le tableau de bord du compte client
Elle nécessite également un squelette de module minimal pour qu’Adobe Commerce puisse charger les fichiers.
Après le déploiement des fichiers, activez le module et actualisez les fichiers générés ainsi que les caches.
Notes sur le nom de l’identifiant externe
Les navigateurs convertissent les attributs HTML en minuscules. Le SDK cinto inclut une règle d’échappement pour préserver les majuscules en les préfixant avec _.
C’est pourquoi magento.customer_Id est écrit avec un underscore avant I. Sans l’underscore, customer_Id serait interprété comme customerid.
Facultatif : liste d’autorisation CSP Adobe Commerce
Certaines configurations Adobe Commerce imposent une Content Security Policy qui peut bloquer par défaut les scripts tiers. Si le script SDK est bloqué, ajoutez à la liste d’autorisation https://sdk.neostore.cloud.
Si le projet utilise le mécanisme de liste blanche CSP de Magento, ajouter l’hôte du SDK à la liste d’autorisation pour script-src suffit généralement.
Valider le résultat
La validation couvre généralement le rendu de la plateforme et l’installation de la Carte.
Dans Safari sur iOS, le CTA doit afficher Ajouter à Apple Wallet.
Dans Chrome sur Android, le CTA doit afficher Ajouter à Google Wallet.
Sur ordinateur, le CTA doit rediriger vers une page de Carte hébergée.
Après installation, la Carte doit être visible dans Apple Wallet ou Google Wallet.
Dépannage
Le bouton ne s’affiche pas
Les causes courantes sont un script SDK bloqué (CSP) ou un balisage manquant. Le HTML final doit contenir le chargeur SDK cinto et le <div data-neostore-addToWalletButton ...> élément.
Cliquer sur le bouton provoque une erreur
Cela signifie généralement que l’identifiant externe ou le HMAC ne correspond pas à ce qu’attend The Wallet Crew. Vérifiez :
Le nom de la clé d’identifiant externe correspond à celui configuré pour Magento (exemple :
magento.customer_Id).Le HMAC a été calculé avec le bon secret de tenant et la valeur exacte de l’identifiant.
La mauvaise langue s’affiche
Définissez { language: "fr" } (ou un autre code langue ISO 639) dans initialize() options.
FAQ
Mis à jour


Comment gérer la rotation du secret ?
Un plan de rotation utilise généralement une courte fenêtre de chevauchement. Pendant cette fenêtre, le backend peut accepter à la fois l’ancien et le nouveau secret pour la validation du HMAC. Après la fenêtre, seul le nouveau secret reste actif.