Sure @nbourdon1 
I am sure there are a lot of ways to do this, here is just one example. You could create a coupon data type like this:
Coupon
- code (text)
- expirationDate (Date)
- quantity (Number)
- userList (User)
- chargeAmount (Number)
Then when the user types in the code you can check to see if the user has used it before, if the code has expired, or if the code is even valid or not. You can even display an error if it isn’t valid. If it is a valid, not expired, and the user hasn’t used it yet, then you can trigger the payment based on that coupon’s chargeAmount data.
Does that make sense?
Hope that helps! 
@j805 www.NoCodeMinute.com
For All Your No-Code Education Needs:
- One-on-One Tutoring
- eLearning Hub
- Video Tutorials
- No-Code Classes