Définir la date du cycle de facturation
Définissez le point d'ancrage du cycle de facturation d'un abonnement sur une date fixe.
Lorsque vous créez une Checkout Session, vous pouvez définir explicitement le début du cycle de facturation d’un abonnement sur une date fixe, comme le 1er du mois suivant. La date de début du cycle détermine la date de la première facture, c’est-à-dire la date à laquelle les clients sont facturés du montant total de l’abonnement. La date de début du cycle et la fréquence de facturation déterminent les dates de facturation à venir d’un abonnement. Par exemple, un abonnement mensuel créé le 15 mai avec une date de début du cycle de facturation fixée au 1er juin est facturé le 15 mai, puis tous les 1er de chaque mois pour toute la durée de l’abonnement.
Il existe deux manières de définir la date de début du cycle de facturation :
- Utilisez subscription_data.billing_cycle_anchor_config our décrire une date de facturation récurrente à l’aide de champs explicites pour
day_,of_ month month,hour,minuteetsecond(abonnements mensuels et annuels uniquement). Stripe prend automatiquement en compte les mois courts et les années bissextiles. - Utilisez subscription_data.billing_cycle_anchor pour définir directement le point d’ancrage sous la forme d’un horodatage UNIX futur.
Utilisez le paramètre proration_behavior pour personnaliser la gestion des proratas pour la période de facturation initiale jusqu’à la date de la première facture complète. Par défaut, proration_ est défini sur create_, et les clients reçoivent une facture calculée au prorata. Si proration_ est défini sur none, la première facture est annulée, ce qui signifie qu’ils bénéficient d’un abonnement gratuit pendant la première période et ne reçoivent une facture qu’après la fin du premier cycle de facturation, qui inclut alors le montant total.
Définir la date du cycle de facturation avec un objet de configuration
Pour les abonnements mensuels et annuels, utilisez subscription_ afin de spécifier la date de renouvellement de la facturation avec un objet de configuration plutôt qu’avec un horodatage brut. Stripe gère automatiquement les cas particuliers comme les mois courts et les années bissextiles.
Par exemple, pour ancrer la facturation au 1er de chaque mois, définissez day_ sur 1. Pour ancrer un abonnement annuel au 1er juillet, définissez month sur 7 et day_ sur 1.
Paramètres mutuellement exclusifs
Les paramètres suivants sont mutuellement exclusifs : billing_, billing_ et tous les paramètres de la période d’essai.
curl https://api.stripe.com/v1/checkout/sessions \ -u ":" \ -d "line_items[0][price]=sk_test_VePHdqKTYQjKNInc7u56JBrQ" \ -d "line_items[0][quantity]=1" \ -d mode=subscription \ --data-urlencode "success_url=https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d "subscription_data[billing_cycle_anchor_config][day_of_month]=1"{{PRICE_ID}}
Vous pouvez également spécifier hour, minute et seconde pour un contrôle précis de l’heure d’ancrage. En cas d’omission, ces valeurs correspondent par défaut à l’heure de la demande de création de l’abonnement (en UTC).
Le paramètre billing_ est uniquement compatible avec les abonnements mensuels et annuels. Pour les abonnements quotidiens ou hebdomadaires, utilisez plutôt billing_ avec un horodatage UNIX.
Créer une session Checkout avec une date de début du cycle de facturation
Pour configurer la date de référence du cycle de facturation avec un horodatage UNIX, renseignez le paramètre subscription_ lors de la création d’une Checkout Session en mode subscription. Cette valeur doit correspondre à un horodatage UNIX futur au cours de la première période de facturation (l’horodatage actuel plus la durée de l’intervalle de récurrence).
curl https://api.stripe.com/v1/checkout/sessions \ -u ":" \ -d "line_items[0][price]=sk_test_VePHdqKTYQjKNInc7u56JBrQ" \ -d "line_items[0][quantity]=1" \ -d mode=subscription \ --data-urlencode "success_url=https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d "subscription_data[billing_cycle_anchor]=1611008505"{{PRICE_ID}}
Si un client tente d’effectuer un paiement après que la période active d’une session a dépassé la date définie comme point de référence du cycle de facturation, Checkout facture la période complète à partir du point de référence du cycle de facturation au lieu de la période calculée au prorata avant ce point de référence.
Désactiver les calculs au prorata
Pour désactiver les calculs au prorata, définissez le paramètre subscription_ sur none lorsque vous créez une session Checkout.
curl https://api.stripe.com/v1/checkout/sessions \ -u ":" \ -d "line_items[0][price]=sk_test_VePHdqKTYQjKNInc7u56JBrQ" \ -d "line_items[0][quantity]=1" \ -d mode=subscription \ --data-urlencode "success_url=https://example.com/success?session_id={CHECKOUT_SESSION_ID}" \ -d "subscription_data[billing_cycle_anchor]=1611008505" \ -d "subscription_data[proration_behavior]=none"{{PRICE_ID}}
Comme pour un essai gratuit, le client n’est pas facturé pour la période initiale jusqu’au début du cycle de facturation. Contrairement à ce qui se passe avec un essai gratuit, aucune facture de 0 USD n’est générée. Les clients reçoivent une facture avec le montant total de l’abonnement à la date de début du cycle de facturation.
Dans l’objet Checkout Session response, les montants associés aux postes de facture et aux totaux sont toujours de 0 lorsque les calculs au prorata sont désactivés. Par ailleurs, l’état du paiement de la session est défini sur no_, ce qui indique que le paiement est reporté.
Limitations
- Vous ne pouvez pas utiliser des périodes d’essai avec des dates de début du cycle de facturation dans Checkout.
- Vous ne pouvez pas utiliser de tarifs ponctuels dans les sessions Checkout lorsque le paramètre
proration_est défini surbehavior none. - Vous ne pouvez pas appliquer de coupons amount_off à des sessions Checkout avec
create_commeprorations proration_par défaut.behavior