Contract edits are now calculated by Shopify's checkout engine. Shopify Functions apply, results match what subscribers see at billing, and you can preview totals, delivery options, and warnings before saving. Migrating from the SubscriptionDraft API is recommended.
Still supported, but it doesn't get the newly announced features (Functions support, consistency with billing, calculated previews).
Calculates contract edits with the checkout engine. Shopify Functions apply, and you can preview the full calculated result before saving.
Shopify Functions such as cart transform and delivery customization are now supported when contracts are calculated.
Contract edits match what subscribers see at billing, so calculations no longer diverge between editing and billing.
Retrieve the complete calculated contract, including totals, delivery options, and warnings, before saving changes.
| Item | SubscriptionDraft API (existing) | SubscriptionContractCalculation API (new) |
|---|---|---|
| Availability | Still available Remains available | Now available Available |
| Calculation engine | Not stated | Checkout engine used for calculations |
| Shopify Functions | New features not supported | Supported cart transform, delivery customization, etc. |
| Matches billing | New features not supported | Supported Matches what subscribers see at billing |
| Preview before saving | New features not supported | Supported Totals, delivery options, warnings |
| Deprecation date | Not stated | — |
The announcement explicitly says they should migrate to the SubscriptionContractCalculation API.
A migration guide, updated subscription build guides, and API documentation are provided.
Review the official migration guide and the updated build guides and API docs.
Switch any logic that edits contracts through the SubscriptionDraft API to the new API.
Before saving, check totals, delivery options, and warnings to confirm the calculation behaves as intended.
Contract edits run through the checkout engine, so they use the same calculation system as regular purchases. There's less need to replicate subscription-specific calculations yourself.
Cart transform, delivery customization, and others are explicitly listed as supported. Because the wording is "including," check the API documentation for which other Function types are covered.
You can retrieve the calculated contract (totals, delivery options, warnings) before saving. This lets you design UI and logic that handle warnings before committing changes.
Edits now match what subscribers see at billing time. This reduces the risk of support inquiries caused by differences between the amount shown during editing and the actual charge.
The Draft API remains available but won't support new features. It makes sense to build new implementations on the SubscriptionContractCalculation API from the start and plan migrations for existing ones. The deprecation timeline isnot stated.