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
Versioning
Changelog
Upgrade your API version
Upgrade your SDK version
Developer tools
SDKs
API
Testing
Workbench
Event Destinations
Workflows
Stripe CLI
Stripe Shell
Developers Dashboard
Agent toolkit
Stripe health alertsBuild with LLMsStripe for Visual Studio CodeFile uploads
Security
Security
Extend Stripe
Stripe Apps
    Overview
    Get started
    Create an app
    How Stripe Apps work
    Sample apps
    Build an app
    Store secrets
    API authentication methods
    Authorization flows
    Server-side logic
    Listen to events
    Handle different modes
    Enable sandbox support
    App settings page
    Build a UI
    Onboarding
    Distribute your app
    Distribution options
    Upload your app
    Versions and releases
    Test your app
    Publish your app
    Promote your app
    Add deep links
    Create install links
    Assign roles in UI extensions
    Post-install actions
    App analytics
    Embedded components for Apps
    Embed third-party Stripe Apps
    Migrating to Stripe Apps
    Migrate or build an extension
    Migrate a plugin to Stripe Apps or Stripe Connect
    Reference
    App manifest
    CLI
    Extension SDK
    Permissions
    Viewports
    Design patterns
    Components
Stripe Connectors
Partners
Partner ecosystem
Partner certification
HomeDeveloper toolsStripe Apps

Viewports reference

A list of available viewports for Stripe Apps and how your end users see them.

Copy page

A viewport specifies the page in the Dashboard where your view can appear. A viewport can provide an environment.objectContext object that allows you to receive context on a current page’s Stripe object. For more information, see Access Stripe objects in the Dashboard.

Available viewports for your UI extension:

Viewport IDPageURLsObject type
stripe.dashboard.payment.listPayments pagedashboard.stripe.com/paymentsnull
stripe.dashboard.payment.detailPayment details pagedashboard.stripe.com/payments/:idcharge, payment_intent
stripe.dashboard.customer.listCustomers pagedashboard.stripe.com/customersnull
stripe.dashboard.customer.detailCustomer details pagedashboard.stripe.com/customers/:idcustomer
stripe.dashboard.invoice.listInvoices pagedashboard.stripe.com/invoicesnull
stripe.dashboard.invoice.detailInvoice details pagedashboard.stripe.com/invoices/:idinvoice
stripe.dashboard.product.listProducts pagedashboard.stripe.com/products/null
stripe.dashboard.product.detailProduct details pagedashboard.stripe.com/products/:idproduct
stripe.dashboard.subscription.listSubscriptions pagedashboard.stripe.com/subscriptionsnull
stripe.dashboard.subscription.detailSubscription details pagedashboard.stripe.com/subscriptions/:idsubscription
stripe.dashboard.payment-link.listPayment Links pagedashboard.stripe.com/payment-linksnull
stripe.dashboard.payment-link.detailPayment Link details pagedashboard.stripe.com/payment-links/:idpayment_link
stripe.dashboard.home.overviewDashboard homepagedashboard.stripe.com/dashboardnull
stripe.dashboard.balance.overviewBalance pagedashboard.stripe.com/balance/overviewnull
stripe.dashboard.billing.overviewBilling pagedashboard.stripe.com/billingnull
stripe.dashboard.report.overviewReports > Overview pagedashboard.stripe.com/reports/hubnull
stripe.dashboard.revenue-recognition.overviewRevenue Recognition pagedashboard.stripe.com/revenue-recognitionnull
stripe.dashboard.shipping-rates.listShipping Rates pagedashboard.stripe.com/shipping-ratesnull
stripe.dashboard.shipping-rates.detailShipping Rate details pagedashboard.stripe.com/shipping-rates/:idshipping_rate
stripe.dashboard.tax-report.overviewReports > Tax pagedashboard.stripe.com/tax/reportingnull
stripe.dashboard.drawer.defaultAvailable across all pages (For more information, see Dashboard-wide availability) null
settingsApp settings page (For more information, learn how to add an app settings page.) null

Application availability

You can make your application available across all pages or specific to a single page in the Dashboard.

Dashboard-wide availability

If your app specifies a view for the stripe.dashboard.drawer.default viewport, this view appears on every page in the Dashboard except for where you have defined page-specific views.

For example, if the ui_extension.views field in your app’s stripe-app.json manifest is as follows:

stripe-app.json
{ "id": "com.example.app", "version": "1.2.3", "name": "Example App", "icon": "./example_icon_32.png", "permissions": [ { "permission": "customer_read", "purpose": "Receive access to the customer information" } ], "ui_extension": { "views": [ { "viewport": "stripe.dashboard.customer.detail", "component": "CustomerView" }, { "viewport": "stripe.dashboard.drawer.default", "component": "EverywhereElseView" } ] } }

“CustomerView” would appear when the application is open on the Customer details page, and “EverywhereElseView” would appear on every other page in the Dashboard.

The stripe.dashboard.drawer.default view doesn’t receive objectContext data the way that a page-specific view does. If your app needs to access information like the id of an invoice shown on an “Invoice details” page, you need to create a view that uses the stripe.dashboard.invoice.detail viewport. For more information, see Page-specific availability.

Page-specific availability

Page-specific views relate to the current page the user is viewing, and allow apps to receive additional context about the page through the environment property. For more information, see Access Stripe objects in the Dashboard.

For example, if your app has a view for the stripe.dashboard.product.detail viewport, when a user opens your app on the Product details page, that view appears in the app.

If your app doesn’t have either a page-specific view for the current page or an app-specific default view, the drawer displays a generic default view that shows the user how to access the app.

For example, if your app has two views on page-specific viewports, shown in the app manifest below:

stripe-app.json
{ "id": "com.example.app", "version": "1.2.3", "name": "Example App", "icon": "./example_icon_32.png", "permissions": [ { "permission": "customer_read", "purpose": "Receive access to the customer information" } ], "ui_extension": { "views": [ { "viewport": "stripe.dashboard.customer.detail", "component": "CustomerView" }, { "viewport": "stripe.dashboard.product.detail", "component": "ProductView" } ] } }

When the end user opens your app on the Dashboard homepage, the application displays links to the Customers and Products pages. If the user then navigates to the Customers page, the app displays a message prompting them to select a customer to see related information in your app.

See also

  • Design your app
  • How UI extensions work
  • Permissions reference
  • UI extension SDK reference
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