Session

A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.

The Session object

Attributes

  • idstring

    Unique identifier for the object.

  • objectstring

    String representing the object’s type. Objects of the same type share the same value.

  • account_holdernullable object

    The account holder for whom accounts are collected in this session.

  • accountsobject

    The accounts that were collected as part of this Session.

  • client_secretstring

    A value that will be passed to the client to launch the authentication flow.

  • filtersnullable object

    Filters applied to this session that restrict the kinds of accounts to collect.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • permissionsarray of enums

    Permissions requested for accounts collected during this session.

    Possible enum values
    balances

    Requests access for balance data on accounts collected in this session.

    ownership

    Requests access for ownership data on accounts collected in this session.

    payment_method

    Requests permission for the creation of a payment method from an account collected in this session.

    transactions

    Requests access for transaction data on accounts collected in this session.

  • prefetchnullable array of enums

    Data features requested to be retrieved upon account creation.

    Possible enum values
    balances

    Requests to prefetch balance data on accounts collected in this session.

    ownership

    Requests to prefetch ownership data on accounts collected in this session.

    transactions

    Requests to prefetch transaction data on accounts collected in this session.

  • return_urlnullable string

    For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.

The Session object
{
"id": "fcsess_1MwtnGLkdIwHu7ixs7NPQ7dq",
"object": "financial_connections.session",
"account_holder": {
"customer": "cus_NiKSWdaFz2F6I0",
"type": "customer"
},
"accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/financial_connections/accounts"
},
"client_secret": "fcsess_client_secret_KRJTKvCY3IKoYTrW18EazcO3",
"filters": {
"countries": [
"US"
]
},
"livemode": false,
"permissions": [
"balances",
"payment_method"
]
}

Create a Session

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

Parameters

  • account_holderobjectRequired

    The account holder to link accounts for.

  • permissionsarray of stringsRequired

    List of data features that you would like to request access to.

    Possible values are balances, transactions, ownership, and payment_method.

  • filtersobject

    Filters to restrict the kinds of accounts to collect.

  • prefetcharray of enums

    List of data features that you would like to retrieve upon account creation.

    Possible enum values
    balances

    Requests to prefetch balance data on accounts collected in this session.

    ownership

    Requests to prefetch ownership data on accounts collected in this session.

    transactions

    Requests to prefetch transaction data on accounts collected in this session.

  • return_urlstring

    For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.

Returns

Returns the Session object.

POST /v1/financial_connections/sessions
curl https://api.stripe.com/v1/financial_connections/sessions \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:" \
-d "account_holder[type]"=customer \
-d "account_holder[customer]"=cus_NiKSWdaFz2F6I0 \
-d "permissions[]"=payment_method \
-d "permissions[]"=balances \
-d "filters[countries][]"=US
Response
{
"id": "fcsess_1MwtnGLkdIwHu7ixs7NPQ7dq",
"object": "financial_connections.session",
"account_holder": {
"customer": "cus_NiKSWdaFz2F6I0",
"type": "customer"
},
"accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/financial_connections/accounts"
},
"client_secret": "fcsess_client_secret_KRJTKvCY3IKoYTrW18EazcO3",
"filters": {
"countries": [
"US"
]
},
"livemode": false,
"permissions": [
"balances",
"payment_method"
]
}

Retrieve a Session

Retrieves the details of a Financial Connections Session

Parameters

No parameters.

Returns

Returns a Session object if a valid identifier was provided, and raises an error otherwise.

GET /v1/financial_connections/sessions/:id
curl https://api.stripe.com/v1/financial_connections/sessions/fcsess_1MwtnGLkdIwHu7ixs7NPQ7dq \
-u "sk_test_4eC39Hq...arjtT1zdp7dcsk_test_4eC39HqLyjWDarjtT1zdp7dc:"
Response
{
"id": "fcsess_1MwtnGLkdIwHu7ixs7NPQ7dq",
"object": "financial_connections.session",
"account_holder": {
"customer": "cus_NiKSWdaFz2F6I0",
"type": "customer"
},
"accounts": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/financial_connections/accounts"
},
"client_secret": "fcsess_client_secret_KRJTKvCY3IKoYTrW18EazcO3",
"filters": {
"countries": [
"US"
]
},
"livemode": false,
"permissions": [
"balances",
"payment_method"
]
}

