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
Issuing cards
    Overview
    How Issuing works
    Global availability
    Manage fraud
    Cards
    Choose your card type
    Virtual cards
    Issue virtual cards
    Physical cards
    Manage cards
    Digital wallets
    Replacement cards
    Card programs
    Program management
    Customize your card program
    Add funds to your card program
    Credit Consumer Issuing
    Controls
    Spending controls
    Advanced fraud tools
    3DS
    Fraud challenges
    Real-time authorizations
    PIN management
    Issuing Elements
    Token Management
    Funding
    Balance
    Postfund your integration with Stripe
    Postfund your integration with Dynamic Reserves
    Purchases
    Authorizations
    Transactions
    Disputes
    Testing
    Merchant categories
    ATM Usage
    Issuing with Connect
    Set up an Issuing and Connect integration
    Update terms of service acceptance
    Connect funding
    Connected accounts, cardholders, and cards
    Embed card management UI
    Credit
    Overview
    Set up connected accounts
    Manage credit terms
    Report other credit decisions and manage AANs
    Report required regulatory data for credit decisions
    Manage account obligations
    Test credit integration
    Additional information
    Choose a cardholder type
    Customer support for Issuing and Treasury
    Issuing watchlist
    Marketing guidance (Europe/UK)
    Product and marketing compliance guidance (US)
Treasury
Manage money
HomeMoney managementIssuing cards

Set up credit for connected accountsPrivate preview

Learn how to configure credit terms for your connected accounts and fund their spend from your platform.

Copy page

The Credit APIs are used to manage the credit terms for your connected accounts. Subject to your credit policy with your bank partner, you can select the connected accounts that are eligible to receive credit, set their credit limit and period, and enable them to spend and repay their expenses at the end of their credit period.

Prerequisites

  1. Register your platform.
  2. Add business details to activate your account.
  3. Complete your platform profile.
  4. Customize brand settings. Adding a business name, icon, and brand color is required for Connect Onboarding.
  5. The Issuing Credit beta is enabled for your account. Contact your Stripe account representative for more details.

See the Custom Connect account creation guide to get set up.

Request the `card_issuing_charge_card` capability for your connected accounts

In addition to the transfers capability required for issuing cards, you must enable and activate the card_issuing_charge_card capability for each connected account whose spend you want to support using your platform’s available funds (this includes your platform’s resources if you’re prefunding). The card_issuing_charge_card capability enables a connected account to issue cards on their account and make charges up to their credit limit, provided that your platform Issuing account has sufficient available funds to support the charges. If you’re creating a new connected account on your platform, you can add the card_issuing_charge_card capability in the same way you request other capabilities. For existing connected accounts, you can request the card_issuing_charge_card capability through an update account API call.

Command Line
cURL
curl https://api.stripe.com/v1/accounts \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d country=US \ -d type=custom \ -d "capabilities[card_payments][requested]"=true \ -d "capabilities[transfers][requested]"=true \ -d "capabilities[card_issuing_charge_card][requested]"=true

Record the user’s application details and approved credit limit

Each time a user completes and submits an application for credit to your platform, record their application details and the decision to approve or reject with the Credit Underwriting Record API.

First, use the create_from_application endpoint to record the time the application was submitted, the purpose (credit_line_opening for new users), and the applicant’s name and email in the credit_user hash. You can specify how you received the application with application_method, but if you don’t provide a value it defaults to online.

Command Line
cURL
curl https://api.stripe.com/v1/issuing/credit_underwriting_records/create_from_application \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d "credit_user[name]"="Barbell Gym" \ --data-urlencode "credit_user[email]"="barbell-gym@gmail.com" \ -d "application[purpose]"=credit_line_opening \ -d "application[submitted_at]"=1681138952

Example response

