fmido88 / moodle-enrol_wallet

Enrollment using wallet credit with coupons and using payments gateways with restrictions.
Other
4 stars 1 forks source link

Idea: Predefined Wallet Top-Up Amounts #18

Closed Buda9 closed 8 months ago

Buda9 commented 9 months ago

What do you think about this idea? Instead of users manually enter the amount they want to top up their wallet, we could have an option (or a separate page) where they can choose from predefined amounts, for example, buttons with packages of $10, $20, $40, and $80. Once they click an amount, a payment page would open for them where they could finish purchase. The practical application of this is for purchasing 1-on-1 package sessions with teachers at e.g. a language school. Example:

Screenshot_120

or

Screenshot_127

So basically, when someone clicks "package" and buy now button, it should open popup window to make a payment

Would it be to difficult to build this?

PS. Woo example of this is something like this https://woo.com/products/tiered-pricing-table-for-woocommerce/

fmido88 commented 9 months ago

Hi @Buda9 This is the first idea came to me but then I thought that it wouldn't be as practical as it sound due to the variation of courses prices and so on. So, I created the conditional discount which will serve the same purpose but with more flexibility. The only thing that is missing is to display to the user the offer (bundle like) the site offer by conditional discounts. That is my next move.

Buda9 commented 9 months ago

"So, I created the conditional discount which will serve the same purpose but with more flexibility." Yes, this is such a great feature. Thank you for this.

"The only thing that is missing is to display to the user the offer (bundle like) the site offer by conditional discounts." Great! I'm looking forward to it.

fmido88 commented 8 months ago

Hello @Buda9 I think that the new update is a good alternative to package

Also there is offers where the course creator can decide if the user is eligible to get this course with a discount or not

for example: Purchase course1 then you can get course2 for free

I think with offers and conditional discounts the course creator or admins could set any packages they like to users.

Buda9 commented 8 months ago

Hi @fmido88

Thank you. I updated the plugin, however, I'm having a bit difficulties to understand how exactly offers work. Should they be defined inside course enrolment page? What I'm trying to achieve is to show offers on "offers page". However this is how my offers page looks like: Screenshot_216

I'm not sure what I'm doing wrong. Is this the correct place where we should define offers? Screenshot_217

Mind sharing your offers page?

fmido88 commented 8 months ago

If referral program is enabled, It will show the section of referral. same for cashback.

The first section is for conditional discounts if there is any Screenshot 2024-02-17 173144

The section of free courses (has wallet enrollment with 0 cost) Screenshot 2024-02-17 173200

And courses with available offers section Screenshot 2024-02-17 173221

Buda9 commented 8 months ago

Oh, now I see it. I totally overlooked Conditional discounts link. Here's how it looks on my end:

Screenshot_221

Anyway, I want to start with thanking you for your contribution to discounts and offers. Unfortunately, I think this solution might not fit well with what I had on mind. Let me explain a bit more about my situation.

As you probably already know, we're a language school. We have group courses, where students can buy (Moodle) course and also we have individual 1-on-1 classes. For individual classes, we use Wallet so students can top up their Wallet, or more specifically, pay use custom amount of money for exchange for number of live lessons with teacher on BigBlueButton.

My main goal here is to make it easy for students to "pick" and pay for a certain number of lessons. More lessons means more discount. But with current solution, my students have to type in how much money they want to top up, which means they have to remember the correct amount for the number of lessons they want. This can be a bit tricky and not very straightforward.

Here are my packages:

305661197-81d6c730-2a85-4097-9e3f-60c248939451

For example, they can choose packages like 5, 12, 20, or 40 lessons. The way they are doing it now, with adding money to the wallet, focus is more on amount of money they want to add, and not quite on the packages they want to buy.

What I think that will work better (for us) is if we have a simple page (or on the offers page) with 4-5 buttons for each "lesson package". Buttons are nothing more than predefined amounts from conditional discounts page. This way, students can just click on a button, which is a "package", like 12 lessons, and then could see the price they will be under the buttons. Or price can be inside buttons. Similar to Lingoda's example in my first post. Then, the rest of the process is the same, they could go ahead and make a payment.

Currently, we see "timeline" of Offers (example image below), and my whole idea is to see buttons instead of "timeline". Perhaps settings option on how exactly Offers should be displayed, as "timeline" or buttons, would be a good solution for this?

Screenshot_221

I hope this makes it a bit more clearer. I really appreciate your help and contribution for this unique plugin. If you have any more thoughts or have ideas to make this work better, I would love to hear them.

Thank you again.

EDIT: Here's the sketch of what I thought

Screenshot_222

As soon as they click "Offer", amount will be shown and pay button would become active. Similar to how it looks now, but with buttons, instead of graphic and "enter amount"

Buda9 commented 8 months ago

Me again. I saw on your Moodle repo page an interesting suggestion, quoting: "Can we make the wallet for a system using points/coins instead of currency with a calculation formula in the background? For instance, buy 1000 points would cost 15usd and buying 2000 points would cost 20usd. We also should display the wallet and use availability for points and not the currency? Thank you again! Keep up the great work."

I think implementing such a point system would be ideal for my case (language school). This approach would provide students with a simpler and more intuitive way of "paying" for classes and booking lessons, with the ability to better track their remaining points or credits for lessons.

However, from the developer perspective, I still don't know an idea how to implement such thing into Wallet plugin. Perhaps a separate plugin would be better for this?

fmido88 commented 8 months ago

Hi @Buda9 I did it (the first suggestion) When create or edit a conditional discount, you can add a bundle with a description with it, It will appear as a button so the user clicks it and charge his wallet with a faster way. For the latest suggestion, I'll work on it but not now because it will take a lot of work ant time.

Buda9 commented 8 months ago

Fantastic job! I can't thank you enough for this. It's even better than I expected it to be 🥇🥇🥇

This is how it looks on my site. I slightly modified order of the span's in template file. You'll notice it looks very similar to examples above

Screenshot_227

Ideally, it would be nice to "round up" final amounts (after discount) to 400, 230 and 125 instead of 400.02, 230.01 and 125.01, but it's fine this way, too

fmido88 commented 8 months ago

Hello @Buda9 I'm afraid if I did so, the amount is something like 42.05 and in some currencies this 5 cents is significant. What I tried to do but I really didn't try it hard is to make cents in a smaller font size. By the way your modification looks so elegant, great work.

Buda9 commented 8 months ago

No worries, you've done an amazing job. You have my deepest respect