# Configurer une tarification échelonnée

Mettez en place une tarification échelonnée pour vos abonnements.

Les prix peuvent représenter des niveaux, ce qui permet au coût unitaire de varier en fonction de la quantité ou de l’utilisation. Utilisez les niveaux si vous avez besoin d’une tarification non linéaire lorsque la `quantity` ou l’[utilisation](https://docs.stripe.com/api/billing/meter-event.md) change. Pour créer des [modèles de tarification à l’usage](https://docs.stripe.com/subscriptions/pricing-models/usage-based-pricing.md), vous pouvez combiner une tarification échelonnée avec des tarifs forfaitaires.

Imaginons, par exemple, une entreprise appelée [Typographic](https://typographic.io/) qui souhaite proposer des tarifs réduits pour les clients qui utilisent plus de polices par mois. Les modèles de tarification échelonnée suivants présentent deux façons différentes d’ajuster la tarification en fonction de l’utilisation&nbsp;: la [tarification établie sur le volume](https://docs.stripe.com/subscriptions/pricing-models/tiered-pricing.md#volume-based-pricing) et la [tarification progressive](https://docs.stripe.com/subscriptions/pricing-models/tiered-pricing.md#graduated-pricing). Pour illustrer ces approches de tarification échelonnée, nous utiliserons les niveaux suivants :

|                      | Nombre de polices | Tarification par niveau |
| -------------------- | ----------------- | ----------------------- |
| **Premier niveau**   | 1-5               | 7 USD                   |
| **Deuxième niveau**  | 6 à 10            | 6.5 USD                 |
| **Troisième niveau** | 11+               | 6 USD                   |

## Tarification établie sur le volume

Avec la tarification au volume, le poste d’abonnement est facturé au niveau correspondant au montant de l’utilisation à la fin de la période. La valeur `quantity` (ou `usage`) est multipliée par le coût unitaire du niveau. Étant donné que le tarif échelonné s’applique à la totalité de la valeur `quantity` (ou `usage`), le montant total peut diminuer lors du calcul du coût final.

Par exemple, un client disposant de 5&nbsp;polices se voit facturer 35 USD (5 × 7 USD) en novembre. S’il utilise 6&nbsp;polices en décembre, Typographic facture toutes les polices au tarif `6-10`. Pour décembre, Typographic facture 39 USD (6 × ).

| Quantité et utilisation à la fin de la période | Coût unitaire | Coût total mensuel |
| ---------------------------------------------- | ------------- | ------------------ |
| 1                                              | 7 USD         | 7 USD              |
| 5                                              | 7 USD         | 35 USD             |
| 6                                              | 6.5 USD       | 39 USD             |
| 20                                             | 6 USD         | 120 USD            |
| 25                                             | 6 USD         | 150 USD            |

#### Dashboard

1. Accédez au [Catalogue de produits](https://dashboard.stripe.com/products).
1. Cliquez sur **+ Créer un produit**.
1. Saisissez un **Nom** pour le produit.
1. (Facultatif) Ajoutez une **description**. Elle apparaît au moment du paiement, sur le [portail client](https://docs.stripe.com/customer-management.md) et sous forme de [devis](https://docs.stripe.com/quotes.md).

Ensuite, créez le tarif mensuel du produit&nbsp;:

1. Cliquez sur **Autres options tarifaires.**
1. Sélectionnez **Récurrent**.
1. Dans le champ **Choisir votre modèle de tarification**, sélectionnez **Tarification échelonnée** et **Volume**.
1. Sous **Tarif**, créez trois niveaux&nbsp;:
|                  | Première unité | Dernière unité | Par unité | Tarif fixe |
| ---------------- | -------------- | -------------- | --------- | ---------- |
| Premier niveau   | 1              | 5              | 7 USD     | 0 USD      |
| Deuxième niveau  | 6              | 10             | 6.5 USD   | 0 USD      |
| Troisième niveau | 11             | ∞              | 6 USD     | 0 USD      |
1. Pour **Période de facturation**, sélectionnez **Mensuel**.
1. Cliquez sur **Ajouter un produit** pour enregistrer le produit et le tarif. Vous pouvez uniquement modifier le produit et le tarif tant que vous n’avez pas créé d’abonnement avec ces produits.

#### API

Créez les niveaux pour qu’ils correspondent à l’exemple et définissez la valeur de `tiers_mode` sur `volume`&nbsp;:

```curl
curl https://api.stripe.com/v1/prices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "nickname=Font Volume Pricing" \
  -d "tiers[0][unit_amount]=700" \
  -d "tiers[0][up_to]=5" \
  -d "tiers[1][unit_amount]=650" \
  -d "tiers[1][up_to]=10" \
  -d "tiers[2][unit_amount]=600" \
  -d "tiers[2][up_to]=inf" \
  -d currency=usd \
  -d "recurring[interval]=month" \
  -d "recurring[usage_type]=metered" \
  -d "product={{PRODUCT_ID}}" \
  -d tiers_mode=volume \
  -d billing_scheme=tiered \
  -d "expand[0]=tiers"
```

## Tarification évolutive

Au lieu d’appliquer un tarif unique pour l’utilisation globale, les tarifs progressifs sont facturés pour l’utilisation de chaque niveau. La `quantity` est multipliée par le montant pour chaque niveau et les totaux pour chaque niveau sont additionnés.

Par exemple, 5&nbsp;polices entraînent le même coût qu’une tarification basée sur le volume : 35 USD au total à 7 USD par police. Ce coût varie lorsque l’utilisation dépasse le premier niveau. Typographic facture à un client utilisant plus de 5 polices 7 USD par police pour les 5 premières polices, puis 6.5 USD pour les polices 6 à 10, et 6 USD pour toute police supplémentaire. Ils facturent à un client qui utilise 6 polices , 35 USD pour les 5 premières polices et  pour la 6e police.

| Quantité et utilisation à la fin de la période | Total pour la tarification échelonnée progressive |
| ---------------------------------------------- | ------------------------------------------------- |
| 1                                              | 7 USD                                             |
| 5                                              | 35 USD                                            |
| 6                                              | 41.5 USD                                          |
| 20                                             | 127.5 USD                                         |
| 25                                             | 157.5 USD                                         |

#### Dashboard

1. Accédez au [Catalogue de produits](https://dashboard.stripe.com/products).
1. Cliquez sur **+ Créer un produit**.
1. Saisissez un **Nom** pour le produit.
1. (Facultatif) Ajoutez une **description**. Elle apparaît au moment du paiement, sur le [portail client](https://docs.stripe.com/customer-management.md) et sous forme de [devis](https://docs.stripe.com/quotes.md).

Ensuite, créez le tarif mensuel du produit&nbsp;:

1. Cliquez sur **Autres options tarifaires.**
1. Sélectionnez **Récurrent**.
1. Dans le champ **Choisir votre modèle de tarification**, sélectionnez **Tarification échelonnée** et **Progressive**.
1. Sous **Tarif**, créez trois niveaux&nbsp;:
|                  | Première unité | Dernière unité | Par unité | Tarif fixe |
| ---------------- | -------------- | -------------- | --------- | ---------- |
| Premier niveau   | 1              | 5              | 7 USD     | 0 USD      |
| Deuxième niveau  | 6              | 10             | 6.5 USD   | 0 USD      |
| Troisième niveau | 11             | ∞              | 6 USD     | 0 USD      |
1. Pour **Période de facturation**, sélectionnez **Mensuelle**.
1. Cliquez sur **Ajouter un produit** pour enregistrer le produit et le tarif. Vous pouvez uniquement modifier le produit et le tarif tant que vous n’avez pas créé d’abonnement avec ces produits.

#### API

Créez les niveaux de façon à ce qu’ils correspondent à l’exemple et définissez la valeur de `tiers_mode` sur `graduated`&nbsp;:

```curl
curl https://api.stripe.com/v1/prices \
  -u "<<YOUR_SECRET_KEY>>:" \
  -d "nickname=Per-minute pricing" \
  -d "tiers[0][unit_amount]=700" \
  -d "tiers[0][up_to]=5" \
  -d "tiers[1][unit_amount]=650" \
  -d "tiers[1][up_to]=10" \
  -d "tiers[2][unit_amount]=600" \
  -d "tiers[2][up_to]=inf" \
  -d currency=usd \
  -d "recurring[interval]=month" \
  -d "recurring[usage_type]=metered" \
  -d "product={{PRODUCT_ID}}" \
  -d tiers_mode=graduated \
  -d billing_scheme=tiered \
  -d "expand[0]=tiers"
```

## Ajouter un tarif forfaitaire

Vous pouvez spécifier un montant forfaitaire (`flat_amount`) à ajouter à la *facture* (Invoices are statements of amounts owed by a customer. They track the status of payments from draft through paid or otherwise finalized. Subscriptions automatically generate invoices, or you can manually create a one-off invoice). Cela fonctionne à la fois pour le volume et la tarification progressive. Par exemple, vous pouvez avoir des frais fixes qui augmentent lorsque votre client dépasse certains seuils d’utilisation&nbsp;:

| Niveau               | Montant (coût unitaire)   | Tarif fixe                  |
| -------------------- | ------------------------- | --------------------------- |
| 1 à 5 (`up_to=5`)    | 5 USD (`unit_amount=500`) | 10 USD (`flat_amount=1000`) |
| 6 à 10 (`up_to=10`)  | 4 USD (`unit_amount=400`) | 20 USD (`flat_amount=2000`) |
| 10-15 (`up_to=15`)   | 3 USD (`unit_amount=300`) | 30 USD (`flat_amount=3000`) |
| 15 à 20 (`up_to=20`) | 2 USD (`unit_amount=200`) | 40 USD (`flat_amount=4000`) |
| 20+ (`up_to=inf`)    | 1 USD (`unit_amount=100`) | 50 USD (`flat_amount=5000`) |

#### Exemple de tarif forfaitaire basé sur le volume

Si `quantity` est `12` et que `tiers_mode=volume`, le montant total facturé est le suivant&nbsp;:

12 × 3 USD + 30 USD = 66 USD

#### Exemple de tarif forfaitaire progressif

Si `quantity` est `12` et que `tiers_mode=graduated`, le montant total facturé est le suivant&nbsp;:

(5 × 5 USD + 10 USD) + (5 × 4 USD + 20 USD) + (2 × 3 USD + 30 USD) = 111 USD

Une tranche peut avoir un `unit_amount` ou un `flat_amount`, ou les deux, mais elle doit en avoir au moins un des deux. Si la `quantity` est de `0`, le montant total est de 10 USD, quel que soit le modèle de tarification échelonnée utilisé. Stripe facture toujours la première tranche à tarif forfaitaire lorsque `quantity=0`. Pour facturer `0` en l’absence d’utilisation, configurer une tranche `up_to=1` avec un `unit_amount` égal au tarif forfaitaire et omettre le `flat_amount`.
