Stripe Connect Overview

Stripe applications make it easy for developers to integrate their services with Stripe. If you need help, check out our answers to common questions or chat live with our developers in #stripe on freenode.

With Stripe Connect, built on OAuth 2.0, you can now get access to your users' Stripe accounts. This enables two important use cases:

Payments for your users

If you're a marketplace, store builder, invoicing system, or anything else that helps users get paid, you can let your users accept credit cards instantly by having them connect or create a Stripe account.

Flow

Unlike most OAuth implementations (like Facebook Connect or Sign In with Twitter), we've seamlessly added the process of creating a Stripe account right into our authorization flow so you won't have to worry about whether or not your users have Stripe accounts already.

The user is logged in, and can connect directly.

The user needs to create an account.

When your users land back on your site, their account is ready to accept credit card payments. You can also retrieve their account status at any time with the account API resource.

Pre-filling information

If your user needs to set up a new account with Stripe, you can provide the best possible user experience by pre-filling the account form fields with information you already have, like email and name.

Pre-filling has no effect if your user already has an existing Stripe account.

Charges and recurring billing

After your user connects, you can charge credit cards, set up recurring billing, and take advantage of the rest of Stripe's full API on behalf of your user.

Since the charge is made on your user's Stripe account, money will be deposited directly into their bank account. You don't have to worry about aggregation restrictions, paying your users, dealing with chargebacks, or any other operational issues that typically arise when facilitating payments on behalf of others.

Collecting transaction fees

Collecting a fee on each transaction is as easy as passing an extra parameter to the charge creation API request. The fees will be deposited into your Stripe account (to be deposited on our normal 7-day rolling schedule).

Shared customers across all of your users

For some types of applications, like marketplaces, it's crucial to be able to reuse customer payment information across all of your sellers. You'll easily be able to do this by storing all of the payment data on your application's Stripe account, and accessing it when you're ready to make a charge.

Full access to Stripe data

If you're building an analytics service, accounting software, CRM system, or anything that builds on top of financial data, you can easily let your users share their Stripe data with you in just a couple of clicks.

Flow

Read-only scoped applications will by default show a Stripe Connect login screen instead of an account form when your users land on our site (presumably, your users will already own existing Stripe accounts). Your users will only need to click "Authorize" and confirm their account credentials.

If they don't own an existing Stripe account, they'll always have the option to create one right in the authorization flow, or you can force showing the account application by explicitly passing the stripe_landing=register parameter.

Full access to Stripe data

After your user has successfully given you access to their Stripe account, you'll be able to pull any data you'd like from the Stripe API.

You'll also receive all of your users' webhooks at a special application webhook url so you can keep up to date.