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!