/payola

Drop-in Rails engine for accepting payments with Stripe

Primary LanguageRubyOtherNOASSERTION

Payola

Gem Version CircleCI Code Climate Test Coverage Dependency Status

Payments with Stripe for your Rails application.

What does this do?

Payola is a drop-in Rails engine that lets you sell one or more products by just including a module in your models. It includes:

  • An easy to embed, easy to customize, async Stripe Checkout button
  • Asynchronous payments, usable with any background processing system
  • Full webhook integration
  • Easy extension hooks for adding your own functionality
  • Customizable emails

To see Payola in action, check out the site for Mastering Modern Payments: Using Stripe with Rails. Read the book to find out the whys behind Payola's design.

Installation

Add Payola to your Gemfile:

gem 'payola-payments'

Run the installer:

$ rails g payola:install
$ rake db:migrate

(Note: do not run rake payola:install:migrations. Payola's migrations live inside the gem and do not get copied into your application.)

Optionally, tell Stripe about your application. Add this as a webhook in your Stripe dashboard:

https://your.website.example.com/payola/events

Disable Turbolinks

Payola does not currently play nice with turbolinks. Disable it by removing the turbolinks include in your application.js.

Additional Setup Resources

One-time payments

Configuration options

Subscriptions

Upgrade to Pro

I also sell Payola Pro, which includeds priority support and a lawyer-friendly commercial license. You can see all of the details on the Payola Pro homepage.

TODO

  • Multiple subscriptions per customer
  • Affiliate tracking
  • Easy metered billing

License

Please see the LICENSE file for licensing details.

Contributing

  1. Fork the project
  2. Make your changes, including tests that exercise the code
  3. Make a pull request

Version announcements happen on the Payola Payments Google group and @payolapayments.

Author

Pete Keen, @zrail, https://www.petekeen.net