-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feedback: How are you using Laraplans? #22
Comments
{ "message": "Unresolvable dependency resolving [Parameter #0 [ $user ]] in class Gerardojbaez\Laraplans\SubscriptionBuilder", "exception": "Illuminate\ error in laravel 5.5 |
@pay2all, this thread is for feedback only. Please open a new issue (if you haven't opened one already) to report the issue. Pull Requests are welcome if you want to fix/add functionalities. Thanks! |
@gerardojbaez could you please create an updating guide for a new version (2.1.0)? Because I'm facing with breaking changes and now I should explore whole project to determine which of the files you have updated (for migrations, and for using in my project). |
@siarheipashkevich, there is no breaking change in version 2.1.0 besides adding the If you want to continue the discussion of this issue, please create a new Issue; this thread is for feedback only. |
This package works great. But I suggest this package to have more power in terms of trial and not trial subscriptions. Also, please add way to terminate the trial (just in case the user wants to end the trial and subscribe to a new plan). |
@josteph, Thank you for the feedback! What do you mean exactly with "more power in terms of trial and not trial subscriptions"? Any example or use case? The trial termination is a must-have; I will keep this in mind for the next release, thanks! |
@gerardojbaez Sorry, I wasn't being clear before. I misunderstood the concept of subscription. If the user is on trial and wants to subscribe on a new plan with payment, it's better to end the trial subscription and create new subscription with But anyway, thank you for your hard work, really appreciate it! |
@josteph, That's another good solution! You're welcome! I'm glad that Laraplans helps you and your project. :) |
Is this package maintained? |
Hello, I have to say your Laraplans is awesomely well built and thought of. My comments above are based on my experience with membership websites and what can come really handy. Thank you. |
@Yahav, of course! I'm working on a medium size project at this moment, this is the main reason why I haven't been active lately. @mnakalay, Thanks for your suggestions and your time! I will take note! For the point 2, you mean a configurable interval count at the moment of creating the subscription? Laraplans allow frequencies like the one in your example (i.e., every 3 months); you just have to set the |
@gerardojbaez Thank you for your answer. I am a bit confused though. At first, when I looked at the doc I wasn't sure what interval_count really did. I didn't know if interval=month and interval_count=3 meant one cycle is 3 months so do what you have to do once every 3 months indefinitely. Or if it meant the cycle is 1 month long so do whatever you have to do every month and stop after 3 months. After going through your code my understanding is the latter is correct: it's a monthly cycle with an end date in 3 months. That's how you calculate the ends_at value when creating a subscription. Am I getting that wrong? If I am wrong please explain how to do it because I'm lost. If on the other hand, I am correct then maybe giving subscriptions their own interval_count could work. the Plan's interval_count would indicate the duration of the cycle and the subscription interval_count would indicate how many cycles to run. Looking forward to reading your thoughts on this. |
Hi @mnakalay, sorry for the delay. Both ways you have mentioned are correct depending on your implementation. For recurring plans, the Examples of recurring plans:
These plans are renewed each time the plan reaches the end of each period. There's no way at this moment to specify the total cycles (e.g., the total payments) of a subscription. Examples of one-time plans:
In this case, the user pays only once and the plan is active for the duration you specify. If you want to support both types of plans (i.e., recurring and one-time), you will have to add a new column/attribute to the Plan model that differentiates each (you may call the attribute "billing type" or "plan type") and use the Hope this helps. I will try to update the documentation so is easier to understand. |
Your implementation reminds me of the MYSQL
|
Hi @Acen, is that a good thing or a bad thing? |
@gerardojbaez thank you for answering I know you're pretty busy. I must be a bit daft because I don't get it. Both examples you give use the exact same settings but you say they behave differently depending on my implementation. How? For the recurring example, you say "These plans are renewed each time the plan reaches the end of each period." Is this default behavior or should I deal with the renewing myself? Or is there a setting to indicate that the plan is recurring and should keep going on? Or is it in the other situation, non-recurring plan, that I have to tell it to stop after one cycle? Is that default behavior? I'm sorry if I'm not making sense, I just can't figure out how much is taken care of by the system and how much I have to deal with myself. Updating the documentation would be lovely, thank you for offering to do so. |
Hi @mnakalay, thanks for the understanding. I've been full of work. Don't worry, feel free to ask as much as you'd like. Laraplans doesn't provide autorenewal, that's something you handle base on your requirements and payments flow. The Following the examples I've provided, for the recurring plans, you will call So, answering your exact questions: Q: should I deal with the renewing myself? Q: non-recurring plan, that I have to tell it to stop after one cycle? Is that default behavior? Please keep in mind that a "cycle" in Laraplans context is simply one |
@gerardojbaez thank you for your explanation I get it now. I'm seeing potential problems, especially with Stripe since you mention them. if on the other I decide to not use Stripe's subscription plans and use fixed amounts every cycle then I can decide to check all subscriptions that will end tomorrow and charge them and renew so I don't have that deadline problem. But on the other hand, if I decide to change the price of my plan, all subscribers will automatically start paying the new price which is not necessarily desirable. So either I use Stripe ability to automatically collect payments and I'm probably not going to be able to renew Laraplans subscriptions on time, or I use Stripe to make payments myself one at a time and I lose flexibility (and I am not sure Stripe is not going to frown at this kind of monthly payment without asking for renewed agreement from the subscriber) Lastly, something that could be helpful is the ability to have a feature that lasts for the duration of the subscription. Right now a feature's availability is reset every cycle. But if I could have a feature that is not reset unless I reset it myself, it could be helpful to keep track of how many cycles I ran. Say I want a monthly cycle that runs 6 months, I could say feature "number of cycles" = 6, decrease it after each renewal and when it's depleted I know my subscription should end. I don't know if I'm making any sense? |
Let use this thread for feedback and suggestions!
Feel free to share how you are using Laraplans package, what features you liked more or what you think is missing!
Please note: Keep this thread for feedback only. Please open a New Issue for bugs reports, feature requests, or anything not related to this thread.
The text was updated successfully, but these errors were encountered: