All Release Notes
Added support for discounting the Cart total
28 September 2023
Composable Commerce
HTTP API
Enhancement
Pricing and DiscountsCartsOrdersGraphQL
You can now create Cart Discounts that target the total price of a Cart. With this enhancement, you can configure promotions such as spend 200€ and get 5€ off the cart total. Previously, this discount configuration was not supported.
Changes:
- [API] Added
discountOnTotalPricefield to Cart and Order. - [API] Added DiscountOnTotalPrice and DiscountedTotalPricePortion to the Carts API.
- [API] Added CartDiscountTotalPriceTarget type to the Cart Discounts API.
- [GraphQL API] Added the following types to the GraphQL schema:
DiscountOnTotalPrice,DiscountedTotalPricePortion,CartDiscountTotalPriceTarget. - [GraphQL API] Changed the
CartDiscountTargetInputtype:- Input field
totalPricewas added toCartDiscountTargetInputtype
- Input field
- [GraphQL API] Changed the
CartandOrdertype:- Added the
discountOnTotalPricefield to theCartandOrdertype.
- Added the
The following changes were introduced in terms of GraphQL SDL:
extend type Cart {"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"discountOnTotalPrice: DiscountOnTotalPrice}extend type Order {"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"discountOnTotalPrice: DiscountOnTotalPrice}extend input CartDiscountTargetInput {totalPrice: CartDiscountTotalPriceTargetInput}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"type CartDiscountTotalPriceTarget implements CartDiscountTarget {type: String!}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"input CartDiscountTotalPriceTargetInput {dummy: String}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"type DiscountOnTotalPrice {discountedAmount: BaseMoney!includedDiscounts: [DiscountedTotalPricePortion!]!discountedNetAmount: BaseMoneydiscountedGrossAmount: BaseMoney}"BETA: This feature can be subject to change and should be used carefully in production. https://docs.commercetools.com/api/contract#public-beta"type DiscountedTotalPricePortion {discount: CartDiscountdiscountRef: Reference!discountedAmount: BaseMoney!}