Activer les abonnements pour les produits Adobe Commerce
Tous les produits Adobe Commerce virtuels ou simples peuvent être transformés en abonnement à partir de la page de configuration du produit, dans votre panneau d’administration. Lorsqu’un client achète un abonnement, le module associe un paiement récurrent à cette commande à l’aide de Stripe Billing. Stripe gère l’abonnement et les tentatives de prélèvement récurrentes en fonction des paramètres d’abonnement figurant dans Adobe Commerce. Stripe peut également informer le client en cas d’échec de paiement et lui demander de mettre à jour ses informations de facturation. Vous pouvez contrôler ces actions dans vos paramètres d’abonnement et d’e-mails.
Lorsque le paiement aboutit, Stripe envoie une notification de webhook à votre site Web. À chaque renouvellement, le module crée automatiquement une nouvelle commande dans votre panneau d’administration Adobe Commerce. Ces commandes récurrentes n’incluent pas les frais d’abonnement initiaux, et le module recalcule les frais de livraison et les taxes pour chaque abonnement récurrent.
Activer et configurer des abonnements
Vous pouvez activer des abonnements pour tout produit Adobe Commerce depuis la page de configuration des produits. Lorsque vous créez ou modifiez un produit, faites défiler la page jusqu’à la section Abonnements Stripe :
Options de configuration pour les abonnements
Vous disposez ici des options suivantes :
- Activation d’abonnement : activez cette option pour convertir ce produit en un abonnement et créer automatiquement un abonnement lorsque les clients achètent ce produit. En effet, vous n’avez pas besoin de créer d’abonnement sur votre compte Stripe : celui-ci est automatiquement créé pour ce produit lorsque vos clients procèdent au règlement.
- Fréquence : sélectionnez l’option Jours, Semaines, Mois ou Années. L’interface client affiche la fréquence choisie ici. Si vous préférez afficher 30 jours au lieu de 1 mois, définissez plutôt la fréquence sur Jours. Si vous choisissez Jours, cela se reflétera dans le cycle d’abonnement sur votre compte Stripe.
- Répéter tous les : définit la durée du cycle de facturation en fonction de la fréquence spécifiée. Par exemple, si vous indiquez la valeur « 30 » avec la fréquence Jours, le client sera facturé tous les 30 jours.
- Jours d’essai : saisissez le nombre de jours avant le premier paiement pour l’abonnement (c’est-à-dire le nombre de jours gratuits).
- Frais initiaux : saisissez un montant à facturer en sus du tarif de l’abonnement.
- Démarrer à une date spécifique : permet d’afficher les options de saisie d’une date de début personnalisée. Ainsi, lorsque les clients s’abonnent, l’abonnement commence à la date spécifiée au lieu de commencer immédiatement.
- Sélectionner la date de début : indique la date de début de l’abonnement. Le format est une date spécifique, mais la date de début passe au prochain cycle de facturation applicable s’il s’agit d’une date dans le passé. Par exemple, si la date de début est le
01/01/2024
, un abonnement mensuel commencera toujours le 1er du mois, tandis qu’un abonnement semestriel commencera toujours le 1er janvier ou le 1er juillet. - Premier paiement : indiquez comment encaisser le premier paiement lorsque vous activez une date de début :
- Encaissez le paiement à la date de début spécifiée.
- Encaissez le premier paiement au moment de la commande et tous les paiements suivants à la date de début spécifiée. Cette option est utile pour les abonnements à des produits physiques qui sont expédiés immédiatement après la passation de commande, avant de se conformer à la date de début du cycle de facturation pour les prochains envois.
- Calculer le premier paiement au prorata : ce champ apparaît si vous définissez un premier paiement immédiat. Activez ce paramètre pour tenir compte du nombre de jours écoulés entre la date de la commande et la date de début de l’abonnement. Ainsi, le premier paiement tiendra compte du cycle de facturation raccourci avant que l’abonnement démarre pleinement.
- Les clients peuvent modifier leur abonnement : activez cette option pour permettre aux clients de modifier leur abonnement à partir de leur compte client. Ils peuvent modifier la quantité, les options personnalisables, les options configurables ou les options d’offre groupée de chaque élément de la commande. Ces options de modification supplémentaires ne concernent pas les modifications standard telles que l’adresse de livraison, le mode d’expédition ou le moyen de paiement, que les clients peuvent modifier à tout moment.
- Calculer les mises à niveau au prorata : activez cette option pour appliquer des frais afin de tenir compte de toute différence de prix lorsqu’un client met à niveau son abonnement entre deux cycles de facturation. Désactivez cette option pour reporter le nouveau prix de l’abonnement au cycle de facturation suivant.
- Calculer les passages à une offre inférieure au prorata : activez cette option pour créditer le solde du compte du client lorsqu’il passe à un abonnement au tarif inférieur en milieu de cycle et appliquer le crédit aux futurs paiements d’abonnement. Désactivez cette option pour appliquer le prix inférieur au cycle de facturation suivant.
Abonnements configurables
Vous pouvez utiliser des produits configurables pour proposer à vos clients plusieurs options pour un seul produit. Les clients peuvent sélectionner l’option de leur choix à l’aide d’une liste déroulante, d’un échantillon visuel ou d’un échantillon de texte. Chaque option peut être un produit simple ou virtuel et ce produit peut lui-même être un abonnement.
Abonnement configurable
Accédez à Stores > Attributes > Product.
Créez un attribut et sélectionnez le type de saisie et les libellés de votre choix.
Veillez à assigner à l’attribut un périmètre Global.
Accédez à Stores > Attributes > Attribute Set et ajoutez l’attribut à un ensemble d’attributs.
Ajoutez l’ensemble d’attributs à vos produits individuels.
Vous pouvez désormais créer un produit configurable à l’aide des produits individuels mis à jour ci-dessus.
Abonnements groupés
Adobe Commerce vous permet de regrouper des produits lorsque vous souhaitez commercialiser plusieurs produits ensemble. Cela empêche les clients de retirer un produit du panier avant le paiement.
Lorsqu’un produit groupé comprend au moins un abonnement, Stripe considère le prix de l’ensemble comme le prix de l’abonnement. Pour les paiements récurrents, Stripe collecte à la fois le montant du poste groupé et celui de l’abonnement individuel.
Après l’encaissement du paiement, Adobe Commerce crée automatiquement une commande récurrente qui inclut l’ensemble des articles du lot (les articles par abonnement et les articles standard de la commande initiale). L’inventaire est ensuite traité pour l’abonnement et les autres produits du lot. Cela contraste avec les paniers qui incluent les abonnements et les produits standard séparément. Dans ce cas, les commandes récurrentes incluent uniquement le produit par abonnement.
Si vous souhaitez combiner un produit par abonnement avec un produit standard et ne facturer le produit par abonnement qu’au cours du cycle suivant, vous pouvez utiliser des produits groupés. Vous pouvez également configurer des frais initiaux pour l’abonnement lorsqu’il n’y a pas d’inventaire à traiter.
Changer d’abonnement
Les clients peuvent modifier les éléments suivants à partir de leur compte :
- Abonnements configurables, groupés, simples et virtuels
- Options personnalisables ou configurables
- Quantités
- Options de forfaits
- Adresse ou moyen de livraison
- Moyen de paiement
Les clients peuvent également basculer entre deux plans ou plus tant qu’ils appartiennent au même produit configurable.
Le client se connecte à son compte et accède à My subscriptions.
Il sélectionne l’abonnement à modifier et clique sur Modifier l’abonnement.
Le client est redirigé vers la page du produit par abonnement, où il peut modifier son plan, les quantités ou d’autres options de produit.
Lorsqu’ils cliquent sur Mettre à jour le panier, ils sont automatiquement redirigés vers la page de paiement, où ils peuvent consulter les tarifs de l’ancien et du nouvel abonnement.
Le client clique sur Modifier l’abonnement, ce qui met immédiatement à jour le tarif ou le plan de l’abonnement. Le client est ensuite redirigé vers Mes abonnements dans son compte.
Abonnement configurable
Vous pouvez activer ou désactiver les modifications d’abonnement pour chaque produit d’abonnement séparément ou vous pouvez utiliser le paramètre général sous Magasins > Configuration > Ventes > Moyens de paiement > Stripe > Abonnements.
Abonnement configurable
Calculs au prorata pour les abonnements virtuels
Le module prend en charge le calcul au prorata pour les abonnements virtuels. Vous pouvez activer les calculs au prorata séparément pour les passages à un abonnement supérieur ou inférieur.
Abonnement configurable
Le module compare le coût de l’abonnement actuel et du nouvel abonnement sur une période de 30 jours afin de déterminer s’il s’agit d’un passage à un abonnement supérieur ou inférieur. Si le coût du nouvel abonnement est moindre, nous considérons qu’il s’agit d’un passage à un abonnement inférieur. Si le tarif reste le même ou augmente, nous considérons qu’il s’agit d’un passage à un abonnement supérieur.
- En cas de passage à un abonnement inférieur, nous créons un remboursement sous forme d’avoir sur la commande d’origine.
- Pour les passages à un abonnement supérieur nécessitant un paiement complémentaire, nous créons immédiatement une nouvelle commande avec le résultat du calcul au prorata pour le reste de la période de facturation.
- Pour les passages à un abonnement supérieur sans modification du tarif, aucun paiement ni remboursement n’est effectué et nous ajoutons un commentaire à la commande d’origine pour indiquer que le client a modifié son abonnement.
Dans les trois cas, le module crée une commande de renouvellement avec le nouvel abonnement au cycle de facturation suivant.
Modification d’abonnements clients par lots à partir de la ligne de commande
Vous pouvez augmenter ou réduire le tarif de l’abonnement pour un produit spécifique, ou modifier les frais de livraison, le nom du produit ou les taux de taxe d’une commande. Pour ce faire, vous devez effectuer la migration des abonnements existants d’un ancien vers un nouveau plan en exécutant une commande via la CLI dans le module Stripe.
php bin/magento stripe:subscriptions:migrate-subscription-price <original_product_id> <new_product_id> [<starting_order_id> [<ending_order_id>]]
Cette opération entraîne la création d’une nouvelle commande pour new_product_id
, comme si le client avait passé la commande au règlement. Les informations de facturation et de livraison sont les mêmes que pour la commande initiale, et le moyen de paiement utilisé pour l’abonnement reste inchangé.
Le module recalcule les totaux de la commande en fonction des nouvelles règles fiscales, du mode de livraison, des changements de tarifs, etc. Si la commande initiale comportait des ristournes, celles-ci sont appliquées à la nouvelle commande. Le total ne tient pas compte des frais initiaux.
Le passage de la nouvelle commande annule la commande initiale, y compris le original_product_id
. Le module ajoute un commentaire à la commande initiale, lequel fait mention de la migration vers une nouvelle commande et de l’annulation de l’abonnement associé dans Stripe. Le client reçoit également un e-mail concernant la nouvelle commande, l’informant que les informations de facturation de son abonnement ont été modifiées. Il peut consulter les nouveaux totaux dans ce même e-mail.
Si le module ne peut pas passer la commande pour une raison quelconque, le système intégré de retour en arrière annule la création de la nouvelle commande et laisse la commande originale intacte.
Vous pouvez utiliser le paramètre original_product_id
comme new_product_id
pour que le module recalcule uniquement les totaux de la commande. Il est possible de migrer des produits d’abonnement simples (produits physiques avec une unité de gestion des stocks unique) vers des produits d’abonnement virtuels, mais pas l’inverse. Cette limitation est due au fait que, contrairement aux produits virtuels, les produits physiques requièrent une adresse de livraison.
Les paramètres d’identification de la commande sont facultatifs. S’ils ne sont pas spécifiés, le script traite toutes les commandes sur votre site web à partir de toutes les vues du magasin et de tous les modes Stripe. Si vous avez plusieurs comptes Stripe configurés, le script migre les abonnements de tous les comptes Stripe.
Migrer les abonnements Stripe d’une autre plateforme vers Adobe Commerce
Pour migrer des abonnements vers une autre plateforme, vous devez effectuer les actions suivantes :
Créez un mappage entre vos ID client Adobe Commerce et les ID client Stripe dans la base de données « stripe_customers » d’Adobe Commerce. Pour ce faire, utilisez l’instruction SQL suivante dans votre base de données :
INSERT INTO stripe_customers(customer_id, stripe_id, customer_email) VALUES ('2', 'cus_xxxxxxxxxx', 'janedoe@example.com');
Créez et configurez tous les produits d’abonnement pour les anciennes commandes depuis l’onglet Abonnements Stripe, sous la page de configuration de chaque produit :
Formulaire de configuration de l’abonnement
Migrez les commandes de votre ancienne plateforme vers Adobe Commerce. Si vous prévoyez de les créer manuellement à partir du panneau d’administration d’Adobe Commerce, vous pouvez utiliser le moyen de paiement Chèque/Mandat afin de ne pas encaisser de paiement réel. Une fois la migration des commandes terminée, vous pouvez alors remplacer ce moyen de paiement par Stripe à l’aide de la commande SQL suivante :
UPDATE sales_order_payment SET method='stripe_payments' WHERE method='checkmo';
Après avoir créé les commandes et les produits dans Adobe Commerce, mettez à jour les abonnements existants sur votre compte Stripe afin de définir les métadonnées suivantes :
Liste des métadonnées relatives à l’abonnement
Testez la création de commandes récurrentes basées sur les renouvellements d’abonnements :
- Vérifiez que vous avez configuré au moins un webhook dans votre Dashboard Stripe sous Développeurs > Webhooks.
- Dans la section Événements Stripe, recherchez un événement que vous souhaitez tester. Le type d’événement doit être défini sur
invoice.payment_succeeded
et la facture doit être associée à un abonnement. - Dans votre répertoire racine Magento, déclenchez l’événement en utilisant la commande
bin/magento stripe:webhooks:process-event <event_id>
. - Veillez à ce que la console ne contienne aucune erreur et que le module ait créé une commande d’abonnement récurrent dans Adobe Commerce.