[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

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
NOTE
Le correctif peut s’appliquer à d’autres versions avec de nouvelles versions de Quality Patches Tool. Pour vérifier si le correctif est compatible avec votre version d’Adobe Commerce, mettez à jour le package 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 :

  1. Créez une règle de prix de panier avec un coupon limité à un utilisateur par client.

  2. Passez une commande contenant deux articles.

  3. Augmentez la quantité d'un article à deux unités ou plus et appliquez le coupon.

  4. Vérifiez que les tables de base de données suivantes comportent des entrées :

    1. La commande stocke correctement le coupon dans la table des sales_order.
    2. Le tableau salesrule_coupon_usage indique times_used = 1.
    3. Le tableau salesrule_customer indique times_used = 1.
  5. Créez une facture partielle en ne facturant qu'une seule unité de l'article.

  6. Annuler la quantité restante non facturée.

  7. Vérifiez les valeurs des champs times_used dans les tableaux salesrule_coupon_usage et salesrule_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 :

Lecture connexe

Pour en savoir plus sur Quality Patches Tool, consultez :

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3