Add Stripe for Billing Support
Pull Request Description
This PR adds a /subscribe page to the UI. This page allows a user to upgrade to a "Solo" or "Team" subscription of the service. Subscribing will unlock features by creating customer/subscription data on the cloud-v2 backend and in Stripe. Stripe handles the processing of user payment information and tracking the status of payment. It notifies the backend of successful payment with a webhook.
https://github.com/enso-org/enso/assets/641547/10f74d40-da84-446c-8810-9251ae949f90
Important Notes
- [ ] For QA purposes, a "Subscribe" button was added to the user profile dropdown. This allows QA testing to be done in the Electron app, where the URL cannot be set to
/subscribemanually yet. This will be removed prior to merging the PR. - [ ] The active environment is currently set to
npekin2. This is because the productioncloud-v2deployment has not been updated to support Stripe yet. Once it is deployed, this will be fixed in this PR.
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
- [x] The documentation has been updated, if necessary.
- [ ] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
- [x] All code follows the Scala, Java, and Rust style guides. In case you are using a language not listed above, follow the Rust style guide.
- All code has been tested:
- [x] Unit tests have been written where possible.
- [x] If GUI codebase was changed, the GUI was tested when built using
./run ide build.
oh, it was only a minor change. seems like the fixes merged cleanly with the changes i still had locally... it might mess up history quite a bit though