Private preview
Obligation amounts, transactions, and adjustments Private preview
View details about a FundingObligation and make adjustments.
Over time, a connected account will have multiple paid off (or past_due) FundingObligation instances and at most a single currently pending FundingObligation. To fetch the FundingObligation for the current period, run this command:
Command Line
cURL
Example funding obligation response
[
{
"id": "ifo_123",
"livemode": true,
"created": 1654628149,
"amount_total": 10000,
"amount_outstanding": 10000,
"amount_paid": 0,
"currency": "usd",
"status": "unpaid",
"due_at": 1654714851,
"owed_to": "acct_123",
"credit_period_starts_at": 1654625149,
"credit_period_ends_at":1654713851,
"paid_at": null,
"finalized_at": 1654713860
}
]
To fetch FundingObligations with a particular status, pass in the specific status value when requesting a list of FundingObligations. This API call retrieves FundingObligations with a status of past_due:
Command Line
cURL
Ledger adjustments to account obligations
With the Credit Ledger API, you can record and maintain insights into off-card transaction activity that occurs in the normal course of your business. Using the Credit Ledger APIs you can:
- Account for off-card transaction activity to adjust the credit available and funding obligations
- Retrieve an account’s available credit amount
- Compile both adjustments and card spend activity into a single statement
| Credit adjustments | Debit adjustments |
|---|---|
| Credit adjustments decrease the amount owed to you by a connected account. They increase the connected account’s available credit. Examples include: Refund Rewards and rebates FO repayment Out of policy expense repayment | Debit adjustments increase the amount owed to you by a connected account. They decrease the connected account’s available credit. Examples include: Credit adjustment reversals Excess CA payment remediation (includes credit balance refunds) |
To demonstrate the process of applying adjustments to a connected account’s credit ledger, say that Barbell (one of Gymbox’s connected accounts) has a 1,000 USD credit limit, and one of their shift managers used their Barbell Charge Card to spend 10 USD on two protein bars for lunch. However, Barbell’s spend policy prohibits this type of personal expense and the cardholder needs to repay Barbell out of pocket through a payroll deduction.
The table below outlines the sequence of events on Stripe using the Credit Ledger API. All amounts and value changes reflected in this table are book transfers only. No real funds are moved during this process.
| the related setting | the related setting the related setting the related setting (the related setting the related setting) | the related setting the related setting TO the related setting | the related setting the related setting the related setting | the related setting the related setting the related setting (the related setting) |
|---|---|---|---|---|
| Barbell starts with a 0 USD balance and 100 USD prior spend. Gymbox started with a 10,000 USD balance that was decremented by 100 USD for a previously captured transaction. | 0 USD | 100 USD | 900 USD | 9,900 USD |
| The cardholder makes another 10 USD transaction, which is authorized because Gymbox’s Issuing Balance is large enough to cover the spend amount. Gymbox’s Issuing Balance decreases by 10 USD as a result of the authorization hold. | -10 USD | 100 USD | 900 USD | 9,890 USD |
| During authorization clearing (usually the next day), Stripe: 1. Stripe clears the authorization, 2. Decreases Gymbox’s balance by 10 and increases Barbell’s by 10, and 3. Increments Barbell’s FundingObligation by 10 USD | 0 USD | 110 USD | 890 USD | 9,890 USD |
| Barbell receives the payment from their shift manager and transfers 10 USD back to Gymbox. Gymbox applies a corresponding 10 USD credit adjustment. | 0 USD | 100 USD | 900 USD | 9,890 USD |
| At the end of the credit period, Gymbox decides to give its long-term customer Barbell a 50 USD statement credit for their loyalty. Gymbox reports a 50 USD credit adjustment for Barbell. | 0 USD | 50 USD | 950 USD | 9,890 USD |
| Immediately after sending the credit adjustment, Gymbox realizes that they’ve given too big of a credit. To correct the statement credit, Gymbox reports a 20 USD debit adjustment to Barbell’s obligations. | 0 USD | 70 USD | 970 USD | 9,890 USD |
Account for off-card transaction activity
Stripe automatically creates a credit ledger for all users onboarded to use Charge Card. Over time, a connected account will have accumulated spend through transactions and their FundingObligations and Available Credit will adjust based on that card spend activity. To apply an adjustment and create a corresponding credit ledger entry (for example, for a 50 USD customer loyalty reward credit), run this command:
Command Line
cURL
Example response
{
"id": "cla_1IC5a2ILABoM8KJZ2EgdP4Tb",
"object_type": "issuing_credit_ledger_adjustment",
"reason": "platform_issued_credit_memo",
"reason_description": "Customer loyalty reward credited to account",
"amount": 5000,
"currency": "usd",
"funding_obligation": identifier("fundingObligation"),
"livemode": false
}
Then, you can display to your customer a list of debit and credit adjustments made to their account in the current credit period. You can do so by calling the credit_ledger_adjustments endpoint with the stripe_account and funding_obligation parameters populated.
Command Line
cURL
Example response
To confirm that the amount_outstanding on the corresponding FundingObligation was reduced by the amount of the credit adjustment, retrieve the FundingObligation or listen to the issuing_funding_obligation.updated webhook.
Get spend activity for a FundingObligation
To compile a view of spend activity across card-based transaction authorizations, cleared transactions, repayments, and off-card transaction adjustments into a single statement, call the credit_ledger_entries endpoint. Specify an obligation ID within the funding_obligation request parameter.
Command Line
cURL
Example response
Card-based transactions will be marked with type issuing_transaction while adjustments will be marked with type issuing_credit_ledger_adjustment.
Alternatively, if you’re not making adjustments to the credit ledger, you can retrieve the list of transactions that contributed to a connected account’s FundingObligation by passing the funding_obligation_for_account parameter in the List all transactions API request:
Command Line
cURL
Example response
Summary of webhooks
As a reminder, you can monitor these three webhooks:
- issuing _ funding _ obligation. created : Triggers whenever a FundingObligation is created, which happens around the beginning of each new credit period for the connected account.
- issuing _ funding _ obligation. updated : Triggers whenever a FundingObligation is updated, which happens whenever the funding obligation changes status or amount fields, or has been updated to indicate repayment.
- issuing _ credit _ ledger _ adjustment. created : Triggers whenever a new adjustment to a FundingObligation is created.
