Stripe Checkout Payments with Angular and Firebase - Part 1

Fireship · Intermediate ·🚀 Entrepreneurship & Startups ·9y ago

Key Takeaways

This video teaches how to implement Stripe Checkout Payments with Angular and Firebase

Full Transcript

in this episode we're going to integrate stripe payments into an angular 4 project with Firebase on the back end this is the first installment of a multi-part series on handling payments in angular in this first part you'll learn how to trigger the stripe checkout modal to collect the customer's credit card and then receive the payment token back from stripe before we get into the code let's take a look at how the whole stripe payment process works the user will enter their credit card details through the angular app with stripe checkout then stripe will respond with the payment token which we then want to save in the Firebase database this will automatically trigger a cloud function which sends the token back to stripe stripe will charge the card and then respond with the charge details Firebase and angular have a real-time connection so the user will always stay up to date on the status of their payment throughout this process let's start by getting the initial setup out of the way first you'll need a stripe API key which you can get from stripe.com then go to the checkout documentation and we'll be modifying the custom integration to work with angular in your app environment file add the stripe API key and make sure it's the test key from there we need to add the stripe checkout library to the index.html file and the final step is to make typescript aware of the stripe checkout class which you do in the typing. D.S file the next step is is to create a feature module to handle all of our payment components and services when you're done with this lesson your payment module should look something like this from there we can generate the service specifying the payment module then import angular fire database and angular fire off and first we'll get the user ID by subscribing to the angular fire off State the only other thing our service needs to do at this point is save the stripe token to the Firebase database the payment object will just be the stripe token as well as the amount that we want to charge the customer let's take a look at how this data is actually structured in the database every payment is nested under its Associated user ID the payment object has an amount which is just a number and the token and charge properties are objects that are return from stripe they contain all kinds of useful information that we'll see later in this lesson now can start building the component that will trigger the stripe checkout window we'll use the host listener decorator and we'll also want to inject the payment service into the component and we'll need the environment variable with our stripe API key we set variables for the Handler which is the stripe checkout object and also the amount which we'll just hardcode to 500 500 is equal to $5 in stripe everything's counted as one/ 100th of the underlying currency the Handler is defined during NG on a knit and we Define a few properties in there including the stripe API key as well as a default logo image but the most important part is the token property which is a function that we can use to handle the token when it's sent back to us from stripe in this case we send it back to the service to update it in the database the next function is just an event handler that you can attach to a button click and this will actually trigger the stripe window to pop up the last step is to use host list to listen for the window pop State event this will happen if the route redirects or if the user clicks the back button so if you redirect to a confirmation page you'll definitely want to implement this function let's go back into the app and make sure it's working using a test credit card from stripe we can send a test request to the API once the charge is complete we should see the database updated with the token details the most important part here is the token ID which we send back to Stripe from our backend to actually charge the card so it's important to note at this point that the card hasn't actually been charged we just have a token that we can use to charge it on the back end in the next part of this series we'll go over how to actually charge the card with Firebase Cloud functions that's it for part one if this video helped you please subscribe and if you're serious about stripe payments I recommend getting a pro subscription at angular firebase.com you'll get exclusive content related to angular stripe and Firebase base as well as access to our Pro channel on slack for one-on-one project Consulting thanks for watching I'll see you in part two [Music]

Original Description

This is a multipart series about building a payment system with Angular4 and Firebase. You can check out the Part 1 Full Lesson at https://angularfirebase.com/lessons/collect-payments-with-angular-stripe-checkout-and-firebase/ I start by talking about the payment process with Stripe. Then show you how to code it step-by-step with Stripe Checkout. Also, make sure to get an API key at https://stripe.com
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from Fireship · Fireship · 24 of 60

