> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metronome.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Appliquer des seuils de dépenses

Pour réduire la fraude dans les workflows Product-Led Growth (PLG), Metronome prend en charge la *facturation par seuil de dépenses*. Cette fonctionnalité vous permet de plafonner le montant qu'un client peut dépenser avant d'être facturé, limitant ainsi votre exposition aux revenus non recouvrés.

Après avoir appliqué un seuil de dépenses à un contrat, surveillez les notifications webhook pour être alerté lorsque les paiements réussissent ou échouent.

## Créer un contrat avec des seuils de dépenses

Lorsque vous créez un contrat dans Metronome, vous pouvez configurer en option un `spend_threshold_configuration`. Cette configuration dicte :

* Le `threshold_amount` pour le contrat du client : combien il peut dépenser avant qu'une tentative de paiement ne soit déclenchée
* Le `payment_gate_config` :
  * Configurez si la libération de l'engagement doit être conditionnée par un paiement et quelle passerelle utiliser. Sélectionnez `EXTERNAL` si vous utilisez une passerelle que Metronome ne prend pas actuellement en charge. Voir [Utiliser une passerelle de paiement externe](/fr/guides/customers-billing/optimize-customer-experience/set-customer-spend-control#using-external-payment-gate) pour plus de détails.
  * Si vous utilisez Stripe, configurez `PAYMENT_TYPE` pour indiquer si le paiement est envoyé sous forme de facture via Stripe Billing ou directement sous forme de `paymentIntent` vers la passerelle de paiement de Stripe.
  * Si vous utilisez Stripe, sélectionnez votre fournisseur fiscal existant.
* Quel `product_id` doit être utilisé pour représenter l'engagement : le `product_id` détermine ce que le client voit sur sa facture incrémentielle

<Warning>
  **CONFIGURER LA FACTURATION**

  Si vous utilisez Stripe comme passerelle de paiement, assurez-vous qu'une configuration de facturation Stripe valide est définie sur le contrat. De plus, définissez `spend_threshold_configuration.is_enabled` sur `true` si vous voulez que Metronome évalue immédiatement le contrat après sa création.
</Warning>

Créez des contrats avec un seuil de dépenses dans l'[application Metronome](https://app.metronome.com/) ou en utilisant l'[API Metronome](/fr/api-reference/contracts/edit-a-contract).

```json theme={null}
{
  "customer_id": "8cecbf69-960f-4f66-9575-edebb7d95e88",
  "rate_card_id": "a7bc3775-b651-46b6-b7e4-d225a7e55c4c",
  "starting_at": "2025-04-01T00:00:00.000Z",
  "billing_provider_configuration": {
    "billing_provider_configuration_id": "211ef270-098f-422c-9ca8-7999bb9156cb"
  },
  ...
  "spend_threshold_configuration": {
    "commit": {
      "product_id": "d6be3bf4-1669-40c9-a8b1-388bb167ab16",
      "name": "black_mesa_commit",
      "description": "hello_its_me_im_in_california_dreaming"
    },
    "is_enabled": true,
    "payment_gate_config": {
      "payment_gate_type": "NONE"
    },
    "threshold_amount": 200
  }
}
```

## Mettre à jour le seuil de dépenses d'un contrat

Vous pouvez mettre à jour ou ajouter un `spend_threshold_configuration` à tout moment en modifiant le contrat de l'utilisateur. Ajoutez des limites de seuil de dépenses à des contrats existants non limités ou modifiez les limites existantes sur un contrat (par exemple, après une période de paiements réussis).

Notez que ces changements prennent effet immédiatement.

Modifiez les contrats dans l'[application Metronome](https://app.metronome.com/) ou avec l'[API Metronome](/fr/api-reference/authentication). Cet appel d'API ajoute un seuil de dépenses à un contrat :

```json theme={null}
{
  "customer_id": "52f5a554-b887-4899-b919-4eb7789c6bf3",
  "contract_id": "8a5529d3-f353-4231-bedf-7e83f5e9331d",
  "add_spend_threshold_configuration": {
    "commit": {
      "product_id": "d6be3bf4-1669-40c9-a8b1-388bb167ab16",
      "name": "threshold_charge",
      "description": "one time for the one time"
    },
    "is_enabled": true,
    "payment_gate_config": {
      "payment_gate_type": "STRIPE",
      "stripe_config": {
        "payment_type": "INVOICE"
      }
    },
    "threshold_amount": 100
  }
}
```

Cet appel d'API met à jour un seuil de dépenses existant :

```json theme={null}
{
  "customer_id": "8cecbf69-960f-4f66-9575-edebb7d95e88",
  "contract_id": "6058587f-763c-400f-a822-3edb3eb2b86b",
  "update_spend_threshold_configuration": {
    "is_enabled": true,
    "threshold_amount": 100,
    "payment_gate_config": {
      "payment_gate_type": "STRIPE",
      "stripe_config": {
        "payment_type": "INVOICE"
      }
    }
  }
}
```

## Gérer les notifications et traiter les paiements échoués

Pour apprendre à gérer les notifications webhook de Metronome et traiter les paiements échoués des clients, consultez [le cycle de vie de la facturation par seuil](/fr/guides/customers-billing/optimize-customer-experience/prepaid-balance-thresholds#prepaid-balance-threshold-billing-lifecycle).

## Utiliser une passerelle de paiement externe

Si vous utilisez l'option `EXTERNAL` pour `payment_gate_type`, vous êtes responsable de faciliter le paiement et de faire part de la réponse à Metronome. Suivez ce workflow :

* Définissez la configuration du seuil de dépenses avec `payment_gate_type` défini sur `EXTERNAL`

* Écoutez `payment_gate.external_initiate` qui indique que Metronome est prêt à recevoir le résultat du paiement

* Enregistrez le `workflow_id` — vous en aurez besoin pour libérer l'engagement

* Facturez le client dans la passerelle de paiement de votre choix

* Appelez [commits/threshold-billing/release](/fr/api-reference/credits-and-commits/release-external-payment-gate-threshold-commit) pour libérer l'engagement en cas de paiement réussi, ou annuler l'engagement en cas d'échec.
