I want to create an ERC20 token that can be used as a mode of payment for a specific contract. Out of that token will be worthless. You can imagine it as a kind of coupon. If you use that coupon for that contract only then you can get some discount otherwise not. If the same coupon is applied to a similar contract (as it accepts others as coupons) it will not work because it's a different contract. Same like real world. One coupon applies to one shop not the other.
I have searched regarding it on the internet but haven't found any relevant solution.