💳 Pay - Payments engine for Ruby on Rails
Pay is a payments engine for Ruby on Rails 6.0 and higher.
⚠️ Upgrading? Check the UPGRADE guide for required changes and/or migration when upgrading from a previous version of Pay.
🧑💻 Tutorial
Want to see how Pay works? Check out our video getting started guide.
🏦 Payment Processors
Our supported payment processors are:
- Stripe (SCA Compatible using API version
2022-11-15
) - Paddle (SCA Compatible & supports PayPal)
- Braintree (supports PayPal)
- Lemon Squeezy (supports PayPal)
- Fake Processor (used for generic trials without cards, free subscriptions, testing, etc)
Want to add a new payment provider? Contributions are welcome.
We make our best attempt to standardize the different payment providers. They function differently so keep that in mind if you plan on doing more complex payments. It would be best to stick with a single payment provider in that case so you don't run into discrepancies.
📚 Docs
-
Usage
-
Payment Processors
-
Marketplaces
-
Contributing
🙏 Contributing
If you have an issue you'd like to submit, please do so using the issue tracker in GitHub. In order for us to help you in the best way possible, please be as detailed as you can.
For those using devcontainers, if you want to test the application with different databases:
- Uncomment the
DATABASE_URL
corresponding to the database type you wish to use in the.devcontainer/devcontainer.json
file. - Rebuild the devcontainer, which will configure the application to use the selected database for your development environment.
If you'd like to open a PR please make sure the following things pass:
bin/rails db:test:prepare
bin/rails test
bundle exec standardrb
📝 License
The gem is available as open source under the terms of the MIT License.