Craft Posted November 24, 2019 Share Posted November 24, 2019 I would like to offer my customers a discount for hosting plans for the first term only then renews at another rate (fixed for all the terms). Example: ( 6 months term: $4.99 for the first time per month then renews at $6.99), (12 months term: $3.99 for the first time per month then renews at $6.99) I don't want to do it with coupon code, I need it to be automatic in the system if possible, because I don't want to ask my customers to use this coupon code (***) to get this discount! And if I was forced to use a coupon code to be applied for the order once (first time), then I should set the price ($6.99) for all the terms (1 - 3 - 6 -12 months) for renewals, then the customers will see this screenshot at the Cart "Configure" step before seeing the discount at "Checkout" step. 0 Quote Link to comment Share on other sites More sharing options...
brian! Posted November 25, 2019 Share Posted November 25, 2019 12 hours ago, Craft said: Example: ( 6 months term: $4.99 for the first time per month then renews at $6.99), (12 months term: $3.99 for the first time per month then renews at $6.99) a 6 months cycle will be charged twice a year, not per month (though I can see you have monthly pricing enabled) - so I assume you're just taking $2 off the semi cycle, $3 off the annual cycle etc... 12 hours ago, Craft said: I don't want to do it with coupon code, I need it to be automatic in the system if possible, because I don't want to ask my customers to use this coupon code (***) to get this discount! you could add the promo code in the product links so that the client never needs to enter them manually... https://docs.whmcs.com/Promotions#Promotion_Links ... but in your scenario I don't think that would work as you would need a promo code for each discounted cycle - unless you could make it a consistent percentage discount between the billing cycles and just use one code for all cycles. 12 hours ago, Craft said: And if I was forced to use a coupon code to be applied for the order once (first time), then I should set the price ($6.99) for all the terms (1 - 3 - 6 -12 months) for renewals, then the customers will see this screenshot at the Cart "Configure" step before seeing the discount at "Checkout" step. i'm not sure if you're saying that looks ok or not. 🙂 one possible solution might be to use negative setup fees - as you will already know, setup fees are only charged on the first cycle, and so a negative fee would effectively be a discount... the first cycle would be discounted using a -2.00 setup fee; every recurring invoice after that would be charged at $6.99 (monthly rate). sadly, you can't add negative setup fees to products via the admin area - you could add them directly to the tblpricing database table, but the admin product pricing page would almost certainly remove them if you ever edited the product. the other way to add them would be via an OrderProductPricingOverride hook - though any hook solution might require additional hooks if you need to check whether the client has used this discount before... and there could be multiple additional factors that could make this a complicated direction to head down. one cosmetic tweak you could make would be to rename Setup Fees to Discounts (or whatever) - as a negative setup fee would look confusing... if you were already using positive (normal!) setup fees with other products, then you'd probably be looking at editing templates with conditional statements rather than using Language Overrides to change this text... also, an override hook wouldn't change the billing cycle menu and that would still show the full amount (editing the database table would though)... of course, all these things can be fixed if you really want to put the effort in - but using promotion codes would be the native way to do this and if you could find a discount solution that allowed you to use them, it might be preferable. 😅 0 Quote Link to comment Share on other sites More sharing options...
Craft Posted November 25, 2019 Author Share Posted November 25, 2019 2 hours ago, brian! said: a 6 months cycle will be charged twice a year, not per month (though I can see you have monthly pricing enabled) - so I assume you're just taking $2 off the semi cycle, $3 off the annual cycle etc... you could add the promo code in the product links so that the client never needs to enter them manually... https://docs.whmcs.com/Promotions#Promotion_Links ... but in your scenario I don't think that would work as you would need a promo code for each discounted cycle - unless you could make it a consistent percentage discount between the billing cycles and just use one code for all cycles. i'm not sure if you're saying that looks ok or not. 🙂 one possible solution might be to use negative setup fees - as you will already know, setup fees are only charged on the first cycle, and so a negative fee would effectively be a discount... the first cycle would be discounted using a -2.00 setup fee; every recurring invoice after that would be charged at $6.99 (monthly rate). sadly, you can't add negative setup fees to products via the admin area - you could add them directly to the tblpricing database table, but the admin product pricing page would almost certainly remove them if you ever edited the product. the other way to add them would be via an OrderProductPricingOverride hook - though any hook solution might require additional hooks if you need to check whether the client has used this discount before... and there could be multiple additional factors that could make this a complicated direction to head down. one cosmetic tweak you could make would be to rename Setup Fees to Discounts (or whatever) - as a negative setup fee would look confusing... if you were already using positive (normal!) setup fees with other products, then you'd probably be looking at editing templates with conditional statements rather than using Language Overrides to change this text... also, an override hook wouldn't change the billing cycle menu and that would still show the full amount (editing the database table would though)... of course, all these things can be fixed if you really want to put the effort in - but using promotion codes would be the native way to do this and if you could find a discount solution that allowed you to use them, it might be preferable. 😅 I solved it with an easier way :) I will use promocode in the product links, so: I will create a separate promocode for all my terms for each plan and the customer will choose the term from the beginning (from my website which is not related to whmcs), then I will redirect him with the product link with the specific promocode regarding to his selected term. Also I should use "&skipconfig=1" to not open the "Configure" page to the customer and use "&billingcycle=annually" to redirect him to the checkout page direct. 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.