Will your billing code survive launch day?

Build a rock solid Stripe integration
from day one.

Writing a Stripe integration is intimidating

There are lots of moving pieces and no one place to see a complete app. You've probably asked yourself a million questions:

Am I making charges correctly?

What happens to errors?

Am I dealing with webhooks properly?

What are the right gems to use?

Am I PCI compliant? What is PCI, anyway?

Simple tutorials only go so far. Blog posts from years ago are easy to find, but are they still correct? API documentation doesn't help if you don't know what you're looking for.

Mastering Modern Payments: Using Stripe with Rails distills the experience of building dozens of Stripe integrations into one concise, comprehensive guide.

What's in it?

  • Dealing with security including PCI-DSS
  • How and why to use stripe.js and checkout.js
  • How to build custom payment forms
  • How to set up Rails to keep an audit trail for you
  • How to handle subscription billing
  • How to create marketplaces with Connect and Transfers
  • How to process payments using background workers
  • How to email your customers effectively
  • How to test your Stripe integration
  • And much, much more

MMP is packed with advice and examples
from first chapter to last

Basic Integration Guides you through the most basic Stripe billing system possible and prepares your app for the rest of the book.

Security and PCI Compliance guides you through the murky waters of the Payment Card Industry Data Security Standards and how they apply to Stripe. It also talks about security scanners and code analysis tools you can use to validate your code isn't susceptible to things like cross-site-scripting attacks and SQL injections.

Custom Payment Forms shows you how to get away from Stripe Checkout and build your own payment forms, your way, with your own framework.

State and History teaches you why and how you should build your application with explicit state machines. It also walks through why keeping audit logs of the changes to your models is so very important, and how you can get them with just one line of code.

Handling Webhooks describes how to handle Stripe's webhook events to alert you of errors, perform vital upkeep within your application, and send receipts to customers.

Background Workers describes how to communicate with Stripe asynchronously. The Internet is a wild, wacky place, and your application needs to be able to recover from any number of errors, both internal and external.

Subscriptions walks through your options for building recurring billing into your application, along with advice about emailing your customers and integrating analytics services.

Connect and Marketplaces adds onto the basic integration again, this time allowing your app to sell things on your users' behalf with Stripe Connect and send them payments with Transfers.

What People are Saying

Christian Genco PortraitChristian Genco

Creator of dbinbox and textbooks please

Mastering Modern Payments was like a pool of cool refreshing water after I'd been traveling in the desert of obscurity for weeks. Unlike the API docs, or most blog posts I found on the topic, Pete thought this through three steps ahead of solving the problems I'd be having a few weeks or months after deployment. This will end up saving me an immeasurable amount of time and money.

Joel Hooks PortraitJoel Hooks

Co-founder of Egghead.io

I'm fairly new to Rails and setting up billing had me flustered for weeks. I was stuck, spinning my wheels, not knowing what was the best route to take. Pete's book is a guiding light of common sense and practical application. Now I can setup billing with confidence, and more importantly, ship my product.

Matt Vanderpol PortraitMatt Vanderpol

Founder of QAtab.com

Mastering Modern Payments is a fantastic resource for integrating Stripe billing with your Rails app. Pete does a great job of pulling together existing resources and blending them with his own experience to provide a clear, valuable guide for billing with Stripe.

Will Barker PortraitWill Barker

Web developer at Kindleman AU

I completely re-wrote my checkout using MMP's ideas. It's all looking much neater and more bullet proof now. The book gave me a lot of confidence my app wasn’t cowboy coded.

A Letter from a Happy Customer

Though I was somewhat familiar with Stripe, and wrote a not-insubstantial online store that has processed hundreds of thousands of dollars in charges in the last couple of years, I was never happy with the code I wrote. It felt fragile, and I had no real clue how to do things I wanted to, like moving it into a worker.

I bought the book yesterday, and chewed through it pretty quickly, and it gave me the confidence to do some serious refactoring of my code. Today, I’ve made sweeping changes based on your work, including moving things to a state machine and using a worker to take care of the stripe calls. This is a significant win for me, and I did it in a fraction of the time that it would’ve taken me otherwise. So: thanks. Your book paid for itself about five times over already.

Anyway, thanks again. You made my week much more satisfying than I’d expected it to be. :D

— Tim S.

MMP has helped 1,654 people just like you confidently earn more than $3 million dollars by getting their Stripe integration set up in hours, not days.

The Packages

MMP comes in three different packages. Pick the one that's best for you!

Complete Package


  • 11 chapters and 146 code samples
  • Web reader with discussion forum
  • 136 page PDF
  • ePub or reading on tablets
  • Complete application example

Team Package


  • 11 chapters and 146 code samples
  • Web reader with discussion forum
  • 136 page PDF
  • ePub for reading on tablets
  • Complete application example
  • Team license for up to 10 people.
Absolutely Zero Risk!
Includes a full, no-questions-asked 90 day guarantee.

Frequently Asked Questions

Which package should I buy?

That depends on your budget. I strongly suggest the Complete Package because the code is very helpful for understanding the book. That said, the Basic Package has a ton of value all by itself.

Can I upgrade later on?

Absolutely! Just reply to your confirmation email that you'd like to upgrade and I'll set it up for you.

Will I get updates?

Stripe and Rails both move fast. As they do, I send out periodic updates to the book and the sample application.

Can I pay with PayPal?

No problem. Just send the amount that corresponds to the version you want to paypal@corastreetpress.com.

What versions does the book cover?

The book covers the latest production versions of Rails, Ruby, and Stripe.

I have another questions!

You can email me at hi@petekeen.net or tweet to @modernpayments.

What if I get nothing out of this?

The current version of the guide is the product of over three years of editing and conversations with hundreds of developers just like you. If you're a Rails developer integrating Stripe, this is the guide for you. That said, if you feel like you haven't gotten your money's worth, simply send me an email for a full 100% money back guarantee.

Meet the author

Pete Keen Portrait I'm Pete Keen. I've been a professional software developer for a decade, building payment systems and other software for companies large and small. I write a blog at petekeen.net with articles on topics ranging from Ruby and Rails to Perl and robotics and scattered book reviews.

Get your free sample

Put your email address in to receive a five part email course all about Stripe and Rails, including the first three chapters of MMP.

No spam. Unsubscribe at any time.

John WilsonJohn Wilson

Front-end at Envy Labs

Mastering Modern Payments is helping me out so much right now. I'm already farther along than with any other resource.