1 Angular 4 Development and Production Environments with Firebase
Angular 4 Development and Production Environments with Firebase
Fireship
2 OAuth with Angular and Firebase Tutorial
OAuth with Angular and Firebase Tutorial
Fireship
3 Anonymous Authentication with Angular and Firebase - Lazy Registration
Anonymous Authentication with Angular and Firebase - Lazy Registration
Fireship
4 Angular Router Guards for Firebase Users
Angular Router Guards for Firebase Users
Fireship
5 Angular Firebase CRUD App with NoSQL Database Tutorial
Angular Firebase CRUD App with NoSQL Database Tutorial
Fireship
6 Upload Files from Angular to Firebase Storage
Upload Files from Angular to Firebase Storage
Fireship
7 How to Deploy an Angular App to Firebase Hosting
How to Deploy an Angular App to Firebase Hosting
Fireship
8 Sharing Data between Components in Angular
Sharing Data between Components in Angular
Fireship
9 Loading Spinners for Asynchronous Firebase Data
Loading Spinners for Asynchronous Firebase Data
Fireship
10 Angular 4 Transactional Email with Google Firebase Cloud Functions
Angular 4 Transactional Email with Google Firebase Cloud Functions
Fireship
11 Firebase Database Rules Tutorial
Firebase Database Rules Tutorial
Fireship
12 Autocomplete Search with Angular4 and Firebase
Autocomplete Search with Angular4 and Firebase
Fireship
13 Reddit Inspired Upvoting System with Angular and Firebase NoSQL
Reddit Inspired Upvoting System with Angular and Firebase NoSQL
Fireship
14 Angular Drag-and-Drop File Uploads to Firebase Storage
Angular Drag-and-Drop File Uploads to Firebase Storage
Fireship
15 Text Translation with Firebase Cloud Functions onWrite and Angular 4
Text Translation with Firebase Cloud Functions onWrite and Angular 4
Fireship
16 Custom Usernames with Firebase Authentication
Custom Usernames with Firebase Authentication
Fireship
17 Twitter-Inspired Follow Unfollow Feature with Firebase and Angular 4
Twitter-Inspired Follow Unfollow Feature with Firebase and Angular 4
Fireship
18 Simple Pagination with Firebase and Angular 4
Simple Pagination with Firebase and Angular 4
Fireship
19 How to Connect Firebase Users to their Data - 3 Methods
How to Connect Firebase Users to their Data - 3 Methods
Fireship
20 Add Toast Message Notifications to your Angular App
Add Toast Message Notifications to your Angular App
Fireship
21 Facebook-Inspired Reactions System with Angular and Firebase
Facebook-Inspired Reactions System with Angular and Firebase
Fireship
22 Learn NgModule in Angular with Examples
Learn NgModule in Angular with Examples
Fireship
23 Lazy Loading Components in Angular 4
Lazy Loading Components in Angular 4
Fireship
Stripe Checkout Payments with Angular and Firebase - Part 1
Stripe Checkout Payments with Angular and Firebase - Part 1
Fireship
25 Process Stripe Payments with Firebase Cloud Functions - Part 2
Process Stripe Payments with Firebase Cloud Functions - Part 2
Fireship
26 Selling Digital Content in Angular with Stripe Payments - Part 3
Selling Digital Content in Angular with Stripe Payments - Part 3
Fireship
27 Angular 4 Full Text Search with Algolia - Part 1
Angular 4 Full Text Search with Algolia - Part 1
Fireship
28 Algolia with Firebase Cloud Functions - Part 2
Algolia with Firebase Cloud Functions - Part 2
Fireship
29 Firebase Phone Authentication in Angular 4
Firebase Phone Authentication in Angular 4
Fireship
30 Top 7 RxJS Concepts for Angular Developers
Top 7 RxJS Concepts for Angular Developers
Fireship
31 Learn Angular Animations with 5 Examples
Learn Angular Animations with 5 Examples
Fireship
32 Advanced Firebase Data Filtering (Multi-Property)
Advanced Firebase Data Filtering (Multi-Property)
Fireship
33 Realtime Maps with Mapbox + Firebase + Angular
Realtime Maps with Mapbox + Firebase + Angular
Fireship
34 Angular Reactive Forms with Firebase Database Backend
Angular Reactive Forms with Firebase Database Backend
Fireship
35 Send Push Notifications in Angular with Firebase Cloud Messaging
Send Push Notifications in Angular with Firebase Cloud Messaging
Fireship
36 Top 7 Ways to Debug Angular 4 Apps
Top 7 Ways to Debug Angular 4 Apps
Fireship
37 Infinite Scroll with Angular and Firebase
Infinite Scroll with Angular and Firebase
Fireship
38 Use TypeScript with Firebase Cloud Functions
Use TypeScript with Firebase Cloud Functions
Fireship
39 Realtime Graphs and Charts with Plotly and Firebase
Realtime Graphs and Charts with Plotly and Firebase
Fireship
40 Role-Based User Permissions in Firebase
Role-Based User Permissions in Firebase
Fireship
41 User Presence System in Realtime - Online, Offline, Away
User Presence System in Realtime - Online, Offline, Away
Fireship
42 Location-based Queries with GeoFire and Angular Google Maps
Location-based Queries with GeoFire and Angular Google Maps
Fireship
43 Angular ngrx Redux Quick Start Tutorial
Angular ngrx Redux Quick Start Tutorial
Fireship
44 Angular Ngrx Effects with Firebase Database
Angular Ngrx Effects with Firebase Database
Fireship
45 Progressive Web Apps with Angular
Progressive Web Apps with Angular
Fireship
46 Angular Ngrx with Firebase Google OAuth User Authentication
Angular Ngrx with Firebase Google OAuth User Authentication
Fireship
47 RxJS Quick Start with Practical Examples
RxJS Quick Start with Practical Examples
Fireship
48 Send SMS Text Messages with Twilio and Firebase
Send SMS Text Messages with Twilio and Firebase
Fireship
49 Firebase Database Performance Profiling
Firebase Database Performance Profiling
Fireship
50 Native Desktop Apps with Angular and Electron
Native Desktop Apps with Angular and Electron
Fireship
51 Subscription Payments with Stripe, Angular, and Firebase
Subscription Payments with Stripe, Angular, and Firebase
Fireship
52 Firestore with AngularFire5 Quick Start Tutorial
Firestore with AngularFire5 Quick Start Tutorial
Fireship
53 Angular HTTP Client Quick Start Tutorial
Angular HTTP Client Quick Start Tutorial
Fireship
54 Google Sign-In with Firestore Custom User Data
Google Sign-In with Firestore Custom User Data
Fireship
55 Star Review System from Scratch with Firestore + Angular
Star Review System from Scratch with Firestore + Angular
Fireship
56 Angular Chatbot with Dialogflow (API.ai)
Angular Chatbot with Dialogflow (API.ai)
Fireship
57 Learn @ngrx/entity and Feature Modules
Learn @ngrx/entity and Feature Modules
Fireship
58 Infinite Scroll Pagination with Firestore
Infinite Scroll Pagination with Firestore
Fireship
59 Faster Firestore via Data Aggregation
Faster Firestore via Data Aggregation
Fireship
60 Contentful - CMS for Angular Progressive Web Apps
Contentful - CMS for Angular Progressive Web Apps
Fireship

Related Reads

Up next
Watch this before applying for jobs as a developer.
Tech With Tim
Watch →