Transactions

A Transaction represents a real transaction that affects a Financial Connections Account balance.

Tax Calculations

A Tax Calculation allows you to calculate the tax to collect from your customer.

Related guide: Calculate tax in your custom payment flow

Tax Registrations

A Tax Registration lets us know that your business is registered to collect tax on payments within a region, enabling you to automatically collect tax.

Stripe doesn’t register on your behalf with the relevant authorities when you create a Tax Registration object. For more information on how to register to collect tax, see our guide.

Related guide: Using the Registrations API

Tax Settings

You can use Tax Settings to manage configurations used by Stripe Tax calculations.

Related guide: Using the Settings API

Verification Session

A VerificationSession guides you through the process of collecting and verifying the identities of your users. It contains details about the type of verification, such as what verification check to perform. Only create one VerificationSession for each verification in your system.

A VerificationSession transitions through multiple statuses throughout its lifetime as it progresses through the verification flow. The VerificationSession contains the user’s verified data after verification checks are complete.

Related guide: The Verification Sessions API

Verification Report

A VerificationReport is the result of an attempt to collect and verify data from a user. The collection of verification checks performed is determined from the type and options parameters used. You can find the result of each verification check performed in the appropriate sub-resource: document, id_number, selfie.

Each VerificationReport contains a copy of any data collected by the user as well as reference IDs which can be used to access collected images through the FileUpload API. To configure and create VerificationReports, use the VerificationSession API.

Related guides: Accessing verification results.

Crypto Onramp Session

A Crypto Onramp Session represents your customer’s session as they purchase cryptocurrency through Stripe. Once payment is successful, Stripe will fulfill the delivery of cryptocurrency to your user’s wallet and contain a reference to the crypto transaction ID.

You can create an onramp session on your server and embed the widget on your frontend. Alternatively, you can redirect your users to the standalone hosted onramp.

Related guide: Integrate the onramp

Crypto Onramp Quotes

Crypto Onramp Quotes are estimated quotes for onramp conversions into all the different cryptocurrencies on different networks. The Quotes API allows you to display quotes in your product UI before directing the user to the onramp widget.

Related guide: Quotes API

Climate Order

Orders represent your intent to purchase a particular Climate product. When you create an order, the payment is deducted from your merchant balance.

Climate Product

A Climate product represents a type of carbon removal unit available for reservation. You can retrieve it to see the current price and availability.

Forwarding Request

Instructs Stripe to make a request on your behalf using the destination URL. The destination URL is activated by Stripe at the time of onboarding. Stripe verifies requests with your credentials provided during onboarding, and injects card details from the payment_method into the request.

Stripe redacts all sensitive fields and headers, including authentication credentials and card numbers, before storing the request and response data in the forwarding Request object, which are subject to a 30-day retention period.

You can provide a Stripe idempotency key to make sure that requests with the same key result in only one outbound request. The Stripe idempotency key provided should be unique and different from any idempotency keys provided on the underlying third-party request.

Forwarding Requests are synchronous requests that return a response or time out according to Stripe’s limits.

Related guide: Forward card details to third-party API endpoints.

Webhook Endpoints

You can configure webhook endpoints via the API to be notified about events that happen in your Stripe account or connected accounts.

Most users configure webhooks from the dashboard, which provides a user interface for registering and testing your webhook endpoints.

Related guide: Setting up webhooks

Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Log in to your Stripe account and press Control + Backtick (`) on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g., )
The Stripe Shell is best experienced on desktop.
$