Skip to main content
Inspiring
March 6, 2013
Question

discount voucher how to set up using php

  • March 6, 2013
  • 1 reply
  • 3680 views

what is the best way to setup a discount voucher so when the user inputs a set number provided by us it will give a % discount. and this is pllied to the the total of the shopping cart

i know my question is vague but i dont know where to start

thanks

This topic has been closed for replies.

1 reply

Rob Hecker2
Legend
March 6, 2013

For this kind of feature I use a table with the following fields:

promo_code (the promo or voucher text/number the customer will enter)

promo_deduction (the percentage of the deduction)

promo_expiration (a date you want the offer to end)

promo_id (auto increment primary key)

feature_id (if you want the offer to apply to only a specific product or service, this prevents it being applied to any product/service)

Then, if PHP is performing the calculation, in your POST data you would first check to see if they entered a voucher code, then compare it to your table of valid codes and if there is a match, return the deduction amount as a variable. This is accomplished with a simple WHERE clause in your query  (...WHERE promo_code=:promo_code_entered AND promo_expiration <=:currentdate AND feature_id =:feature_id)

Then multiply the variable by the total, like so:

$total = $pretotal * $promo_deduction;

You could alternatively use Javascript to create a live response, so that when they enter a code in the voucher field, it will update the total or respond with a message that the voucher was not valid.

Inspiring
March 8, 2013

Thanks for that, i will see if i can use your idea and link it in with my existing cart

Inspiring
March 25, 2013

i have been trying to figure out how to integrate this into my checout page but am proper stuck

i take it i will need a text field where the user can input the discount code (your example CD458545)

i have a db built for the discounts to come from

vouchID        int(11)




No
auto_increment






vouchCodevarchar(200)latin1_swedish_ci
No









voucherDiscountfloat

this is so the new discounts can be added

for example promotion 1 - 10% discount

or

promotion 2 = 30%

the grand total is computed with all the other variable below

// *** Compute Grand Total

$XC_GranTotal = $XCart_sumTotal+$XC_SalesTax+$XC_Shipping;

so do i just need to create a variable for discount and - that?


can anyone else help me on my discount voucher problem as explained above?

thanks in advance