We may earn an affiliate commission when you visit our partners.
Angular University

This Course in a Nutshell

This course is a complete guide on how to implement Stripe Payments in your web application. It's ideal for anyone thinking about monetizing a side project or developing a new web-based product, or for anyone curious about how payments work on the web in general.

The goal of this course is to teach you everything that you need to know to create your own online eCommerce store or subscription membership website. At the end of the course, you will know how to take real credit card payments from customers in production.

Read more

This Course in a Nutshell

This course is a complete guide on how to implement Stripe Payments in your web application. It's ideal for anyone thinking about monetizing a side project or developing a new web-based product, or for anyone curious about how payments work on the web in general.

The goal of this course is to teach you everything that you need to know to create your own online eCommerce store or subscription membership website. At the end of the course, you will know how to take real credit card payments from customers in production.

This course is also a great way to learn a lot of practical aspects of web security, as we are going to be discussing extensively all security aspects of our payment solution that we will be implementing from scratch, without assuming any prior Stripe or web payments experience.

Like all other courses at the Angular University, this course is project-based and is designed to be both watchable on its own but it can also be used as a practical exercise if you choose to code along as we go.

Course Overview

In this course, we are going to take a small single-page Angular application (no prior Angular experience needed), and we are going to add to it the ability to perform one-time credit card charges and signing up for recurring subscriptions.

Our application is connected to a No SQL Firestore database, which allows us to query the data directly from the client without a server needed in between. We are going to cover in detail how all the security aspects of Firestore work as we design and build our Payment solution.

For processing credit card payments, we are going to be using Stripe. You probably heard of Stripe by now, as it's one of the most well-known startups in the world. You can think of it as an improved, more developer-friendly version of Paypal.

We are going to explain in detail how Stripe credit card payments work, but most of all how to integrate Stripe securely in our application. Using Stripe by itself will not ensure you a secure payment solution, our payment solution still needs to be carefully designed bringing together aspects like User authentication and general web security design best practices.

For user authentication, our application will be using Firebase Authentication, and for data authorization, we are going to be using Firestore Security Rules, all of which is going to be explained in detail throughout the course.

The main focus of our course is going to be the Stripe payment platform. We are going to be developing an Express backend that enables our payment solution, and we are going to learn everything that it takes to deploy our solution in production using Firebase Hosting and Google App Engine for Node.

Table of Contents

This course covers the following topics:

  • Introduction to the Stripe Payments platform

  • Understanding how Stripe security works

  • Introduction to Stripe Checkout, understanding its advantages

  • Introduction to the Firestore NoSQL database

  • Introduction to user authentication with Firebase Authentication

  • Creation of a Stripe test account for development

  • Introduction to the Stripe CLI for local Stripe development purposes

  • Guided walkthrough to the Stripe Developer dashboard

  • Security design - protecting data from non-paying users

  • Step-by-Step implementation of one-time charges using Express and the Stripe API

  • Protecting our express backend using JSON Web Tokens and Stripe Middleware

  • Implementing order fulfillment with Stripe Webhooks

  • Handling Payment completion and failure on the frontend

  • Introduction to Stripe subscriptions

  • Step-by-Step implementation of recurring subscriptions using Express and the Stripe API

  • Production deployment with Firebase Hosting and Google App Engine for Node

  • A step-by-Step guide to accepting real payments in production with Stripe

What Will You Learn In this Course?

After taking this course, you will feel comfortable designing and implementing a Stripe-based payment solution for your application. Not only will you know the Stripe platform and the essential parts of its API, but you will know how to integrate Stripe securely your application, by designing a complete end-to-end secure payment solution.

You will know how to take real payments from customers in a production environment, enabling you, for example, to monetize a side project or build your own paid product. You will be able take on development roles that involve Stripe payments and have a very good understanding of how payments work on the web in general, from a practical perspective.

Have a look at the course free lessons below, and please enjoy the course.

Enroll now

What's inside

Learning objectives

  • Code in github repository with downloadable zip files per section
  • Learn how to accept real payments in production from customers
  • Step-by-step guide to the stripe payments platform
  • Add both one-time payments and recurring charges
  • Stripe integration built with node, express and firestore
  • Learn how to design a secure payment solution using firebase authentication and firestore security rules

