Shopify - Supprimer la session lors du paiement
Obsolète - Voir Shopify - Activer le post-traitement de la commande et la synchronisation des stocks
Dans un premier temps, vous devrez cocher la case « Détruire la session lors du paiement » dans les paramètres de votre domaine et définir l'URL de confirmation sur /checkouts?/.*/thank[_|-]you

Vous devrez ensuite ajouter un script à votre boutique Shopify qui s'exécutera lorsque le client aura terminé son processus de paiement.
Il existe deux options pour activer la fonction « Destroy session on checkout » sur votre boutique Shopify : « Custom pixel » ou « Additional Scripts ».
Option 1 : Pixel personnalisé (recommandé)
Ajouter un pixel personnalisé pour détecter la événement « checkout_completed » ».
1. Accédez à la page « Événements clients » dans les paramètres de votre application Shopify : https://admin.shopify.com/settings/customer_events

2. Cliquez sur « Ajouter un pixel personnalisé »

3. Donnez un nom au pixel personnalisé (dans cet exemple, nous l'appelons « CH-Destroy-On-Checkout »), puis cliquez sur « Ajouter un pixel ».

4. Copiez le code JavaScript ci-dessous et collez-le dans l'éditeur de code pixel
analytics.subscribe('checkout_completed', (event) => {
try {
const crowdhandler_tokens = localStorage.getItem("crowdhandler");
const ch_tokens = JSON.parse(crowdhandler_tokens);
if (ch_tokens && ch_tokens.token) {
const href = encodeURI(event.context.document.location.href);
const public_api_key = '<CH_PUBLIC_KEY>';
const token = ch_tokens.token[event.context.document.location.hostname];
if (token) {
const uri = `https://api.crowdhandler.com/v1/requests/${token}?url=${href}&ch-public-key=${public_api_key}`;
fetch(uri, {
method: 'GET'
});
}
}
} catch (error) {
}
});
Ça devrait ressembler à ça.

Replace <CH_PUBLIC_KEY> with your CrowdHandler Public API key. For example:
const public_api_key = '04d34378b3abc6e3ce870828471636b9d1e157a1b7720821aed4c260108ebe22'
5. Cliquez sur « Enregistrer » pour enregistrer votre pixel personnalisé.
6. Cliquez sur « Se connecter » pour associer votre pixel personnalisé à votre boutique.
Option 2 : supplémentaires#
Pour activer la fonction « Destroy session » lors du paiement, vous devrez ajouter la balise JavaScript standard CrowdHandler à votre page d'état de la commande. Pour ce faire, vous pouvez utiliser le champ « Scripts supplémentaires » de Shopify.
1. Accédez aux paramètres de votre boutique et cliquez sur « Paiement ».

2. Faites défiler la page vers le bas : vous trouverez alors la zone « Scripts supplémentaires » correspondant à la page « Statut de la commande ».

3. Insérez la balise de script suivante dans la section
de toutes les pages que vous souhaitez protéger.Remplacez « your-public-key » par votre clé API publique.
<script src="https://wait.crowdhandler.com/js/latest/main.js?id=your-public-key"></script>
Par exemple, si votre clé API publique est 123456abcedf123456abcedf123456abcedf123456abcedf123456abcedf123, votre balise de script sera alors
<script src="https://wait.crowdhandler.com/js/latest/main.js?id=123456abcedf123456abcedf123456abcedf123456abcedf123456abcedf123"></script>
Notez que cette inclusion JavaScript n'est pas la même que le fichier inclus dans votre fichier theme.liquid.
4. Enregistrez vos paramètres.
Une fois que l'utilisateur aura consulté la page « Statut de la commande », sa session CrowdHandler sera fermée et il sera redirigé vers la salle d'attente s'il accède à une nouvelle page, le cas échéant.