Shopify - Supprimer la session lors du paiement

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.

https://help.shopify.com/en/manual/orders/status-tracking/customize-order-status#add-additional-scripts

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.