# Ajoute des aides pour résilier les abonnements pour les périodes de facturation avec des intervalles mixtes ## Nouveautés Nous avons introduit les valeurs d’énumération [cancel_at](https://docs.stripe.com/api/Subscriptions/create.md?api-version=2025-07-30.basil#create_subscription-cancel_at) suivantes pour simplifier l’annulation d’un abonnement à [intervalles mixtes](https://docs.stripe.com/billing/Subscriptions/mixed-interval.md) à la fin d’une période de facturation : - `min_period_end` : planifie l’annulation de l’abonnement à la `items.data.current_period_end` la plus ancienne, pour tous les postes d’abonnement. - `max_period_end` : planifie l’annulation de l’abonnement au plus tard `items.data.current_period_end` pour tous les postes d’abonnement. Dans les requêtes qui modifient à la fois le paramètre `current_period_end` d’un poste d’abonnement et qui définissent l’une de ces nouvelles valeurs, le paramètre `current_period_end` est mis à jour est considéré comme la date d’annulation correspondante. Contrairement à [cancel_at_period_end](https://docs.stripe.com/api/subscriptions/create.md?api-version=2025-07-30.basil#create_subscription-cancel_at_period_end), ces valeurs sont résolues en horodatage immédiatement et les modifications ultérieures apportées à `items.data.current_period_end` ne les affectent pas. > Pour les abonnements mixtes, la fonctionnalité existante [cancel_at_period_end](https://docs.stripe.com/api/subscriptions/create.md?api-version=2025-07-30.basil#create_subscription-cancel_at_period_end) aboutit toujours à la fin de la période du premier poste. ## Impact Les endpoints suivants de l’API prennent en charge les nouveaux enums : - [Créer un abonnement](https://docs.stripe.com/api/subscriptions/create.md?api-version=2025-07-30.basil) - [Mise à jour de l’abonnement](https://docs.stripe.com/api/subscriptions/update.md?api-version=2025-07-30.basil) - [Créer une facture préliminaire](https://docs.stripe.com/api/invoices/create_preview.md?api-version=2025-07-30.basil) Si votre intégration de facturation en mode flexible utilise actuellement la valeur[cancel_at_period_end](https://docs.stripe.com/api/subscriptions/create.md?api-version=2025-07-30.basil#create_subscription-cancel_at_period_end) pour annuler les abonnements, mettez à jour votre intégration pour : - Utilisez les nouvelles valeurs de l’enum `min_period_end` ou `max_period_end` pour spécifier l’intervalle qui déclenche l’annulation. - Remplissez [cancel_at](https://docs.stripe.com/api/subscriptions/create.md?api-version=2025-07-30.basil#create_subscription-cancel_at) avec un horodatage entier explicite. Le paramètre `cancel_at_period_end` sur un abonnement n’est pas compatible avec les nouvelles aides `cancel_at`. Si vous mettez à jour la valeur `current_period_end` pour les éléments d’un abonnement, vous pouvez ajouter `cancel_at : min_period_end` ou `cancel_at : max_period_end` dans la même requête pour réinitialiser le timestamp [cancel_at](https://docs.stripe.com/api/subscriptions/object.md?api-version=2025-07-30.basil#subscription_object-cancel_at) existant de l’abonnement. > Cette modification ne sera pas disponible dans le SDK .NET avant la version `49.0.0` et le SDK Java avant la version `30.0.0`. Jusqu’à ce que ces versions soient disponibles, suivez les instructions pour [envoyer des paramètres non documentés](https://docs.stripe.com/sdks/server-side.md#undocumented-params-and-fields) afin de transmettre les nouvelles valeurs d’énumération au paramètre `cancel_at`. ## Modifications #### API REST | Fields | Change | From → to | | ------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------- | | `Invoice#create_preview.subscription_details.cancel_at`, `Subscription#create.cancel_at`, `Subscription#update.cancel_at` | Changed | `DateTime → DateTime | enum('max_period_end'|'min_period_end')` | #### Ruby | Fields | Change | From → to | | -------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------- | | `Invoice::CreatePreviewParams::SubscriptionDetail.cancel_at`, `Subscription::CreateParams.cancel_at`, `Subscription::UpdateParams.cancel_at` | Changed | `DateTime → DateTime | enum('max_period_end'|'min_period_end')` | #### Python | Fields | Change | From → to | | --------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------- | | `Invoice.CreatePreviewParamsSubscriptionDetail.cancel_at`, `Subscription.CreateParams.cancel_at`, `Subscription.ModifyParams.cancel_at` | Changed | `DateTime → DateTime | enum('max_period_end'|'min_period_end')` | #### PHP Cette modification n’affecte pas le SDK PHP. #### Java | Fields | Change | From → to | | ------------------------------------------------------------------------------------------------------------------------------------ | ------- | --------------------------------------------------------------- | | `InvoiceCreatePreviewParams.subscription_details.cancelAt`, `SubscriptionCreateParams.cancelAt`, `SubscriptionUpdateParams.cancelAt` | Changed | `DateTime → DateTime | enum('max_period_end'|'min_period_end')` | #### Node.js | Fields | Change | From → to | | --------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------- | | `InvoiceCreatePreviewParams.subscription_details.cancel_at`, `SubscriptionCreateParams.cancel_at`, `SubscriptionUpdateParams.cancel_at` | Changed | `DateTime → DateTime | enum('max_period_end'|'min_period_end')` | #### Go | Fields | Change | From → to | | --------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------- | | `InvoiceCreatePreviewSubscriptionDetailsParams.CancelAt`, `SubscriptionParams.CancelAt` | Changed | `DateTime → DateTime | enum('max_period_end'|'min_period_end')` | #### .NET | Fields | Change | From → to | | ------------------------------------------------------------------------------------------------------------------------ | ------- | --------------------------------------------------------------- | | `InvoiceSubscriptionDetailsOptions.CancelAt`, `SubscriptionCreateOptions.CancelAt`, `SubscriptionUpdateOptions.CancelAt` | Changed | `DateTime → DateTime | enum('max_period_end'|'min_period_end')` | ## Mise à niveau #### API REST 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Si vous utilisez un SDK, passez à une version correspondant à celle de l’API. - Si vous n’utilisez pas de SDK, mettez à jour vos [requêtes API](https://docs.stripe.com/api/versioning.md) pour inclure la `version Stripe : 2025-07-30.basil` 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). #### Ruby 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Mettez à niveau votre SDK Ruby vers [v15.4.0](https://github.com/stripe/stripe-ruby/releases/tag/v15.4.0) 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). #### Python 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Mettez à niveau votre SDK Python vers [v12.4.0](https://github.com/stripe/stripe-python/releases/tag/v12.4.0) 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). #### PHP 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Mettez à niveau votre SDK PHP vers [v17.5.0](https://github.com/stripe/stripe-php/releases/tag/v17.5.0) 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). #### Java 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Mettez à niveau votre SDK Java vers [v29.4.0](https://github.com/stripe/stripe-java/releases/tag/v29.4.0) 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). #### Node.js 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Mettez à niveau votre SDK Node vers [v18.4.0](https://github.com/stripe/stripe-node/releases/tag/v18.4.0) 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). #### Go 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Mettez à niveau votre SDK Go vers [v82.4.0](https://github.com/stripe/stripe-go/releases/tag/v82.4.0) 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). #### .NET 1. [Consultez la version actuelle de votre API](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) dans Workbench. 1. Mettez à niveau votre SDK .NET vers [v48.4.0](https://github.com/stripe/stripe-dotnet/releases/tag/v48.4.0) 1. Mettez à niveau la version de l’API utilisée pour les [endpoints de webhook](https://docs.stripe.com/webhooks/versioning.md). 1. [Testez votre intégration](https://docs.stripe.com/testing.md) avec la nouvelle version. 1. Si vous utilisez Connect, [testez votre intégration Connect](https://docs.stripe.com/connect/testing.md). 1. [Effectuez la mise à niveau](https://docs.stripe.com/upgrades.md#perform-the-upgrade) dans Workbench. Vous pourrez [revenir à la version précédente](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) pendant 72 heures. En savoir plus sur les [mises à niveau de l’API Stripe](https://docs.stripe.com/upgrades.md). ## Changements connexes - [Ajoute un paramètre de durée pour les phases de planification](https://docs.stripe.com/changelog/basil/2025-07-30/add-schedule-phase-duration.md) - [Ajoute le support pour l’ajustement de la quantité à l’API Customer Portal Configuration](https://docs.stripe.com/changelog/basil/2025-07-30/customer-portal-subscription-update-quantity-limits.md) - [Ajoute le support pour les seuils de facturation sur les abonnements en mode facturation flexible](https://docs.stripe.com/changelog/basil/2025-07-30/billing-thresholds.md) - [Ajoute le support pour les intervalles mixtes sur le même abonnement](https://docs.stripe.com/changelog/basil/2025-07-30/support-mixed-intervals.md)