Syllabus

Introduction
Stripe Payments In Practice - Helicopter View
IMPORTANT - Recommended Software Versions
Setting Up your Development Environment
Read more
Setting Up the Firestore NoSQL Database
Setting Up Firebase Authentication - Sample App Demo
Introduction to Stripe
Introduction to Stripe - What is Card Tokenization?
Introduction to Stripe Checkout - The best way to add payments to your website
Stripe One-Time Charges - Setting Up an Express Server
Beginning the Stripe Checkout Process
Calling the Checkout REST endpoint - Angular CLI Development Setup
Payments Node Backend - Managing Environment Variables with dotenv
Setting Up an Express Server
Building the skeleton of a REST Checkout Express endpoint
Node Development Best Practices
Running Node Locally in Hot Reload Mode
How to Run Node in Debug Mode
The Stripe Payments API - Step-by-Step Example
Introduction to the Stripe API and the stripe-node npm package
Setting Up a Stripe Test Account - Step-by-Step Guide
Stripe API - Creating a Checkout Session
Preparing Checkout Session Redirection - Success and Failure Urls
Stripe API - Stripe Dashboard Results
Redirecting the User to the Checkout Page
Setting Up a Firebase Service Account
Setting Up a Firestore Database Connection from a Node Backend
Backend User Authentication Solution with JWTs and Express Middleware
Stripe Fulfilment with Webhooks - Solution Design
Linking a Successful Payment to a User Action
Backend Authentication Design - How does Firebase Authentication work?
Sending the Firebase Authentication JWT to the Backend
Express Get User Middleware - Initial Version Implementation
Extracting the User Identity From the Firebase Authentication JWT
Backend User Authentication - Implementation Finished
Stripe Order Fulfillment with Webhooks
Stripe Webhooks - What are they, and how do they work?
Understanding How the Express Raw Middleware works and when to use it
Testing Webhooks on a Development machine using the Stripe CLI
Order Fulfillment Webhook - Design and Implementation
Stripe Webhook - Implementation Finished and Demo
Payment Ongoing Page - Initial Implementation
Payment Ongoing Page - Implementation Completed
Grouping Multiple Purchases under the same Stripe Identifier
User Authorization with Firestore Security Rules
Firestore Security Rules - What are they and how do they work?
Adding Firestore Security Rules to our project
Deploying and Testing our first set of Firestore Security Rules
Protecting Premium Data from non-paying users with Firestore Security Rules
Securing the Purchase Sessions Collection using Firestore Security Rules
Firestore Rules - Final Test and Demo
Stripe Recurring Subscriptions with Stripe Checkout- Step-by-Step Implementation
Introduction to Stripe Recurring Plans
Adapting the Angular Service Layers to support Subscriptions
Adapting our Node Express Backend to support Recurring Charges
Adapting our Webhooks to support Recurring Charges
Adapting Firestore Security Rules to support Recurring Subscriptions
Stripe Recurring Charges In Action - Demo
Stripe In Production - Deployment with Firebase Hosting and Google App Engine
Setting Up the Google Cloud App Engine for Node CLI
Production Deployment of our Payments Backend with Google App Engine for Node
Setting Up Stripe for Production Payments
Production Deployment of our Angular Frontend to Firebase Hosting
Final Test in Live Mode - Taking Real Payments in Production using Stripe
Conclusion
Bonus Lecture (Updated February 2025)
Stripe In Practice Course - Conclusions & Key Takeaways

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a practical, project-based approach to learning Stripe, which is valuable for developers looking to implement payment solutions in web applications
Covers security aspects of payment solutions, including user authentication and data authorization, which are crucial for building trustworthy e-commerce applications
Explores Firebase Authentication and Firestore Security Rules, which are useful for developers building full-stack applications with secure data access
Requires familiarity with Angular, Node, Express, and Firestore, which may pose a barrier to entry for beginners without prior experience in these technologies
Uses specific versions of Firebase and other tools, which may require learners to adapt the course to newer versions as they evolve
Teaches deployment using Firebase Hosting and Google App Engine, which are useful skills for deploying web applications to production environments

Save this course

