Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Start an integration
Products
Global Payouts
Capital
    Overview
    How Capital works
    Capital eligibility
    Get started with Capital for Platforms
    How it works
    Set up Capital
    Testing Capital
    How to market Capital
    Customize your integration
    Reporting and reconciliation
    Replacements
    Manage your program
    Regulatory compliance
    Servicing
    Metrics
    Grow your program
    Embed a promotional tile
    Import non-Stripe data into Capital underwriting
Issuing cards
Treasury
Manage money
HomeMoney managementCapital

Import non-Stripe data into Capital underwritingPrivate preview

Import transaction data from third-party data sources to incorporate it into Stripe Capital underwriting.

Copy page

Private preview

Importing third party data for Capital is currently in private preview and only available for US connected accounts

Connect platforms now have the capability to offer financing to their connected accounts, regardless of whether they process payments with Stripe. Sharing non-Stripe payments data gives Stripe Capital a more comprehensive view of your users’ entire business profile and increases their access to financing options. This includes payment volume from other payment processors and offline transactions, such as cash and checks. Stripe Capital incorporates these non-Stripe transactions to potentially expand eligibility coverage, increase loan offers, and decrease premium rates.

Before you begin

Enabling this functionality includes the following steps:

  1. Sign up for the waitlist. We’ll contact you shortly when you can be added to the private preview.
  2. Prepare 24 months of your third-party data for sharing. Refer to the required attributes for our underwriting models listed below.
  3. After you’re added into the preview, you need to share the 24 months of historical data. Stripe validates the required attributes and data quality and sends you a lift estimate for your program.
  4. If you send financing offer emails to your connected accounts through the Capital API, you need to update your email communications to connected accounts to support new loan products.
  5. Plan to set up an API-based automated daily data sharing process. After you begin sharing data daily, your connected accounts eligibility increases within 5 business days.

Collect and prepare your data

Collect transaction data such as alternative payment processing volume and cash or check transactions to import into Stripe as CSV files. Also include Stripe transactions, which we use to validate your data integration. Ensure that your data is compatible with the CSV format below. All attributes are required unless otherwise noted.

AttributeTypeExampleDescription
stripe_merchant_idStripe connected account IDacct_abcdef1234The identifier of the Stripe connected account ID.
transaction_idStringAny value such as my_internal_id or Check Number 1234The identifier of the transaction:
  • This must be unique across all transactions for all time.
  • This is an arbitrary identifier that helps you track a single transaction.
capture_dateDate in YYYY-MM-DD format in the UTC timezone2022-01-27The date on which the payment was successfully captured:
  • This corresponds to the payment capture date, not the authorization date.
payer_idStringAny value such as my_internal_payer_id or Customer Number 1234The identifier of the payer:
  • Unique, arbitrary identifier for a customer of the given merchant.
processor_idStringstripe or any value such as checks or App StoreThe identifier of the processor for this transaction:
  • stripe if Stripe processed this transaction
  • Otherwise, an anonymized, arbitrary identifier that helps group the source of a set of transactions.
payment_methodStringcheck, cash, credit_card, paypal, Zelle, and othersThe payment method used for this transaction.
transaction_amountInteger1234 when a buyer pays 12.34 USD to the merchant or when the merchant refunds 12.34 USD to the buyer.The numeric amount of the transaction without any currency symbols:
  • Given in minor units (in cents for USD).
  • Always non-negative.
  • The transaction_type attribute is used to indicate the direction of balance change.
transaction_currencyLowercase three-letter ISO currency codeusdThis is the three-letter ISO code for the currency of the transaction:
  • Currency in which the transaction was captured before any foreign currency exchange.
transaction_typecredit or debit
  • credit when a buyer pays to the merchant
  • debit when the merchant refunds to a buyer
The transaction type:
  • credit if the transaction increases the merchant balance (payment)
  • debit if the transaction decreases the merchant balance (refund or dispute)
fee_amountInteger100 when the processor or platform charges the merchant a 1 USD fee or when the processor or platform returns a 1 USD fee to the merchant.The fee amount associated with the transaction:
  • Given in minor units (in cents for USD).
  • Always non-negative.
  • Set fee_amount to 0 if the fee is unknown or zero.
  • The fee_type attribute is used to indicate the direction of balance change.

fee_type

credit or debit

  • credit when the processor returns the fee to the merchant
  • debit when the processor charges the merchant the fee

The fee_type:

  • credit if the fee increases the merchant balance (the processor returns the fee to the merchant)
  • debit if the fee decreases the merchant balance (the processor charges a fee to the merchant).

Set fee_type to debit if the fee is unknown or zero.

versionInteger1742323922Unix timestamp representing when the file was generated:
  • This value must be the same for all rows within a file.

additional_data

(Optional)

Key-value string

  • "{'key1':'value1','key2':'value2'}"
  • ""
  • Leave empty

An optional string of key-value pairs useful for storing additional information about the transaction in a structured format:

  • Set additional_data to "" or blank if there is no additional information.

