Compensated

Build Status

Compensated makes it easier to get paid by your users. It listens for events from your payment processors and transforms them so you only have to write your payment handling code once. Compensated has very few opinions about how your application is structured while providing affordances and guidance around consistent, reliable payment processing.

Goals

  • Make it easy for product and service developers to accept money from whichever payment processor they prefer with a low implementation or switching costs.
  • Establish an ethical and sustainable mechanism for contributing source code to the commons.

Roadmap

  1. [X] - Q3 2019 - compensated-ruby, compensated-ruby-stripe, and compensated-ruby-gumroad will provide affordances for Ruby/Rails apps to transform data when subscriptions are created, payments succeed, or payments fail.
  2. [X] - Q4 2019 - Bug fixes and enhancements to support existing clients
  3. [ ] - Q1~Q2 2020 - Polish to the point of being a salable project and release 1.0

The current work in progress is in our WIP board.

Architecture

Compensated's architecture draws from prior art such as griddler, omniauth and expressjs. The goal of the design is to enable functionality without imposing demands on structures.

Contributing

To get started, make sure you have rbenv installed, clone the repository and run bin/setup then run bin/test.

You can also run the tests against all supported ruby versions by running npx cucumber-js features/language-support.feature (Note: this installs every version of Ruby we expect compensated to work with on your machine; and can take up to ~60m, depending on your computers compilation performance.)

For further guidance, See CONTRIBUTING.md.

License

While everyone has access to the source code, only non-commercial use is permitted. See LICENSE.md for details.