Save Stripe In Practice to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Stripe In Practice with these activities:
Review Web Security Fundamentals
Reinforce your understanding of web security principles, which are crucial for designing a secure payment solution with Stripe.
Browse courses on Web Security
Show steps
  • Review common web vulnerabilities such as XSS and CSRF.
  • Study authentication and authorization mechanisms.
  • Familiarize yourself with secure coding practices.
Read 'Web Application Hacker's Handbook'
Gain a deeper understanding of web application vulnerabilities to better secure your Stripe integration.
Show steps
  • Read the chapters on authentication and authorization.
  • Study the sections on common web vulnerabilities.
  • Take notes on mitigation strategies for each vulnerability.
Practice with Stripe Test Environment
Solidify your understanding of the Stripe API by experimenting with different payment scenarios in the test environment.
Show steps
  • Create various test users and products in Stripe.
  • Simulate successful and failed payment attempts.
  • Explore different Stripe features like refunds and disputes.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Stripe Integration Process
Reinforce your learning by creating detailed documentation of your Stripe integration, including code snippets and explanations.
Show steps
  • Document the steps involved in setting up Stripe.
  • Explain the code used for processing payments.
  • Describe the security measures implemented.
Read 'Stripe Payments Book'
Expand your knowledge of Stripe with a dedicated book on the platform.
View Alter Ego on Amazon
Show steps
  • Read the chapters on Stripe Checkout and Subscriptions.
  • Study the sections on webhooks and security.
  • Take notes on advanced Stripe features.
Build a Demo E-commerce Store with Stripe
Apply your knowledge by building a small e-commerce store that uses Stripe to process payments.
Show steps
  • Set up a basic e-commerce website with product listings.
  • Integrate Stripe to handle payment processing.
  • Implement order fulfillment and customer management.
Contribute to a Stripe Open Source Project
Deepen your understanding of Stripe by contributing to an open-source project that uses the Stripe API.
Show steps
  • Find an open-source project that uses Stripe.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Stripe In Practice will develop knowledge and skills that may be useful to these careers:
