# Paiements d'obligations Effectuez des paiements à votre FundingObligation. Si le paramètre `FundingObligation` vous indique le montant dû par un compte connecté à la fin de la période de crédit, c’est à vous de débiter ce compte connecté pour encaisser votre remboursement. Utilisez l’[API Payment Intents](https://docs.stripe.com/payments/payment-intents.md) de Stripe pour débiter le compte bancaire externe du compte connecté (ou acceptez un paiement par carte bancaire à l’aide de Stripe Checkout ou Stripe Invoicing). Assurez-vous d’enregistrer tous les paiements reçus du compte connecté dans la `FundingObligation` du compte afin de refléter avec précision son crédit disponible. Stripe détermine si elle peut approuver une autorisation en fonction du crédit disponible d’un compte. Stripe est susceptible de signaler les `FundingObligations` en retard et facturées aux partenaires bancaires. ## Encaisser le remboursement Vous pouvez choisir le mécanisme d’encaissement du remboursement qui vous convient depuis votre copte connecté. Cependant, nous vous recommandons d’utiliser les [API Payments](https://docs.stripe.com/payments/payment-intents.md) de Stripe afin de conserver tous les enregistrements et de faciliter le rapprochement des dépenses par carte et des remboursements de chaque utilisateur. Une fois le paiement encaissé, pensez à modifier la `FundingObligation` en conséquence. En effet, si vous utilisez les [API Payments](https://docs.stripe.com/payments/payment-intents.md) de Stripe, cette étape n’est pas automatique. Stripe détermine la valeur `past_due` en fonction du paramètre `days_until_due` défini dans `CreditPolicy`. Stripe détermine la valeur `charged_off` en fonction de votre politique de crédit ou de recouvrement écrite, qui définit après combien de jours une obligation `past_due` passe à `charged_off`. ## Enregistrer les remboursements dans la FundingObligation Après avoir encaissé le paiement d’un compte connecté, mettez à jour sa `FundingObligation` pour refléter le remboursement. L’état des `FundingObligations` (`unpaid`, `past_due` ou `charged_off`) a une incidence sur le montant que le compte connecté pourra dépenser. Supposons par exemple que Barbell dispose d’un plafond de crédit de 1 000 USD et achète un tapis roulant d’un montant de 900 USD. La `FundingObligation` de Barbell indiquera un montant `amount_total` dû de 900 USD. Il ne lui restera donc que 100 USD de crédit disponible tant que la somme due n’aura pas été remboursée, intégralement ou en partie. Imaginons que Barbell rembourse 500 USD à Gymbox à la fin de la période de crédit. Gymbox doit modifier la `FundingObligation` de Barbell pour tenir compte de ce remboursement. Le montant `amount_outstanding` de la `FundingObligation` descend alors à 400 USD, tandis que le crédit disponible de Barbell passe de 100 à 600 USD. Imaginons que les conditions de crédit de Barbell précisent un délai de 90 jours après `due_at` pour que le montant `amount_outstanding` de la `FundingObligation` soit débité. Une fois le statut `past_due`, maintenu pendant plus de 90 jours, le montant `amount_outstanding` de Barbell s’élevant à 400 USD est débité. 30 jours après le débit du montant `amount_outstanding` de la `FundingObligation`, Gymbox reçoit un paiement de 100 USD de Barbell. Gymbox doit enregistrer ce remboursement avec l’endpoint `/pay` pour réduire le montant débité du montant `amount_outstanding` de la `FundingObligation`. Cela augmente le crédit disponible de 600 à 700 USD. Si Gymbox clôture la ligne de crédit de Barbell et indique le motif avant le recouvrement intégral, le montant débité du montant `amount_outstanding` persiste et les montants recouvrés par la suite ne peuvent plus être appliqués pour réduire le montant `amount_outstanding`. ```curl curl https://api.stripe.com/v1/issuing/funding_obligations/ifo_123/pay \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview; issuing_credit_beta=v1" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d amount=50000 ``` ### Exemple de réponse ```json { "id": "ifo_123", "status": "unpaid", "amount_total": 90000,"amount_outstanding": 40000, "amount_paid": 50000, "owed_to": "acct_123", // other fields } ``` Cet appel à l’API augmente le montant `amount_paid` et diminue le montant `amount_outstanding` de la `FundingObligation`. Lorsque `amount_paid=amount_total` sur une `FundingObligation`, Stripe fait passer l’état de l’obligation à `paid`, indépendamment de l’état précédent (`unpaid`, `past_due`, ou `charged_off`). Ces mises à jour déclenchent un événement `issuing_funding_obligation.updated`. Nous vous recommandons d’automatiser le processus d’encaissement du remboursement et de mise à jour de la `FundingObligation`, et de les combiner en appels séquentiels. Ainsi, vous mettrez à jour la `FundingObligation` du compte connecté immédiatement après l’encaissement du remboursement pour demander à Stripe d’augmenter son crédit. ## Mettre à jour le montant payé sur la FundingObligation Si vous effectuez un remboursement par erreur ou souhaitez mettre à jour le montant payé `amount_paid` du compte connecté pour une autre raison, vous pouvez le faire via l’endpoint `/pay` en utilisant le champ `amount_paid`. ```curl curl https://api.stripe.com/v1/issuing/funding_obligations/ifo_123/pay \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview; issuing_credit_beta=v1" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d amount_paid=45000 ``` ### Exemple de réponse ```json { "id": "ifo_789", "status": "unpaid", "amount_total": 90000,"amount_outstanding": 45000, "amount_paid": 45000, "owed_to": "acct_123", // other fields } ``` Un événement `issuing_funding_obligation.updated` est envoyé. ## Mettre à jour les métadonnées sur FundingObligations Vous pouvez mettre à jour les [métadonnées](https://docs.stripe.com/api/metadata.md) sur une `FundingObligation` afin d’associer des données supplémentaires à une `FundingObligation` si, par exemple, vous voulez enregistrer l’ID `OutboundPayment` qui correspond à un remboursement. ```curl curl https://api.stripe.com/v1/issuing/funding_obligations/ifo_123/ \ -u "<>:" \ -H "Stripe-Version: 2026-03-25.preview; issuing_credit_beta=v1" \ -H "Stripe-Account: {{CONNECTEDACCOUNT_ID}}" \ -d "metadata[repayment_id]=obp_1NUy3y2eZvKYlo2C15gktUET" ``` ### Exemple de réponse ```json { "id": "ifo_789", "status": "unpaid", "amount_total": 90000,"metadata": { "repayment_id": "obp_1NUy3y2eZvKYlo2C15gktUET" }, "owed_to": "acct_123", // other fields } ``` Un événement `issuing_funding_obligation.updated` est envoyé.