How to Get Discount Codes already applied in Shopify Function input?

Nico4
Shopify Expert
25 0 10

The graphQL (Shopify Functions - Product API) does not seem to return the Discounts or Codes already applied in the Cart (ie. Automatic Discount)

 

Graphql:

query Input($tags: [String!]!) {
  cart {
    cost {
      subtotalAmount {
        amount
      }
      totalAmount {
        amount
      }
    }
    lines {
      quantity
      cost {
        amountPerQuantity {
          amount
        }
        compareAtAmountPerQuantity {
          amount
        }
        subtotalAmount {
          amount
        }
        totalAmount {
          amount
        }
      }
      merchandise {
        __typename
        ... on ProductVariant {
          id
          product {
            doTagsMatch: hasAnyTag(tags: $tags)
            id
          }
        }
      }
    }
  }
  discountNode {
    metafield(namespace: "$app:discount-price", key: "function-configuration") {
      value
    }
  }
}

Shopify input Log. The Functions does not seem to see 30% discount with the code EXTRA is already applied in the cart/checkout

{
  "cart": {
    "cost": {
      "subtotalAmount": {
        "amount": "300.0"
      },
      "totalAmount": {
        "amount": "300.0"
      }
    },
    "lines": [
      {
        "quantity": 1,
        "cost": {
          "amountPerQuantity": {
            "amount": "100.0"
          },
          "compareAtAmountPerQuantity": null,
          "subtotalAmount": {
            "amount": "100.0"
          },
          "totalAmount": {
            "amount": "100.0"
          }
        },
        "merchandise": {
          "__typename": "ProductVariant",
          "id": "gid://shopify/ProductVariant/44281460818228",
          "product": {
            "doTagsMatch": false,
            "id": "gid://shopify/Product/8085131100468"
          }
        }
      },
      {
        "quantity": 1,
        "cost": {
          "amountPerQuantity": {
            "amount": "100.0"
          },
          "compareAtAmountPerQuantity": null,
          "subtotalAmount": {
            "amount": "100.0"
          },
          "totalAmount": {
            "amount": "100.0"
          }
        },
        "merchandise": {
          "__typename": "ProductVariant",
          "id": "gid://shopify/ProductVariant/45604449288500",
          "product": {
            "doTagsMatch": true,
            "id": "gid://shopify/Product/8396169052468"
          }
        }
      },
      {
        "quantity": 1,
        "cost": {
          "amountPerQuantity": {
            "amount": "100.0"
          },
          "compareAtAmountPerQuantity": null,
          "subtotalAmount": {
            "amount": "100.0"
          },
          "totalAmount": {
            "amount": "100.0"
          }
        },
        "merchandise": {
          "__typename": "ProductVariant",
          "id": "gid://shopify/ProductVariant/45604736958772",
          "product": {
            "doTagsMatch": true,
            "id": "gid://shopify/Product/8396223971636"
          }
        }
      }
    ]
  },
  "discountNode": {
    "metafield": {
      "value": "{\"targetingStrategy\":\"tag\",\"tags\":[\"Sale\"],\"message\":\"10% Extra\",\"percentage\":10}"
    }
  }
}

 

Replies 5 (5)
lizk
Shopify Staff
Shopify Staff
246 57 62

Hi there 👋

Could you explain your use case why you need to access that discount information?

To learn more visit the Shopify Help Center or the Community Blog.

Nico4
Shopify Expert
25 0 10

The Merchant is asking us to replicate what we did with Shopify Scripts.

Logic:

Increase or Decrease the % of discount based on:

   - Entered Discount code

   - Product Tag

 

Example:

- User entered the Coupon Code EXTRA20 (20% discount)

- The Product has tag Sale (will get an extra 10% Off)

Result: We increase the Discount to 30%

lizk
Shopify Staff
Shopify Staff
246 57 62

Thanks for providing that additional context! 

I will provide this feedback to the team!
Keep your eyes out for new releases in this area, coming soon. 

To learn more visit the Shopify Help Center or the Community Blog.

kavishatalsania
Shopify Partner
18 0 4

When can we expect the release of this feature? 

slasw7
Shopify Partner
11 0 0

Hi @lizk , 

I am facing similar problem. Here's my case:

 

Currently, our site has free shipping for purchases over $500

We'll give discount code to some customers - $300 off

 

Customer A purchases $700 worth of products. Checkout total price = $200 

i.e. shipping fees applies.

 

Customer B purchases $1000 worth of products. Checkout total price = $700

i.e. shipping fees does not apply.

 

We would like to let both customer A & B enjoy free shipping because both Customer A & B purchases over $500 worth of products before applying the discount code.