I was about to try to learn how to do extensions for Flarum before reading this post to create a plugin for paid subscription for Flarum. I was still asking myself if I would have the time to complete the project has I really don't have much time. I was estimating that it would require me a couple of months to learn and program it.
luceos If you would like to create an extension, that would be very great. I don't want to hijack stx post but I think our requirements could be similar.
Here are my thoughts of what I wanted to develop:
-Restrict posts via the tag and the roles of Flarum (already working). It would give the possibility to have public tags (for everyone) and some restricted tags that only subscribed user could see and would use the built in Flarum features instead of duplicating it by implementing some parallel security.
-Subscription page with custom text to give explanation, instructions, benefit of membership, etc. Payment would be done with PayPal, ideally using the basic PayPal checkout (the button with the hidden form), so no complicated business account would be needed.
-Once the payment is received (confirmation via PayPal IPN), the user is automatically assigned to the "Membership" so he can now access restricted tags.
-A preference page in the admin to set the following elements:
-Paypal email address for the payment, other PayPal customizations
-Expiration date and subscription length : Fixed expiration date (the most important for the project i'm working on) for seasonal subscription (summer subscription) whatever the date you subscribe or subscription length (yearly subscription) adjusting to the date the user subscribed
-Grace period and email notifications
-Automatic removal of role after expiration and grace period
-Specify which Flarum's roles the subscribed user would benefit
-Define success and error messages displayed after the payment
-Have a list of current subscription and payments
-A label on user's profile and card saying that the user is having a subscription
Here would be some nice to have but not required at start for my project:
-Multiple subscriptions that would give specific roles
-Price automatic adjustment determined by the date (seasonal price)
-Other payment processor like Stripe
-Show subscription details, expiration and past payment on user page (only visible by this user)
-Require additional subscribers infos : address, etc. Maybe we could use PayPal delivery address feature and retrieve the information.
I have great interests about this plugin and it is a must have for my forum that we currently have in our wordpress/bbpress forum. This is a project I would really like to work on but I'm afraid I cannot have enough time to make it come to life. So if luceos you are willing to do it that would be very great and maybe I can contribute ;-)