ここでのベストプラクティスは、次のことを行うことだと思います。
カートの総費用を計算します (ただし、支払いは処理しません)。
totalCost = (all A) + (all B) + (all C)
クーポン適用時のカートの合計割引額を計算
couponDiscount = 15% (as an example)
discountedPrice = totalCost * (100% - 15%)
各製品の割引価格を分けます。
discounted price for all of A = discountedPrice * ((all A) / totalCost))
process payment for product "A"
discounted price for all of B = discountedPrice * ((all B) / totalCost)
process payment for product "B"
discounted price for all of C = discountedPrice * ((all C) / totalCost)
process payment for product "C"
そして、それはそれを行う必要があります!
基本的に、製品「A」で構成されている割引価格と非割引価格の両方((all A) / totalCost)
の割合を表します。そのパーセンテージに割引価格を掛けると、製品「A」の「調整された」割引価格が得られます。次に、各製品についてプロセスを繰り返すだけです。
それが役立つことを願っています! お気軽にご質問ください。