As of the 2024-01 release of the GraphQL Admin API, the
SubscriptionBillingAttemptCreate mutation now prevents the creation of Billing Attempts if a subscription contract has a terminal status:
We've also added the
CONTRACT_TERMINATED error code to the
BillingAttemptUserErrorCode enum. This new error code is returned in the case where Billing Attempt creation is prevented.
Learn more about the Subscription Contracts API and Billing Attempts on Shopify.dev.