Before starting (dumb questions inc)
Hey,
considering to use Wave as my entry to Laravel. I am familiar with OOP in PHP/C#, just didn't mess with laravel much yet. I did manage to get Wave running without any hassle, but just wondering how complex it would be to:
-
Add a different payment provider (CryptAPI) with completely custom intervals of subcriptions (not auto-recurring, just basically after time runs out, invalidate license or subscription) - and in case user has subcription, he can download apps and then in apps validate the license, somehow.
-
How to bind it to my own frontend? How complex would it be to replace the frontend completely and use Wave only for User Panel and Admin Panel?
I fell in love with the Pro themes, so definitely planning to upgrade, but want to know beforehand, how complex all stuff is, so I don't get lost and overwhelmed.
Thanks & have a nice day, Martin
Hey Martin,
Thanks for reaching out, and first off—there are no dumb questions here! 😊
Wave is open-source, so you have full control over the code and can make any changes you want. I’ll be honest: I’m not familiar with CryptAPI myself, so I can't say for sure how easy it would be to integrate. However, you can check out how the current billing system is set up in the Wave repo here:
Here’s the general idea:
- Wave currently supports Stripe and Paddle, and the logic for handling payments is already structured in the existing billing controllers.
- If CryptAPI is straightforward to use, you could follow a similar approach and add a new controller to handle CryptAPI payments.
- The recurring or non-recurring subscription behavior would depend more on the payment provider itself rather than Wave. For example, Stripe handles auto-renewals, but you can set up custom logic if you want non-recurring subscriptions.
2. Custom Frontend & Using Wave as a Backend
Wave uses Livewire for dynamic components, so you have the flexibility to tweak or completely replace the frontend. If you want to use Wave purely as a backend (User & Admin Panel) and connect it to your own custom frontend, that’s totally doable.
You can customize or remove the default Livewire components and just keep the backend functionality.
You have the freedom to adjust and extend Wave as much as you need since it’s open source. It’s a great playground to explore Laravel, and if you get stuck or have questions, the community and I are always happy to help out.
Thanks again for considering Wave, and I’m looking forward to seeing what you build! 🌊
- Bobby
















Hello,
CryptAPI itself does not handle any recurring stuff, you just create a wallet and you get a webhook when crypto is received, on that webhook I'd assign a subscription (depending what the user chose), but need it to expire after a set interval. CryptAPI does not handle that.
Actually I could reuse the frontend that you have there when I thought about it more in depth, as for my use case initially I wanted multiple subscriptions at once and not sure if that is possible (it definitely is I guess, since we have source, but just not that simple to edit for someone with my knowledge in Laravel).
Anyway, thanks for the reply & have a nice day, Martin
Hey Martin,
Based on what you’re describing, yes—technically, Wave should be able to handle what you’re aiming for. Since CryptAPI doesn’t handle the subscription expiration automatically like Paddle and Stripe, here's a suggestion:
You could introduce a paid at date for the subscriptions and from there, you can set up a scheduled task using Laravel’s scheduling feature (check it out here: Laravel Scheduling). With this, you can have a task that runs every day that checks if the subscription has expired, and if so, downgrade the user’s premium role to a basic account.
As for handling multiple subscriptions simultaneously, Wave should be flexible enough for that. You would just need to adjust the models and some of the existing billing logic to accommodate multiple active subscriptions. CryptAPI will require a bit of custom logic since you’ll need to handle incoming payments via webhooks and update your users’ subscription statuses accordingly.
It might sound a bit overwhelming at first, but since you already have a solid foundation in OOP with PHP and C#, you should be able to get up to speed with Laravel pretty quickly. And once you’re familiar with Laravel's Eloquent and scheduling features, implementing your custom payment flow will feel much more manageable.
Here is a quick Laravel basics course by Tony:
It is for Laravel 7 so there might be some slight differences but in general the fundamentals are the same.
Don't hesitate to reach out if you hit any roadblocks.
- Bobby