Coupon

Maintained by Sebsoft BV, Rogier van Dongen
The Sebsoft Coupon Plugin offers you the possibility to create coupons for various levels of course access. Using a coupon code, users will be enrolled into courses that are attached to the coupon.
Price option: Free

Supports Moodle 3.0-5.2 See all versions
Latest release: 6 months ago
Installations: 631
Downloads (last 90 days): 131

Frankenstyle name: block_coupon
Blocks
Coupon Suite

Comments

Comments are no longer open for new posts. Existing comments remain available to read.

@Dario, no, not at the moment.
Not sure if a webhook is wanted, but you can send me a message explaining the need for a webhook.
If easier, we can always add an event. However: this might impose a processing challenge because when you'd generate a big amount of coupon codes, dispatching events for every code generated could, momentarily, severely impact your processing power and availability of your installation.
Having said that, because coupons are always generated in "batches" (one run implies one batch), it's also possible to implement an event that would only trigger once: when the batch is complete. Given the identifier of the batch it will translate to a collection of coupon/voucher codes.
@SD, Could you provide the exact error message?
Also it can be important to know what type of coupon you're using (cohort type vs course type).
There's a range of potentials errors that can be thrown so to be able to pinpoint the issue and provide a valid answer it'd be great if you can provide me with that information.
Cheers
Hi, we have been using the coupon for over a year now. Working Great!
Users are now expiring however (enrollment set to one year) and the users are still listed as participants in the course but now have a status of "not curret" (so far so good)
We have now issued new coupons to those users. When they login, and enter their coupon is says it is invalid.
Is there something we need to do or a correct workflow for issuing a second coupon (to renew access) to allow a users/groups to re-enroll in a course?
Thanks
Hi I am using the coupon module for moodle
is there a way to capture the coupon creation event via webhook?
@Zlatan.
Fo now this is not possible. It's been on the roadmap for a while but simply haven't had the time (nor funds) to implement this feature (it requires an extensive rewrite due to the fact the database model and code needs to be changed. Coupon codes, upon claiming, are linked to the person who claimed it one-on-one; it would need changing to a one-to-many relationship which requires quite a substantial code overhaul).
Cheers, Rogier
Hi,
is there a way to use the same coupon code for a defined number of users subscription (example same coupon code for 90 uesers) ?
A new version has just been published.
This contains a number of fixes to how errors are displayed if something went wrong with the QR code or the coupon was already used.
Furthermore, we've added a new feature which allows you to process signups via Coupon, even if site wide signups are disabled (this feature is disabled by default).
Cheers! Sebastian
Hi Hoda,
The texts printed on the PDF can be adjusted through the language files (please use the language customisation tool in Moodle).
So far, we've not tested persian/fa languages, but we are familiar with the challenges (unfortunately it doesnt work "just" out of the box in this case).
It should be a somewhat simple enough fix, at least to get the characters to print correctly. I'll look into it. You can pass me a personal email if you're willig to help out with testing (find it in de source code or just pass a note through the github repository).
Cheers,
Rogier
Hello there, thanks for your cool plug-in. We want to use your plugin for persian/fa language & want to know is there anyway to edit the default texts printing on the coupons pdfs? [specially coupon request pdf since it doesn't have an option to just show the code to user to download it in csv & it's only available in pdf format]
& also is there a way to fix the issue with printing persian alphabet? It shows ????? in the pdf instead of text.
Sincere Regards
Thanks very much, Rogier. I'll do a pull request after I've complete my mods so you can see if the added functionality is worth including.
Hi Joanne, the cohort sync is created in step/page 2 of the process (see /coupon/classes/controller/generator/cohortcoupon.php around line 175).
Of course you could always do a pull request on the repository in case you added (relevant) functionality. If you have any more you can contact me in person or through the GIT repository (insert an issue from there).
Cheers, Rogier
This plugin is really useful and works well. Can you tell me: where does the Coupon code create the cohort sync method(s) when generating cohort coupons? I'm thinking of trying to extend the functionality to that the cohort sync method is created up with a Group name as well.
@Hugh: thank you for noticing. The services are quite often "forgotten". Please be aware you can also add issues on the github repository.
I will take this into account with the next release and added an issue to the github issue tracker smile
Cheers,
Rogier
Hi everybody,
Awesome plugin. Thank you I have used it for years!
One question regarding coupon generation using APIs: is there any plan to add parameters such as the enrollment period for example? or trigger an email with the default options?
Thanks a bunch!
@Hiro: this really looks like something is wrong with your installation. Also please note some of the actions _require_ a cron job running on the background (or, alternativaly, running it from your browser using /admin/cron.php).
If you still keep running into issues, take a look at the mailtest plugin (local_mailtest). This could possibly provide some insights as to why email isn't received or sent.
It's hard to say anything about why emails may or may not be received without extensive extra information or at least take as many steps as possible to exclude all other (core) processes from being erroneous. Then still it can be hard to say anything about any realistic cause.
The only "other" way that we've been able to tackle _any_ problems at all came from a subsystem that actually logged the communication with the receiving mailserver, but keep in mind this is regarded as an extra communication layer/tier and most likely not applicable to you. _If_ you do not connect to an external SMTP, but rather use the internal sendmail() functionality, you may also be able to get more information from there provided any communication is actually logged. However, once you venture there, keep in mind this is no longer within the scope of the plugin.