Overview

Pre-built tooling

Pre-built integrations

Not seeing the integration you need? Build your own independently.
Pre-RequisitesStatusComment
Paid dev accountYou must have an activated Stripe account (submit business info). No charges required, but activation is mandatory.
Paid test accountStripe does not require or support a paid test account. Sandbox accounts are available by default in every account.
PartnershipNot required to develop or publish apps, but Stripe may offer partnership options for higher visibility.
App reviewRequired if you want to publish the app publicly on the Stripe App Marketplace. Stripe will review your app before approval.
Security auditNot strictly required, but apps must follow Stripe’s security best practices. A formal audit may be needed depending on your app’s access level and data usage.

Setup guide

1

Create a Stripe account

If you don’t already have one, sign up for a Stripe account.

2

Install Stripe CLI

  1. If you haven’t already, install the Stripe CLI.
  2. Log in using your Stripe account:
    stripe login
    
3

Install the Stripe Apps CLI plugin

  1. Run the following command to install the Stripe Apps plugin:
    stripe plugin install apps
    
  2. Verify the plugin version is 1.5.12 or newer:
    stripe apps -v
    
4

Create your Stripe App

  1. Create a new app project using the CLI:
    stripe apps create my-stripe-app
    
  2. This creates a local project folder with a manifest and app code.
5

Edit the app manifest

Open the stripe-app.json file and update these fields:

{
  "id": "com.example.my-app",
  "version": "0.0.1",
  "name": "My Stripe App",
  "icon": "./icon.png",
  "permissions": [],
  "stripe_api_access_type": "oauth",
  "distribution_type": "public",
  "allowed_redirect_uris": [
    "https://api.nango.dev/oauth/callback"
  ]
}
6

Add required permissions and UI (optional)

  1. Add permissions your app requires to access Stripe resources in the manifest (e.g., read_only, customers:read, etc.).
"permissions": [
    {
        "permission": "customer_read",
        "purpose": "Receive access to the customer’s phone number"
    }
]
  1. Optionally add a settings view or other UI extensions if your app has a user-facing configuration.
7

Upload your app to Stripe (requires live account)

  1. Ensure you’re logged into a fully activated (non-sandbox) Stripe account.
  2. Upload your app to Stripe:
    stripe apps upload
    
8

Publish your app

  • Submit your app for review when you’re ready to publish it to the Stripe App Marketplace.
  • When submitting an OAuth app, you must provide a Marketplace install URL. This URL should point to a page that initiates onboarding and installation, and clearly uses the OAuth install links found in the Settings tab of your app.
    The public OAuth install links from the Settings tab are different from those in the External test tab and must be used for review and production installs. Even though these links are inactive until the app is published, the Stripe App Review team can still use them to install and test your app.
9

Obtain your Client ID and Client Secret

  1. Go to your app’s Settings tab in the Stripe Dashboard.
  2. Locate the Live mode link under the Install link section. The Client ID is included as a query parameter in this URL (e.g., client_id=…).
  3. To obtain your Client Secret, go to the API Keys page in the Stripe Dashboard and copy your Secret key (starts with sk_live_…). Save these credentials securely as you’ll need them when configuring your integration in Nango.
10

Next

Follow the Quickstart.

Need help getting started? Get help in the community.
TopicLinks
GeneralStripe Dashboard
Stripe Documentation
DeveloperStripe Apps Overview
Stripe Apps CLI Guide
OAuth for Stripe Apps
Oauth App scopes
App Manifest Reference
Testing Your Stripe App
App Marketplace Publishing Guide
OAuth Token Exchange
Contribute useful links by editing this page

Common Scopes

PermissionDescription
payment_intent_read / payment_intent_writeManage payment flows
customer_read / customer_writeManage customer data
subscription_read / subscription_writeManage recurring billing
invoice_read / invoice_writeManage invoices
charge_read / charge_writeProcess payments
account_readView connected accounts
webhook_readManage webhooks
file_read / file_writeAccess uploaded files

API gotchas

  • The Stripe App is your live production integration, available for installation by real Stripe users. Use this when you’re ready to launch your app in a production environment.
Contribute API gotchas by editing this page