We are testing SubscriptionContractCalculation API in our dev store but the coupon validation seems to be backwards.
Coupon with purchase type subscription works with subscriptionDraftDiscountCodeApply, but applying it through discountCodes.redeemCode in the SubscriptionContractCalculation API returns:
[{"code":"DISCOUNT_CODE_NOT_APPLIED","message":"<strong style="text-transform:uppercase">snowboard-15 discount code isn’t valid for the items in your cart"}]
Changing its purchase type to one-time purchase makes it apply in the new API.
For some reason it seems like that purchase-type eligibility is evaluated backwards.
query that doesn’t accept subscription coupons:
#graphql
mutation SubscriptionContractUpdateCalculate(
$contractId: ID!
$input: SubscriptionContractCalculationContractUpdateInput!
) {
subscriptionContractUpdateCalculate(
contractId: $contractId
contractUpdateInput: $input
) {
subscriptionContractCalculation {
... on SubscriptionContractCalculationPending {
id
}
}
userErrors {
field
message
}
}
}
old query that works:
#graphql
mutation SubscriptionDraftDiscountCodeApply($draftId: ID!, $redeemCode: String!) {
subscriptionDraftDiscountCodeApply(draftId: $draftId, redeemCode: $redeemCode) {
appliedDiscount {
id
redeemCode
rejectionReason
}
draft {
id
}
userErrors {
field
message
code
}
}
}
;
API version: unstable