ACSD-69261 : coupon de règle de prix de panier à usage unique réutilisé en raison d'une gestion incorrecte des times_used dans les flux de facturation et d'annulation partiels
Le correctif ACSD-69261 corrige le problème où un coupon de règle de prix de panier configuré pour une utilisation unique par client a été réutilisé plusieurs fois en raison d’une gestion incorrecte de l’attribut times_used dans les scénarios d’annulation de facture partielle et de quantité restante. Ce correctif est disponible lorsque la version 1.1.76 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACSD-69261. Notez que ce problème doit être résolu dans Adobe Commerce 2.4.9.
Produits et versions concernés
Le correctif est créé pour la version Adobe Commerce :
- Adobe Commerce (toutes les méthodes de déploiement) 2.4.6-p13
Compatible avec les versions d’Adobe Commerce :
- Adobe Commerce (toutes les méthodes de déploiement) 2.4.4 - 2.4.8-p3
magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la page Quality Patches Tool : Rechercher des correctifs. Utilisez l’ID du correctif comme mot-clé de recherche pour localiser le correctif.Problème
Un bon de règle de prix de panier configuré pour une utilisation unique par client peut être réutilisé de manière incorrecte plusieurs fois, en raison d’une gestion incorrecte de l’attribut times_used lors de la création partielle de la facture et de l’annulation de la quantité non facturée restante.
Procédure à suivre :
-
Créez une règle de prix de panier avec un coupon limité à un utilisateur par client.
-
Passez une commande contenant deux articles.
-
Augmentez la quantité d'un article à deux unités ou plus et appliquez le coupon.
-
Vérifiez que les tables de base de données suivantes comportent des entrées :
- La commande stocke correctement le coupon dans la table des
sales_order. - Le tableau
salesrule_coupon_usageindiquetimes_used= 1. - Le tableau
salesrule_customerindiquetimes_used= 1.
- La commande stocke correctement le coupon dans la table des
-
Créez une facture partielle en ne facturant qu'une seule unité de l'article.
-
Annuler la quantité restante non facturée.
-
Vérifiez les valeurs des champs
times_useddans les tableauxsalesrule_coupon_usageetsalesrule_customer.
Résultats attendus :
Le système ne décrémente la valeur times_used qu'après avoir annulé les quantités non facturées suite à une facture partielle, ce qui permet de réutiliser le coupon lorsqu'il est configuré pour une utilisation unique par client.
Résultats réels :
Après l’annulation, les valeurs de times_used sont réinitialisées à zéro au lieu de conserver leur nombre d’utilisations correct.
Application du correctif
Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :
- Adobe Commerce ou Magento Open Source On-premise : Quality Patches Tool > Utilisation dans le guide de Quality Patches Tool
- Adobe Commerce sur les infrastructures cloud : Mises à niveau et correctifs > Appliquer des correctifs dans le guide Commerce sur les infrastructures cloud .
Lecture connexe
Pour en savoir plus sur Quality Patches Tool, consultez :
- Quality Patches Tool : un outil en libre-service pour les correctifs de qualité dans le guide Outils .