Passer au contenu principal
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 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
CONFIGURER LA FACTURATIONSi 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.
Créez des contrats avec un seuil de dépenses dans l’application Metronome ou en utilisant l’API Metronome.
{
  "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 ou avec l’API Metronome. Cet appel d’API ajoute un seuil de dépenses à un contrat :
{
  "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 :
{
  "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.

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 pour libérer l’engagement en cas de paiement réussi, ou annuler l’engagement en cas d’échec.