Payment Integration Specialist
As a Payment Integration Specialist, you will design and implement secure payment solutions for web applications. This course directly addresses the practical aspects of integrating Stripe payments, covering one-time charges and recurring subscriptions. You'll gain experience with Express, Firebase Authentication, and Firestore Security Rules, all essential for securing payment processes. The course dives into web security and helps build a complete secure payment solution, including handling order fulfillment with Stripe Webhooks. The knowledge of Stripe's API and its secure integration will set you apart as a Payment Integration Specialist.
Full-Stack Developer
A Full Stack Developer works on both the front end and back end of web applications, making knowledge of payment processing essential for many projects. This course helps to build a deep understanding of integrating Stripe payments into a full-stack application. You will learn how to implement one-time charges and recurring subscriptions using Express, Angular, and Firestore. The course emphasizes security, covering user authentication with Firebase and data authorization with Firestore Security Rules. This allows full stack developers to create payment applications.
Web Security Engineer
Web Security Engineers specialize in protecting web applications from vulnerabilities, and secure payment processing is a critical area. This course provides insight into the security aspects of implementing a Stripe payment solution. It covers topics such as user authentication, data authorization using Firestore Security Rules, and protecting against non-paying users. The focus on secure design and implementation, including the use of JSON Web Tokens and Stripe Middleware, equips you with practical knowledge to enhance web application security. As a Web Security Engineer, you can apply this training to ensure payment processes' safety.
Backend Developer
Backend Developers build and maintain the server-side logic of web applications, often involving payment processing. This course provides a hands-on approach to developing a secure payment backend using Express and the Stripe API. You'll learn to implement one-time charges, recurring subscriptions, and order fulfillment using Stripe webhooks. The course also covers security aspects such as user authentication with Firebase and data authorization with Firestore Security Rules. The practical focus of the course is useful for Backend Developers involved in payment system development.
API Developer
An API Developer designs, builds, and maintains application programming interfaces, and integrating payment gateways like Stripe is a common task. This course is designed for using the Stripe API to implement payment solutions. You will learn how to create and manage checkout sessions, handle webhooks for order fulfillment, and implement recurring subscriptions. The course covers the full development lifecycle, including testing, securing, and deploying the API. For an API Developer, this curriculum is helpful for any role where payments are central to API functionality.
Ecommerce Developer
An eCommerce Developer builds and maintains online stores, focusing on secure and efficient payment processing. This course provides a concrete foundation for handling online payments via Stripe. By learning how to implement one-time charges and recurring subscriptions, you can begin to build an eCommerce environment. The course also covers security design, protecting data, and deploying to Firebase Hosting and Google App Engine, providing a practical understanding of the entire development lifecycle. This Stripe course may be useful for those seeking to enter the eCommerce landscape.
DevOps Engineer
DevOps Engineers focus on automating and streamlining the software development lifecycle, including deployment and infrastructure management. This course covers the deployment of a Stripe-based payment solution using Firebase Hosting and Google App Engine for Node. It teaches you how to set up the necessary infrastructure and deploy both the backend and frontend components of the application. As a DevOps Engineer, these insights into deployment best practices for payment systems are helpful.
Mobile Application Developer
Mobile Application Developers create applications for mobile devices. This course may be useful for integrating secure payment processing via Stripe into mobile applications by building the required backend and APIs. It covers topics such as one-time payments, recurring subscriptions, and secure handling of payment information. The course also addresses authentication and authorization, critical components for mobile payment security. This knowledge equips mobile developers to build secure and reliable payment features in their applications.
Solutions Architect
Solutions Architects design and oversee the implementation of complex software systems. This course may be useful for those who want to learn the best practices for integrating Stripe payments into a web application. It covers essential aspects such as security design, user authentication, data authorization, and production deployment. Understanding these components help architects to design scalable and secure payment solutions that meet business requirements. Consider this training when overseeing payment infrastructure.
Technical Project Manager
Technical Project Managers oversee technical projects, and understanding the technologies involved is often essential. This course may be useful for one who manages projects involving Stripe payment integration. The material provides insights into the Stripe platform, its API, security considerations, and deployment strategies. This knowledge helps project managers communicate effectively with development teams, manage project timelines, and ensure successful project delivery. Technical project managers may find this training helpful in certain circumstances.
Product Manager
Product Managers guide the strategy, roadmap, and feature definition for a product. If a product involves payment processing, this course may be useful because it provides an understanding of the Stripe payments platform, its API, and how to integrate it securely into a web application. Product managers will be able to make informed decisions about payment features, pricing models, and user experience considerations. A better understanding of the technical elements leads to better decision making.
Quality Assurance Engineer
Quality Assurance Engineers test software to ensure it meets quality standards. This course may be useful for those who need to test payment processing functionality in web applications. It provides a practical understanding of how Stripe payments are integrated, including one-time charges, recurring subscriptions, and webhooks. QA Engineers can use this knowledge to develop comprehensive test plans, identify potential issues, and ensure the payment system functions correctly. This course may be useful for QA in payment systems.
Financial Technology Analyst
A Financial Technology Analyst works in the intersection of finance and technology. This course may be useful for those who want to understand the practical aspects of how payment systems are implemented in web applications. This course will help the analyst to understand how payment systems are integrated with security measures. This course can help in particular aspects of the role of Financial Technology Analyst.
Technical Writer
Technical Writers create documentation for software and hardware. This course may be useful for those who need to document Stripe payment integration processes. It provides a solid understanding of the Stripe platform, its API, and how to integrate it securely into web applications. This course provides a base of knowledge for developing accurate and informative documentation for developers and users alike. Technical writers should consider this training.
Customer Success Manager
Customer Success Managers work with customers to ensure they are successful with a product or service. If the product involves Stripe payment integration, this course may be useful because it provides a practical understanding of how the platform works, including setting up accounts, processing payments, and handling subscriptions. Equipped with a base of knowledge, the Customer Success Manager can better assist customers with payment-related issues and help them get the most out of the product. Customer Success Managers may find this training helpful.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Stripe In Practice.
Provides an in-depth look at web application security vulnerabilities and how to exploit them. It's a valuable resource for understanding the security risks involved in online payments and how to mitigate them. This book is commonly used by security professionals. It adds depth to the course by providing real-world examples and techniques.
Provides a comprehensive guide to Stripe payments, covering everything from basic setup to advanced features. It's a useful reference for understanding the Stripe API and how to integrate it into your application. This book is valuable as additional reading. It adds breadth to the course by covering a wide range of Stripe features.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser