Blog

Fusio 3.1 released

posted by chriskapp on

We are really happy to announce the release of version 3.1 of Fusio. This release contains mostly improvements to our existing payment system. In the last months we have gathered many experiences and feedback regarding our payment system from many users and integrations which we have supported. Based on this feedback we have revamped our existing payment system which allows our users to create more complex payment models and make Fusio more usable for different use cases. The following list covers the most important changes of this release:

  • Reworked payment system

    As mentioned we have reworked our payment system. We have learned that payment systems are a really complicated topic and many users have complete different use cases. Initially Fusio included a simple payment system which handled recurring payments. To support all those different use cases we would have to extend and rebuild our existing system. Since Fusio is an API management system and not a payment system we came to the conclusion that the best solution is to outsource those tasks to a dedicated payment provider. With Stripe we have found a really great default payment provider which provides many features. In the end all payment provider actions are abstracted through an adapter so if you like you can also implement support for a different provider. Please take a look at our stripe-adapter to get more information how a payment provider works

  • Added deeper Stripe integration handle now complex pricing models through Stripe

    If you create a plan it is now possible to reference an external id. For Stripe this is a price id. If a user purchases such a plan we use the provided price id. The external id can contain all the different modalities which are supported by the payment provider

  • Removed contract and invoice handling inside Fusio and outsource those to the payment provider

    The contract and invoice endpoints are removed from the backend API

  • Use the Stripe billing portal where a user can manage all subscriptions

    We have removed the contract and invoice panel from the developer portal and it is now possible to use the Stripe billing portal to manage all subscriptions

  • Remove contract and invoice panel from the backend app

    We have also removed the contract and invoice panel from the backend app

  • Added payment provider webhook support where Fusio receives events from the payment provider

    Fusio is now able to receive webhook events from the payment provider. The payment adapter needs to process the webhook and tell Fusio whether an invoice was payed or canceled

  • Added a trash panel to the backend app where user can restore a deleted record

    We have now a new panel at the backend which allows you to restore a deleted record. Previously this was only possible through the CLI

  • Add autoload to src/ folder

    Since many users add new custom actions and connections at the src/ folder we have now added the "autoload" config by default

  • Handle gracefully in case the apps dir does not exist

    In case the apps folder does not exist we dont throw any exception

  • Added SqlBuilder action

    We have added by default the SqlBuilder action which allows you to write complex SQL queries using a JSON notation

We are really happy with this release and please let us know if you have any ideas regarding Fusio.