Provide and reconcile reportsPrivate preview
Learn how to provide Capital reports to your connected accounts, and reconcile Capital transactions in any existing reports.
Private preview
Capital for platforms is in private preview. You can sign up for access.
Use this guide to:
- Provide Capital reports: Provide Capital transactions reports to your connected accounts. They can use these reports to view their outstanding balance, payment history, and other data such as their financing agreement. You can provide reports to your connected accounts in multiple ways.
- Reconcile existing reports to include Capital transactions: If you already provide reports to your connected accounts in your platform’s UI, use Stripe APIs to synchronize Capital transaction data in those existing reports.
Financing offers have three types of transactions: a payout, a paydown, and a reversal. If you want to provide reports using Stripe APIs, we describe these transactions in more detail below.
Options to provide reports
You can provide Capital reports to your connected accounts in multiple ways, and you can use more than one option:
Connected accounts receive notifcations through emails about offer acceptance and payout disbursement and weekly payment progress updates. These co-branded emails contain a link that redirects a connected account to a separate Stripe-hosted Capital page, where they can view their Capital transactions and payment progress. This page doesn’t include standard payment processing details (such as original charge amounts, platform and processing fees, refunds, or disputes). We automatically do this for you (if you opt for Stripe to send emails on your behalf during onboarding). | |
Embedded component | Embed the Capital Financing component in your platform’s UI. This allows you to display transaction reports that your connected accounts can directly access in your platform’s UI. The component doesn’t include standard payment processing information (such as charges, refunds, or disputes). To implement this component, see Capital financing. |
API | Monitor and display Capital transactions along with detailed payments data (including standard payment processing information such as charges, refunds, and disputes) using the Financing Transactions API. You can also build your own custom reporting interfaces. To use these APIs, continue reading this guide. |
You can also provide ad-hoc reports.
Before you begin
If you want to provide reports using APIs, review the following types of transactions:
Payout | Stripe (with our financial partner) automatically distributes funds for a payout (for an approved and accepted financing offer) according to the terms of the financing agreement to a connected account. A Capital financing payout is independent of the connected account’s regular payouts. No additional action is required from your platform to facilitate these payouts. |
Paydown | A payment used to pay towards a financed amount. Three types of paydown transactions are available:
Capital withholding occurs simultaneously with payment processing, while Connect volume fees and platform app fees are calculated based on the full charge amount. The final amount transferred to a connected account is the original payment minus platform app fees and Capital withholding. For example, your connected account accepts a financing offer with a 15% withhold rate. If they accept five payments of 100 USD in a day, their total payout, after deducting your platform app fees and Capital withholding, is 405 USD. |
Reversal | Stripe might reverse a payout or paydown transaction in the following situations:
|
You can fetch transactions using either the Financing Transactions API or the Balance Transactions API.
To get started, choose an API:
Use the Financing Transactions API to include detailed transaction information specific to Capital.
Monitor Capital transactions
The following transaction types are related to financing for your connected accounts, including merchant cash advances and loans:
- Payout:
payout
- Paydown:
payment
- Reversal:
reversal
Payout
Each financing payout has a Financing Transaction object with the type payout
. After a payout Financing Transaction is created, Stripe sends a capital.financing_transaction.created webhook. It might take several business days for the ACH funds to arrive in a connected account’s bank account.
Listen to the webhook event and when received, update your custom payout reports to show the financing amount sent to the connected account’s external bank account.
Paydown
To display withholding transactions in your UI:
- Retrieve Financing Transactions and filter by transaction type.
- Provide the account ID of the connected account in the
Stripe-Account
header.
If the retrieval of the Financing Transactions list is successful, you receive a response similar to the following:
{ "object": "list", "url": "/v1/capital/financing_transactions?financing_offer=financingoffer_1NAdVWJQ3aJgxqz5nh90Zqrs&charge=ch_1HoZftJQ3aJgxqz50EbvL8zU", "has_more": false, "data": [ { "id": "cptxn_1NAdVWJQ3aJgxqz5FSScvJaF", "object": "capital.financing_transaction", "account": "acct_1HLGiXJQ3aJgxqz5", "created_at": 1684780258, "details": { "advance_amount": 10000, "currency": "usd", "fee_amount": 1000, "linked_payment": "ch_1HoZftJQ3aJgxqz50EbvL8zU", "reason": "automatic_withholding", "total_amount": 11000, "transaction": { "charge": "ch_1HoZftJQ3aJgxqz50EbvL8zU" } }, "financing_offer": "financingoffer_1NAdVWJQ3aJgxqz5nh90Zqrs", "livemode": true, "type": "payment", "user_facing_description": "Paydown of your loan" }, {...}, {...} ] }
The response contains information describing how this particular paydown affected the outstanding financed amount. If the paydown occurred because of "details.
, it also contains a reference to the original Stripe payment in the details.
field.
Reversal
Each reversal has a Financing Transaction object with the type reversal
. A reversal can occur because of a failed ACH transaction, financing cancellation, or a manual reversal request. Providing reversal transactions serve two purposes:
- They can indicate canceled financing. If you included the original financing payout in your reports, include any reversals. This way connected accounts can see that both transactions cancel each other out.
- They can return previously withheld funds to a connected account’s balance. Omitting reversals from your reports can cause reconciliation problems for connected accounts, because the reports might reflect inaccurate financing.
Destination Charges
If your platform processes payments using Destination Charges and you want to reconcile the Financing Transaction paydown with the original charge which occurred on your platform, extract the charge ID in the Financing Transaction’s details.
field. This is set to the payment ID which occurred as a result of the automatic Transfer to the connected account:
{ "id": "cptxn_1NBJQR2eZvKYlo2CBUy2GQ1S", "object": "capital.financing_transaction", "details": { "reason": "automatic_withholding", "transaction": { "charge": "py_1NBJI62c99H72o8MUEN0fIZx" }, ... }, "type": "payment", ... }
You can then use the Retrieve Charge API to get the charge object:
{ "id": "py_1NBJI62c99H72o8MUEN0fIZx", "object": "charge", "source_transfer": "tr_3NBJGW2eZvKYlo2C1jQOxNwF", ... }
Because this is a Destination Charge, the source_
is populated with the Transfer ID. Use the Retrieve Transfer API to get the Transfer object:
{ "id": "tr_3NBJGW2eZvKYlo2C1jQOxNwF", "object": "transfer", "source_transaction": "ch_3NBJGW2eZvKYlo2C17oDFajw", ... }
The source_
field contains the ID of the Charge which occurred on your platform, triggering a Transfer to the connected account.
Provide reports
You can display paydowns in any list of financing transactions or equivalent models you have in your platform’s UI. For example:
- Existing reports: For existing reports that show a connected account’s individual transactions (including the application fee or interchange costs), consider adding a withholding amount to the report.
- New reports: For new reports, show all withholding amounts for a specific time period. This helps your connected accounts see how much of their sales processing is being applied toward their financing. For payout reports, you might want to include a sum total amount withheld. This is so connected accounts can reconcile their total incoming sales processing, minus the withholding (and any application fees you charge), to arrive at the payout amount they expect to see in their external bank account.