Stripe handles payments for millions of businesses, from startups to enterprises. If you're building an integration that syncs financial data from Stripe, you'll need OAuth credentials rather than a standard API key. This guide walks through creating a Stripe App and retrieving the credentials required to connect Stripe to other platforms.
For a unified approach to accounting integrations, check out the Apideck Stripe connector, which lets you pull Stripe data alongside 30+ other accounting platforms through a single API.
What is Stripe?
Stripe is a payment processing platform that enables businesses to accept online payments and manage recurring billing. Beyond payment processing, Stripe exposes financial data through its API, including transactions and customer records. For accounting integrations, this data is typically accessed via Stripe Apps using OAuth rather than raw API keys.
Prerequisites
Before you start, make sure you have:
- A Stripe account
- An Apideck account
- Node.js installed and up to date
- Stripe CLI version 1.12.4 or newer
Creating a Stripe App
Apideck's Stripe connector uses the Stripe Apps platform for OAuth authentication. For the complete walkthrough, see Apideck's OAuth Credentials Guide. Here's a summary of the key steps:
- Install the Stripe CLI if you haven't already.
- Run
stripe loginto authenticate with your Stripe account. - Verify your CLI version is 1.12.4 or newer with
stripe version. - Install the Stripe Apps plugin:
stripe plugin install apps - Verify the apps plugin version (should be 1.5.12 or later):
stripe apps -v - Create a new app:
stripe apps create apideck-integration - Follow the prompts for your app ID and display name.
- Navigate to your app directory:
cd apideck-integration - Upload your app:
stripe apps upload
Once uploaded, you can access your app's OAuth credentials in the Stripe Dashboard under Developers > Created apps.
Getting Your Client ID and Client Secret
After uploading your Stripe App:
- In the Stripe Dashboard, go to Developers > Created apps.
- Click your app to open its details page.
- Open the External test/live tab.
- Your Client ID is displayed here (starts with
ca_). - Generate a Client Secret if you haven't already. Store this securely as it won't be shown again.
Setting Up the Redirect URI
OAuth requires a redirect URI where users return after authorizing the connection. For Stripe Apps, you configure this in your app manifest file (stripe-app.json):
{
"allowed_redirect_uris": [
"https://unify.apideck.com/vault/callback"
]
}
After updating your manifest, run stripe apps upload to apply the changes. Without the correct redirect URI, the OAuth flow will fail with an invalid redirect error.
Finding Your Channel Link ID
Apideck's Stripe connector requires a Channel Link ID, which identifies your app's OAuth install link.
- In the Stripe Dashboard, go to Developers > Created apps.
- Click your app to open its details page.
- Open the External test/live tab.
- Locate the OAuth install link in the Test OAuth section.
- The Channel Link ID is part of this URL, formatted as
chnlink_xxxxx.
Copy this value for use in the Apideck connector configuration.
About Stripe Account IDs
When users connect their Stripe accounts through your integration, they may need to provide their Stripe Account ID. This is different from the OAuth credentials you just created. The Account ID:
- Starts with
acct_ - Is found in the Stripe Dashboard under Settings > Account details
- Identifies the specific Stripe account being connected
This ID is used by your integration to access bank account information and other account-specific data.
Common Mistakes
Wrong redirect URI: The most frequent OAuth error. Double-check that the redirect URI in your Stripe App matches exactly what your integration expects. Trailing slashes matter.
Mixing test and live credentials: Stripe maintains separate credentials for test mode and live mode. If your integration isn't seeing real data, verify you're using live credentials, not test ones.
Missing scopes: If your integration can't access certain data, check whether you've enabled the required scopes. For accounting integrations, the stripe_apps scope provides full access to account data.
Client Secret exposure: Never commit your Client Secret to version control or expose it in client-side code. Treat it like a password.
Rate Limits
Stripe's API uses rate limiting to ensure stability. The default rate limit is 100 operations per second in live mode and 25 operations per second in sandbox mode. Some endpoints have stricter limits. If you hit rate limits, Stripe returns a 429 Too Many Requests response. The Stripe-Rate-Limited-Reason header indicates which limit was exceeded.
For high-volume integrations, consider implementing exponential backoff and caching frequently accessed data.
Connecting Stripe via Apideck
Apideck's unified Accounting API lets you connect to Stripe alongside platforms like QuickBooks and Xero through a single integration. Once you have your Stripe App credentials, configuring the connector takes a few minutes.
Admin Configuration
- Log into your Apideck account and navigate to the Configuration page.
- Under Unified APIs, select Accounting.
- Find the Stripe connector and click to expand its settings.

- Enter your Client ID and Client Secret from your Stripe App.
- Scroll down to the Scopes section and enable
stripe_appsfor full access to account data. - In the OAuth Configuration section, enter your Channel Link ID (format:
chnlink_xxxxx).
7. Click Save settings.
User Connection Flow
Once admin configuration is complete, your users can connect their Stripe accounts through Apideck Vault:
- When a user initiates the connection, they'll see the Stripe authorization modal.
- The user enters their Stripe Account ID (found in their Stripe Dashboard under Settings > Account details).
- They click Authorize to complete the OAuth flow.

After authorization, you can pull financial data from Stripe through Apideck's unified Accounting API.
Ready to connect to Stripe and 30+ other accounting platforms through a single API? Get started for free.
Ready to get started?
Scale your integration strategy and deliver the integrations your customers need in record time.








