# Gérer un stock limité Empêchez les clients de bloquer des stocks dans leurs paniers en faisant expirer les sessions Checkout. # Page hébergée > This is a Page hébergée for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/checkout/managing-limited-inventory?payment-ui=stripe-hosted. Dans le cas d’entreprises disposant d’un inventaire limité, il est important d’éviter que des clients réservent des articles trop longtemps sans compléter leur achat. Par exemple, un vendeur de billets d’événement peut limiter à quelques minutes le temps accordé pour acheter les billets sélectionnés, avant d’annuler la vente et de rendre ces billets de nouveau disponibles. Il est possible d’annuler une vente en attente en faisant expirer la *Session Checkout* (A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through Checkout. After a successful payment, the Checkout Session contains a reference to the Customer, and either the successful PaymentIntent or an active Subscription). Checkout prend en charge en charge l’expiration manuelle et programmée des sessions. Lorsqu’une session de paiement expire, sa [propriété d’état](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-status) prend la valeur `expired`. ## Expiration manuelle Pour faire expirer immédiatement une session Checkout ouverte et annuler tout achat en attente, utilisez l’endpoint [expire](https://docs.stripe.com/api/checkout/sessions/expire.md). ```curl curl -X POST https://api.stripe.com/v1/checkout/sessions/{{CHECKOUTSESSION_ID}}/expire \ -u "<>:" ``` ## Définir une heure d’expiration Lorsque vous créez une session Checkout, spécifiez un horodatage d’expiration en définissant le paramètre [expires_at](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-expires_at). La valeur doit être comprise entre 30 minutes et 24 heures après l’heure actuelle. Si vous ne spécifiez pas `expires_at`, la valeur par défaut est 24 heures après l’heure actuelle. #### Accounts v2 #### cURL ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d customer_account='{{CUSTOMER_ACCOUNT_ID}}' \ -d "line_items[0][price]"='{{PRICE_ID}}' \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d success_url="https://example.com/success" \-d expires_at="{{NOW_PLUS_TWO_HOURS}}" ``` #### Customers v1 #### cURL ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d customer='{{CUSTOMER_ID}}' \ -d "line_items[0][price]"='{{PRICE_ID}}' \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d success_url="https://example.com/success" \-d expires_at="{{NOW_PLUS_TWO_HOURS}}" ``` ## Réintégrer des articles à votre inventaire Lorsqu’une [session Checkout](https://docs.stripe.com/api/checkout/sessions.md) expire, Stripe envoie l’événement `checkout.session.expired`. Configurez votre endpoint de webhook pour écouter cet événement de sorte que votre gestionnaire de webhook puisse réintégrer aux stocks les articles réservés dans la session arrivée à expiration. Pour en savoir plus, consultez [Faire expirer une session](https://docs.stripe.com/api/checkout/sessions/expire.md). # Page intégrée > This is a Page intégrée for when payment-ui is embedded-form. View the full page at https://docs.stripe.com/payments/checkout/managing-limited-inventory?payment-ui=embedded-form. Dans le cas d’entreprises disposant d’un inventaire limité, il est important d’éviter que des clients réservent des articles trop longtemps sans compléter leur achat. Par exemple, un vendeur de billets d’événement peut limiter à quelques minutes le temps accordé pour acheter les billets sélectionnés, avant d’annuler la vente et de rendre ces billets de nouveau disponibles. Il est possible d’annuler une vente en attente en faisant expirer la *Session Checkout* (A Checkout Session represents your customer's session as they pay for one-time purchases or subscriptions through Checkout. After a successful payment, the Checkout Session contains a reference to the Customer, and either the successful PaymentIntent or an active Subscription). Checkout prend en charge en charge l’expiration manuelle et programmée des sessions. Lorsqu’une session de paiement expire, sa [propriété d’état](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-status) prend la valeur `expired`. ## Expiration manuelle Pour faire expirer immédiatement une session Checkout ouverte et annuler tout achat en attente, utilisez l’endpoint [expire](https://docs.stripe.com/api/checkout/sessions/expire.md). ```curl curl -X POST https://api.stripe.com/v1/checkout/sessions/{{CHECKOUTSESSION_ID}}/expire \ -u "<>:" ``` ## Définir une heure d’expiration Lorsque vous créez une session Checkout, spécifiez un horodatage d’expiration en définissant le paramètre [expires_at](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-expires_at). La valeur doit être comprise entre 30 minutes et 24 heures après l’heure actuelle. Si vous ne spécifiez pas `expires_at`, la valeur par défaut est 24 heures après l’heure actuelle. #### cURL ```bash curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d customer='{{CUSTOMER_ID}}' \ -d "line_items[0][price]"='{{PRICE_ID}}' \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded_page \ -d return_url="https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}" \-d expires_at="{{NOW_PLUS_TWO_HOURS}}" ``` ## Réintégrer des articles à votre inventaire Lorsqu’une [session Checkout](https://docs.stripe.com/api/checkout/sessions.md) expire, Stripe envoie l’événement `checkout.session.expired`. Configurez votre endpoint de webhook pour écouter cet événement de sorte que votre gestionnaire de webhook puisse réintégrer aux stocks les articles réservés dans la session arrivée à expiration. Pour en savoir plus, consultez [Faire expirer une session](https://docs.stripe.com/api/checkout/sessions/expire.md).