Passer au contenu principal
Les organisations mettent couramment en œuvre un modèle prépayé pour leurs clients PLG. Les clients doivent payer la consommation avant d’utiliser le produit, et les organisations conditionnent l’accès au succès du paiement. Cela peut être implémenté dans Metronome à l’aide d’engagements conditionnés au paiement. Lorsqu’un engagement conditionné au paiement est créé, Metronome facilite ce qui suit :
  1. Metronome déclenche immédiatement une tentative de paiement basée sur le montant facturé de l’engagement.
  2. Si le paiement réussit, Metronome libère l’engagement et le client se voit accorder l’accès au solde associé.
  3. Si le paiement échoue, Metronome annule la ressource et envoie une notification webhook.
  4. Si une action supplémentaire est requise (par exemple pour l’authentification à deux facteurs), Metronome envoie une notification webhook.
IMMÉDIATEMENTMetronome initie le paiement avec votre fournisseur de facturation configuré et surveille son achèvement. Dans la plupart des cas de succès, le paiement est terminé et les crédits sont libérés en quelques secondes, mais le délai réel dépend du fournisseur de paiement, du mode de paiement et des éventuels défis d’authentification.

Avant de commencer

  • Assurez-vous que le client a un mode de paiement par défaut configuré chez votre fournisseur de paiement (par exemple, Stripe) ; sinon, les paiements échoueront et les engagements ne seront pas créés.
  • Capturez et stockez l’adresse du client pendant votre flux de paiement. Si l’adresse est invalide ou manquante, les paiements ultérieurs pour le client échoueront.
  • Mappez le produit Metronome de l’engagement à un produit Stripe. Les engagements conditionnés au paiement exigent que le produit Metronome utilisé sur l’engagement ait un identifiant de produit Stripe correspondant mappé. Sans ce mappage, Stripe ne peut pas générer l’élément de ligne de la facture et la tentative de paiement échouera. Pour configurer ce mappage, créez un champ personnalisé stripe_product_id sur l’entité produit Metronome, définissez sa valeur sur l’identifiant de produit Stripe correspondant et ajoutez une règle de mappage d’intégration Stripe de stripe_product_id à invoiceitem.price. Voir Attribuer des éléments de ligne aux produits Stripe dans le guide de facturation Stripe pour des instructions étape par étape.

Ajouter un engagement conditionné au paiement à un contrat existant​

Les engagements conditionnés au paiement ne peuvent être ajoutés qu’à des contrats existants. Vous pouvez créer un engagement conditionné au paiement en modifiant le contrat de l’utilisateur. Assurez-vous que le contrat a une configuration de facturation valide. Voir ci-dessous un exemple d’appel API :
{
    "customer_id": "8cecbf69-960f-4f66-9575-edebb7d95e88",
    "contract_id": "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
    "add_commits": [
        {
            "product_id": "d6be3bf4-1669-40c9-a8b1-388bb167ab16",
            "type": "prepaid",
            "invoice_schedule": {
                "schedule_items": [
                    {
                        "timestamp": "2025-04-01T00:00:00.000Z",
                        "amount": 2000
                    }
                ]
            },
            "access_schedule": {
                "schedule_items": [
                    {
                        "amount": 2000,
                        "starting_at": "2025-04-01T00:00:00.000Z",
                        "ending_before": "2026-04-01T00:00:00.000Z"
                    }
                ]
            },
            "payment_gate_config": {
                "payment_gate_type": "STRIPE",
                "tax_type": "STRIPE"
            },
            "priority": 100
        }
    ]
}

Gérer les notifications​

Deux types de notifications webhook sont émis lors de la création d’un engagement conditionné au paiement :
  • payment_gate.payment_status après qu’un paiement a été tenté. Le statut de ce paiement, paid ou failed, est indiqué dans le champ payment_status.
  • payment_gate.payment_pending_action_required si une intervention est requise pour traiter le paiement.
Consultez l’ensemble complet de nos notifications webhook ici.

Gérer les paiements échoués​

Si le paiement échoue, la facture associée dans Metronome et Stripe est annulée et aucun engagement n’est créé. Pour relancer le paiement, envoyez une nouvelle requête API avec les informations pertinentes sur l’engagement.
AUCUNE NOUVELLE TENTATIVE AUTOMATIQUEMetronome ne relance pas automatiquement les paiements échoués (car toute nouvelle tentative automatique échouerait probablement également).