{ "object": "issuing.credit_underwriting_record", "id": "cur_1NiHAD2eZvKYlo2CmWGpt5OX", "credit_user": { "name": "Barbell Gym", "email": "barbell-gym@gmail.com" }, "created_from": "application", "application": { "purpose": "credit_line_opening", "submitted_at": 1681138952, "application_method": "online" }, "decision_deadline": 1683601352 // 30 days after submission }

To approve the application, use the report_decision endpoint with the ID from the response, and set the decision type to credit_limit_approved, and provide the approved amount.

Command Line
cURL
curl https://api.stripe.com/v1/issuing/credit_underwriting_records/cur_1NiHAD2eZvKYlo2CmWGpt5OX/report_decision \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d decided_at=1681138965 \ -d "decision[type]"=credit_limit_approved \ -d "decision[credit_limit_approved][amount]"=100000 \ -d "decision[credit_limit_approved][currency]"=usd

All received applications must be recorded. See Report other credit decisions for details on how to report applications that are rejected, incomplete, or withdrawn by the applicant.

Accept Charge Card terms to activate the `card_issuing_charge_card` capability

After requesting the card_issuing_charge_card capability for a connected account, activate the capability by completing the card_issuing_charge_card requirements and accepting the connected account agreements including (but not limited to) Cross River Bank’s Charge Card Terms of Service.

Command Line
cURL
curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "settings[card_issuing_charge_card][cross_river_bank][tos_acceptance][ip]"="8.8.8.8" \ -d "settings[card_issuing_charge_card][cross_river_bank][tos_acceptance][date]"=1611171056

These terms of service establish the credit relationship between the bank partner originating the credit and the connected account. You must include these terms during your onboarding flow and receive explicit acceptance from your user.

Also include additional charge card terms of service between you and the connected account. Include the important terms set out in your credit policy with the bank partner, such as fees, repayment period, rewards, and rules around how a connected account’s credit limit is set. Only record acceptance in the API after the account has agreed to the terms in your onboarding flow.

Determine the credit period and activate the credit line

Before taking any actions described in this section, consult your bank partner’s credit policy.

The CreditPolicy stores the credit limit and credit period for your connected account.

When the card_issuing_charge_card capability becomes active, Stripe creates an empty, inactive CreditPolicy for the connected account, triggering the issuing_credit_policy.created webhook event.

To set the credit_limit_amount you must use the same amount you approved in the application decision, or CreditPolicy will return an error.

In our example of Gymbox, let’s say Gymbox wants to extend Barbell (a gym) a 1,000 USD credit limit to be repaid on the 15th of each month. Gymbox makes the following call to configure Barbell’s connected account:

Command Line
cURL
curl https://api.stripe.com/v1/issuing/credit_policy \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-04-30.basil; issuing_credit_beta=v1; issuing_underwritten_credit_beta=v1" \ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
" \
-d credit_limit_amount=100000 \ -d credit_limit_currency=usd \ -d credit_period_interval=month \ -d credit_period_interval_count=1 \ -d "credit_period_ends_on_days[]"=15 \ -d days_until_due=0 \ -d status=active

You can set the credit_period_ends_on_days property to end the month on any day (1 through 28), or use 31 to set the last day of the month regardless of how many days are in the month.

Example response

{ "livemode": true, "credit_limit_amount": 100000, "credit_limit_currency": "usd", "status": "active", "credit_period_interval": "month", "credit_period_interval_count": 1, "credit_period_ends_on_days": [15], "days_until_due": 0, "last_effective_attributes": { "effective_until": "time_of_update", "credit_limit_amount": null, "credit_period_interval": null, "credit_period_interval_count": null, "credit_period_ends_on_days": null, "days_until_due": null, "status": "inactive", }, "upcoming_attributes": null }

You can both update and activate the CreditPolicy at the same time, as pictured above. You can also separately activate the policy after setting the fields.

Command Line
cURL
curl https://api.stripe.com/v1/issuing/credit_policy \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Version: 2025-04-30.basil; issuing_credit_beta=v1; issuing_underwritten_credit_beta=v1" \ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
" \
-d status=active

Example response

{ "livemode": true, "credit_limit_amount": 100000, "credit_limit_currency": "usd", "status": "active", "credit_period_interval": "month", "credit_period_interval_count": 1, "days_until_due": 1, "last_effective_attributes": { "effective_until": "time_of_update_to_active", "credit_limit_amount": 100000, "credit_period_interval": "month", "credit_period_interval_count": 1, "days_until_due": 1, "status": "inactive", }, "upcoming_attributes": null }

Each of these actions trigger separate instances of the issuing_credit_policy.updated webhook event.

After you activate the CreditPolicy, your platform’s available spend applies toward the spend of all of the connected account’s cards, up to the credit limit you set for the connected account. These cards only draw on your platform’s available spend when there are insufficient funds on the connected account’s Issuing balance.

After there are no available funds on the connected account’s Issuing balance and the connected account has reached its credit limit, Stripe automatically declines authorizations. Stripe creates a FundingObligation to help you manage and monitor the amount owed by the account throughout the credit period.

You can future date when the credit period of a credit policy comes into effect using the upcoming_attributes hash and the effective_at timestamp.

See Managing account obligations for information on using the FundingObligation to keep track of your connected accounts’ spend and outstanding balance.

Create cards and cardholders

After you set up your connected account for credit by activating the CreditPolicy, you can generate virtual or physical cards for your connected account to use against their credit limit.

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