Paiements d'obligationsVersion bêta privée
Effectuez des paiements à votre FundingObligation.
Rembourser la FundingObligation d’un compte
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 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 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 de Stripe, cette étape n’est pas automatique. Stripe détermine la valeur past_
en fonction du paramètre days_
défini dans CreditPolicy
. Stripe détermine la valeur charged_
en fonction de votre politique de crédit ou de recouvrement écrite, qui définit après combien de jours une obligation past_
passe à charged_
.
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_
ou charged_
) 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_
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_
de la FundingObligation
descend alors à 400 USD, tandis que le crédit disponible de Barbell passe de 100 à 600 USD.
Supposons que les conditions de crédit de Barbell indiquent une période de 90 jours après la due_
pour imputer le montant amount_
de la FundingObligation
. En cas de retard (past_
) de plus de 90 jours, l’encours (amount_
) de 400 USD de Barbell est imputé. 30 jours après l’imputation du montant amount_
de la FundingObligation
, le marchand reçoit un paiement de 100 USD de Barbell. Gymbox doit enregistrer ce remboursement via l’endpoint /pay
et déduire ce montant du amount_
imputé de la FundingObligation
. Le crédit disponible passe ainsi de 600 à 700 USD. Si Gymbox ferme la ligne de crédit de Barbell et signale le motif avant le recouvrement complet, le montant amount_
imputé demeure et les montants recouvrés par la suite ne peuvent plus servir à diminuer le montant amount_
.
Exemple de réponse
{ "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_
et diminue le montant amount_
de la FundingObligation
. Lorsque amount_
sur une FundingObligation
, Stripe fait passer l’état de l’obligation à paid
, indépendamment de l’état précédent (unpaid
, past_
, ou charged_
). Ces mises à jour déclenchent un événement issuing_
.
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_
du compte connecté pour une autre raison, vous pouvez le faire via l’endpoint /pay
en utilisant le champ amount_
.
Exemple de réponse
{ "id": "ifo_789", "status": "unpaid", "amount_total": 90000, "amount_outstanding": 45000, "amount_paid": 45000, "owed_to": "acct_123", // other fields }
Un événement issuing_
est envoyé.
Mettre à jour les métadonnées sur FundingObligations
Vous pouvez mettre à jour les métadonnées 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.
Exemple de réponse
{ "id": "ifo_789", "status": "unpaid", "amount_total": 90000, "metadata": { "repayment_id": "obp_1NUy3y2eZvKYlo2C15gktUET" }, "owed_to": "acct_123", // other fields }
Un événement issuing_
est envoyé.