Preliminary Stripe Capital analysis

To analyze the potential impact on offer generation from sharing additional non-Stripe data, we request a one-time upload of 24 months of historical data. We review the CSV file to ensure it meets the required attributes and process the data through our underwriting models. We share the assessment results for your review, allowing you to decide whether to set up a daily automated import for continued expanded eligibility.

Set up automated daily data imports

After completing the preliminary analysis, configure a daily automated upload using the Stripe API or Amazon S3 data connector. Upload data daily to maintain accurate and up-to-date information. Keeping a real-time view of your users’ financial health enables us to make more informed underwriting decisions. Setting up a daily automation now means no additional action will be required to benefit from future expanded eligibility opportunities with new underwriting models.

Automated recurring file imports with data connectors

If your transactional data files are stored in S3, use the Amazon S3 data connector to import these files into Stripe. Follow Stripe connector for Amazon S3 to set up your connector. The max file size imported through the data connector is 1GB.

Automated data uploads using the Stripe API

  1. Use the File Upload API to securely send documents to Stripe. To upload a file, send a multipart or form-data request to https://files.stripe.com/v1/files. The subdomain files.stripe.com is different from most of Stripe’s API endpoints. The request must specify the data_management_manual_upload purpose and a CSV file of your templated third-party data. The maximum file size you can upload through the API is 50 MB.

    The following example, which returns a file object if successful, uploads a file located at /path/to/a/file.jpg on your local file system:

    Command Line
    curl https://files.stripe.com/v1/files \ -u
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :
    \ -F file="@/path/to/a/file.csv" \ -F purpose=data_management_manual_upload
  2. Use the Data Management API to create an ImportSet object. An ImportSet represents a request to import a third-party data file into Stripe’s Data Management dashboard. Because the Data Management API is in beta, specify the beta header Stripe-Version: 2024-12-18.acacia;udap_beta=v1 in your request.

    The following example creates an ImportSet object from file_abcdef, which the File Upload API returned in the previous step:

    Command Line
    curl https://api.stripe.com/v1/data_management/import_sets \ -H "Stripe-Version: 2024-12-18.acacia;udap_beta=v1" \ -u
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :
    \ -d file="file_abcdef" \ --data-urlencode source_data_format="gsdf_61S7vBSIsrNXP3yYM5G6S"

To create test file uploads and ImportSet objects, use your test API key in your request.

Borrower Experience

Sharing third-party data for your connected accounts from other processors, as well as cash or check payments, provides more inclusive financing options for businesses, regardless of where their payments are processed. Borrowers can receive tailored fixed-term loan offers that reflect their overall revenue, not just the volume processed through Stripe. This approach ensures better eligibility rates and more relevant financing offers, enabling businesses to access the capital they need to grow in a competitive landscape.

Here is an overview of the differences between flex loans and fixed term loans:

Offer TermsFlex LoansFixed Term Loans
Max loan size250000 USD250000 USD
Pricing8-19.99%8-19.99%
Expected duration8-9 months (expected)42 weeks
Payment minimums60 day minimum payments. Bank debits if minimum is not met every 60 days7 day minimum payments. Bank debits if minimum is not met every 7 days
Transaction withholding %Fixed % for the life of the loan100% of payments until minimum is met each 7 day period. 0% thereafter

If you currently send out your own financing offer emails via the Capital API, you need to update your email communications to support this new fixed term product. Making this change now enables you to take advantage of new capital products in the future without any additional work.

Here is a template for updating your email communications:

Audience

All users receiving their first financing offer

Copy
Subject line

Access up to in financing to grow your business

Copy
Preheader

is prequalified—apply in a few clicks

Copy
Body copy

Access flexible financing with one flat fee for whatever your business needs. Businesses use Stripe Capital to manage cash flow, buy inventory, invest in marketing, and more.

How it works

  • Simplified application: Apply in a few clicks – applying won’t impact your personal credit score.
  • No surprises: Know what you’ll pay from day one with one flat fee. No compounding interest, late fees, or early payoff fees.
  • Funds in days, not months: If approved, funds are transferred to your Stripe account in as little as one to two business days.
  • Automatic payments*: Payments are made automatically through your Stripe account, so you can focus on growing your business instead.

If you have any questions, you can learn more about the program .

Copy
CTA button

View Offer

Copy
Signoff

—The team

Copy
Disclosures

This offer is available until .

Stripe Capital offers financing types that include loans and merchant cash advances. All financing applications are subject to review prior to approval. Stripe Capital loans are issued by Celtic Bank, and YouLend provides Stripe Capital merchant cash advances. See your Dashboard for the terms of your offer.

*Stripe Capital loans have a minimum amount due each payment period. If the amount that you pay through sales doesn’t meet the minimum required, your bank account will be automatically debited the remaining amount at the end of the period.

Copy
Footer

This email was sent to . If you’d rather not receive this kind of email, you can unsubscribe from future financing offer emails. ,

Copy
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc