Learn Ruby on Rails: Stripe Payment Processing

Learn How to Make a Web App That Uses Stripe to Accept One-Off or Subscription Payments.
3.7 (22 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
12,433 students enrolled
Take This Course
  • Lectures 29
  • Length 1.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2016 English

Course Description

Whatever the brilliant idea, product, or service, an e-commerce website simply won't function without streamlined, intuitive payment processing. In this course we'll be providing an essential breakdown of activating Stripe using Rails to allow you to start receiving income without all the stress of merchant accounts and banks. Stripe is quickly becoming an industry standard for payment processing, and is an effective tool you cannot afford to be without. 

In this course, you will learn the most straightforward way to accept one-off payments or recurring billing with your Rails web applications. You will also learn how to: Implement Bootstrap with HTML templates, add Stripe to your site, email receipts with Sendgrid, build a web application with Ruby on Rails, and deploy your application with Heroku.

What are the requirements?

  • No Previous Programming Experience Required.
  • Any Computer Can Be Used.

What am I going to get from this course?

  • Use Stripe to Accept Subscription or One off Payments.
  • App Development Through Ruby on Rails.
  • Basic Layout and Formatting with HTML and CSS.
  • Deploy an Application Using Heroku.
  • Automatically Email Receipts Using SendGrid.
  • All Students Will Have Access to Precise and Complete Code Downloads.
  • Learn How to Use Git and Github for Version Control.
  • Up-To-Date Guidance and Code.
  • Streamlined Instruction for Ease and Efficiency.

Who is the target audience?

  • Beginner and Advanced users alike
  • Web Designers and Developers.
  • Entrepreneurs and Self Starters.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Start Here
  • An overview, of the website that we will create in this course.
  • Make sure you have rails installed.
  • Follow the installation guide for the operating system you are using.
  • Check what version of ruby you have installed.
  • Check what version of git you have installed.
  • Start Terminal.
  • Create a directory.
  • Use "cd" to change the directory.
  • Generate a rails app.
  • Learn the commands to start and stop the Rails server.
  • Create a git repository.
  • Use git to commit code changes.
  • Create a new sublime text project.
  • Make a new route. 
  • Create a new controller.
  • Define a new method called home.
  • Create the home view.
  • Save the code changes in git.
Section 2: Launch with Heroku
  • Check what version of ruby you're using.
  • Add the postgresql gem to the gemfile.
  • Set sqlite3 as the database for test and development.
  • Set postgres as the production database.
  • Add the rails 12 factor gem.
  • Run bundle install.
  • Sign up for a free Heroku account.
  • Download the Heroku Command Line Interface.
  • In Terminal, login to Heroku.
  • Create an Heroku application.
  • Use git, to push the local app to Heroku’s servers.
  • Go to your new Heroku URL.
  • Create a free Github account.
  • Make a new repository.
  • Run git remote add origin.
  • Push your code to Github by running git push -u origin master.
Section 3: Add Twitter Bootstrap
  • Add bootstrap’s gem to the gemfile.
  • Have rails install the gems and their dependencies by running bundle install.  
  • Add some css to the project.
  • To make the app look better, add some Javascript, CSS, and HTML.
  • Download the files from Github.
  • Start meshing the design with the rails app.
  • Structure the home view correctly.

    • Make the homepage look more like the design.
    • Commit the code changes to Git.
    • Make the homepage header image render.
    • Set the header image path.
    • Add a new image tag.
    • Import bootstrap’s Javascript.
    • Transfer shared code from home.html.erb to application.html.erb.
    • Move the header content.
    • Push the updated app to Github.
    Section 4: Use Stripe to Charge Customers
    • Add Stripe’s gem to the rails app.
    • Run bundle install.
    • Add a charges form to the app.
    • Sign up for a stripe account.
    • Add your Stripe test publishable API key to the rails app.
    • Add a charges controller.
    • Copy the create method from Stripe's example code.
    • Try submitting a payment with Stripe's test card.
    • Create an initializer.
    • Use Embedded Ruby (ERB) to output the value of the Stripe publishable key.
    • Install the gem for Figaro.
    • Run bundle install.
    • Install figaro.
    • Add your Stripe API keys to application.yml
    • Make your first successful Stripe test credit card payment.
    • Push the updated app to Heroku.
    • Start the process of making the homepage look better.
    • Create a hidden field tag for Stripe token and Stripe email.
    • Add a HTML button tag.
    • Add some Javascript.
    • Make sure the charges controller is getting the amount from the form.
    • Push the updated app to Github.
    • Start the process of storing all transactions in the Database.
    • Add a table to save purchases.
    • Generate a new model.
    • Remove the test files.
    • Add some new fields to the migration.
    • Add a new method to the purchases controller.
    • Make a new route to show purchases.
    • Create a new view.
    • Display information about the user’s purchase.
    • Push the updated app to Heroku.
    • Test the app on Heroku.
    • Use Amazon S3 cloud service to store an image.
    • Create a bucket.
    • Change the rails app so ,after a purchase is made, an user can download a file.
    • Make the app’s receipt look better.
    • Use an universally unique identifier (UUID) to make the receipt url harder to guess.    
    • Migrate the UUID field to the purchase table.
    • Push the updated app to Github.
    • Push these changes to Heroku.
    Section 5: SendGrid
    • Get the app ready to send emails with Sendgrid.
    • Setup to email the buyer their downloadable content.   
    • To handle emails locally, add the gem letter opener.
    • Configure letter opener to open the email in the browser.
    • Run bundle install.
    • Push the updated app to Github.
    • After someone makes a purchase, the app, should send them an email.
    • Create a new method.
    • Define a new class.
    • Make a new view.
    • Create a layout for the email.
    • Push the updated code to Github.
    • Push the updated code to Heroku.
    • Check the email address you entered for an email with a link to the download.
    • To help  see any purchases, add an admin system to the app. 
    • Add the gem for Active Admin.
    • For user authentication, add the gem Devise.
    • Run the generated migrations.
    • Seed the database.
    • Push the updated app to Heroku.
    • Migrate the database changes to Heroku.
    • Configure the rails app to allow all product purchases to be viewed in active admin.
    • Create seed data.
    • Store the seed products in the database.
    • Generate a new model.
    • Use a database migration to create the products table.
    • Run the migration.
    • Seed data into the product’s table.
    • Create a new variable to find the product ,in the database, by SKU.
    • Pull product information ,from the database, and display it.
    • Render the product’s title, subtitle, price, and description.
    • Add a product info field to the database.
    • Create a new migration.  
    • Add a column to the products database table.
    • Migrate a new field to the database.
    • Load new product seed data.
    • For Stripe, add a new method to convert the product's price from dollars to cents.
    • Continue updating the templates to pull product information from the database.
    • Push the updated app to Heroku.
    • Migrate the database changes to Heroku.
    • Reset your Heroku database. 
    • Upload your new seed data to Heroku.
    Section 6: Stripe Subscriptions
    • Create a Stripe subscription plan.
    • Allow customers to subscribe to the plan.
    • Allow customers to be charged for the subscription plan.
    • Change the currency and description of the purchase.
    • Test the subscription plan.
    • Push the updated code to Github.
    • Push the app to Heroku.
    • Reset your Heroku app’s database.
    • Test the app on Heroku.
    • Migrate the updated database structure to Heroku.
    • Add the seed data to the Heroku app’s database.
    • Drag your images into the app's images folder.
    • Make a page that displays all of the products from the database.
    • Create a new controller and method.
    • Create a new route for the page.
    • Make a new view.
    • Use Embedded Ruby (ERB) to loop through the products in the database.
    • Render the product images.
    • Improve the look of the products page.
    • Modify a template.
    • Push the updated code to Heroku.
    • Migrate the database changes to Heroku.
    • Reset the database and upload the new seed data.
    • Make a new method then, add it to the products route.
    • Create a new template.
    • Fix the product links.
    • Set index.html as the homepage.
    • Update the charges controller to make sure that it charges for the correct product.

    Students Who Viewed This Course Also Viewed

    • Loading
    • Loading
    • Loading

    Instructor Biography

    Daniel Kalish, Web Developer

    I’m a self-taught web developer and veterinarian. I want to use technology to make veterinary medicine more efficient.

    Building something and watching it succeed is extremely gratifying. I’m here to teach you some of today’s most in demand skills. I want you to experience the joy of building something from nothing.

    My background: I have been coding for 9 years. I was first motivated to learn how to program because I wanted to build a super Mario bros fan site. It was a simple static HTML and CSS website. Although that website never got traction my interest in coding did.

    In high school, a friend showed me how to build dynamic websites with a PHP framework. I grew frustrated with PHP because the community was fragmented between many frameworks.
    In university I saw a video where a developer makes a blog with Django, in 15 minutes. I loved the fact that Django is quick and powerful.I love Django because it has a english like syntax and a strong community of developers. After becoming comfortable developing with Django, I volunteered to build websites for friends and family. Eventually I was referred to my first paying client.

    Ready to start learning?
    Take This Course