Node Setup Configure Node.js for hot reloading with TypeScript 📼 Login to Watch 👈 Intro to HTTP and REST Express 👉 Create a Node Project Start with an empty Node project. command line npm init -y Dependencies Add the following dependencies and scripts. file_type_npm package.json { "name": "stripe-server", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "tsc", "start": "node lib/index.js", "dev": "concurrently \"tsc -w\" \"nodemon lib/index.js\"" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "cors": "^2.8.5", "dotenv": "^8.2.0", "express": "^4.17.1", "firebase-admin": "^8.6.0", "stripe": "^8.43.0" }, "devDependencies": { "@types/express": "^4.17.6", "@types/cors": "^2.8.6", "concurrently": "^5.2.0", "nodemon": "^2.0.3", "tslint": "^5.12.0", "typescript": "^3.2.2" } } command line npm install npm run dev TS Config Add a tsconfig.json to handle TS compilation. file_type_typescript tsconfig.json { "compilerOptions": { "module": "commonjs", "noImplicitReturns": true, "noUnusedLocals": true, "noImplicitAny": false, "outDir": "lib", "sourceMap": true, "strict": true, "target": "es2017", "lib": ["ESNext"], "strictNullChecks": false, "esModuleInterop": true }, "compileOnSave": true, "include": [ "src" ] } Setup Environment Variables file_type_config .env STRIPE_SECRET=sk_test_YOUR_KEY WEBAPP_URL="http://localhost:3000" Chapters Get Started 📜 1 Resources Source code and resources free 2:23 2 How does Stripe Work? Understand how payment flows work in Stripe as a developer free 4:34 3 API Keys How to safely work with Stripe API keys free 1:42 4 Intro to HTTP and REST How RESTful APIs work and tools that will increase your productivity free 3:04 5 Node Setup Configure Node.js for hot reloading with TypeScript free 4:50 6 Express Build your first API endpoint with Express 3:46 7 React Setup Configure a React project for Stripe Payments 2:47 Stripe Checkout 🛒 8 Stripe Checkout What is Stripe Checkout and should you use it? 1:49 🛒 9 Stripe Checkout on the Server Create a checkout session on the server 3:39 10 Checkout with React Complete a checkout session and redirect to a success or fail page 6:21 3D Secure Payments 💸 11 Payment Intents API Change and save credit card details with Payment Intents API 1:50 💸 12 Create a Payment Intent How to create a Payment Intent on the Server 1:39 🎣 13 Stripe Webhooks How to work with Stripe webhook events in development 4:45 14 React React integration of Payment Intents API & Stripe Elements 4:26 Customer Management & Saved Cards 🧑🏿🤝🧑🏻 15 Customers and Saved Cards Manage Customers and Save Cards 1:42 file_type_firebase 16 Firebase Setup Add the Firebase SDKs to your server and frontend app 3:07 17 API Authentication How to decode the Firebase JSON web token with Express 3:35 🧑🏿🤝🧑🏻 18 Create a Customer Create a Stripe customer record and attach it to a Firebase user. 2:05 🧑🏿🤝🧑🏻 19 Save and List Card Save a card for future payments & list all available cards 2:08 20 React SignIn with Firebase, then save a credit card to the customer account. 3:46 Subscriptions & Billing 🔄 21 Billing Use Stripe billing to manage customers and their payment history 2:01 🔄 22 Create a Subscription Add a customer to a paid subscription plan 3:12 🔄 23 Cancel a Subscription Cancel a subscription 2:21 🔄 24 Recurring Payments Webhooks to handle recurring subscription payments and cancelations 3:02 25 Billing with React Integrate stripe subscription billing in React 5:58 Deployment file_type_docker 26 Docker Dockererize your Node.js API and deploy it to Cloud Run 4:22 file_type_firebase 27 Firebase Cloud Functions Refactor the API for Firebase Cloud Functions 3:25