Integrating Stripe Payment Systems into Dash

Meet the Speaker

Austin Kiesewetter
Austin Kiesewetter is a Plotly community member and software engineer at Martin Engineering.
The video shows how to add e-commerce to a Plotly Dash app using Stripe. The demo covers a full flow that includes product listing, a cart, checkout, order history, and secure downloads for digital goods. It explains why owning the app matters for data access and fees, with Stripe taking about 2.5% per transaction instead of marketplace cuts.
You see how to create products in the Stripe dashboard, grab API keys, and load them with environment variables so sensitive information never hits GitHub. The app is organized with Dash pages, a simple header and page container, and a session store for payments. Product data is fetched from the Stripe API, transformed with pandas, then rendered into cards with images, descriptions, prices, and a Buy Now button that uses dynamic IDs. A single Dash callback reads which button fired via callback context, creates a stripe checkout session, opens the session URL with the web browser, and then returns the user on success or failure. The video also previews a sales analytics view with Plotly charts that track revenue, transactions, and averages over time. Everything runs first in Stripe sandbox, then switches to production by swapping keys.
Key takeaways
- Stripe integration in under 190 lines
- Secure key management with env files
- Dynamic callbacks for product specific checkout
- Plotly charts for revenue and transaction trends
Watch the video to follow along.