Great contribution Andrew, thanks and will test later
Suggestion: you may want to make the points "unconfirmed" it payment is made by COD, check, etc. and wait until order status changes from Pending to "confirm" the points.
From a redemption perspective, suggest simply allowing redemption for gift certificates.
Good luck,
Scott
That Software Guy. My Store: Zen Cart Modifications
Available for hire - See my ad in Services
Plugin Moderator, Documentation Curator, Chief Cook and Bottle-Washer.
Do you benefit from Zen Cart? Then please support the project.
Thanks Scott, excellent suggestion. I put the change in the next update.
Good idea. The two that I'm looking to code at the moment is to redeem against future sales as a straight points-to-cash swap (obviously with a different ratio) and another mod which set Redeem Points against products and then allow the customer to select which products they wish to redeem against at checkout.
More random thoughts:
- Delete orders in admin should remove points.
- Consider adding a log table to show when points are added, removed or redeemed.
That Software Guy. My Store: Zen Cart Modifications
Available for hire - See my ad in Services
Plugin Moderator, Documentation Curator, Chief Cook and Bottle-Washer.
Do you benefit from Zen Cart? Then please support the project.
Scott- I'm currently looking into how the mod could be used to defraud. i.e. Someone makes a large order, gets the points and then redeems them in a second order- Then cancels the first (say through doing a chargeback on a credit card).
So I think some form of audit trail needs to be made tracking each of the Reward Point transactions. Other ideas I have are:
- A sunrise period between points being earned and the ability to redeem the points- i.e. Any points earned on an order placed today only become redeemable in 30 days time.
- Only allow customers to accrue Reward Points once they've made a certain value of orders- Once this point is reached (and proved the customer to be trustworthy) then the Reward Points from the previous orders become available.
- Disallow "redeem points only" orders.
What do you think?
The way I would effect a sunrise program is using the log; the log (rather than the reward_customer_points table) would be the medium for determining the current customer balance. The default would be simply to get all log records for that customer older than (say) 30 days. I wouldn't write a log record until the order had moved to (say) processing state, which could obviously be delayed for some payment methods; alternately, the log could store a state for each row, which would be something other than "available" for points accumulated by a transaction which hasn't settled.
The reverse charging you're talking about is really the most egregious form of fraud; in this case, the shopkeeper would have to plead his case to Visa not to allow the chargeback. I'm more concerned about script kiddie probes for vulnerability (submit a cod transaction for a backordered item, get the points, submit a real transaction for something in stock.)
I disagree with 3; I think this is the primary modality in which such programs are used. And I'm not crazy about 2. Allowing them to earn points from day 1 but forcing the points to age before use should be sufficient.
Good luck,
swguy
That Software Guy. My Store: Zen Cart Modifications
Available for hire - See my ad in Services
Plugin Moderator, Documentation Curator, Chief Cook and Bottle-Washer.
Do you benefit from Zen Cart? Then please support the project.
I can see the pro's and cons of the points maturity issue. One more thing to consider with the redemption is the fact that most retailers that use the rewards or point system only send the consumer the redemption once a quarter. This would deter some of the fraud activity with cod orders and such. My thought would be to let the point acrue for at least 30 days and then be released at least 2 weeks after that periods cut off date.
A common situation with chains like staples, office max and office depot is they let the earnings acrue for a quarter (3 months), then they mail out a card or coupon good for the reward point amount about 2 weeks after that period has ended.
The only other part of this is that in most places that have this program also have a place on the companies web site where the user can go see when they earned points and what their total was for that period and when they will be released.
code for thought......
hi everyone,
is this contrib only for zc 1.3.8 or could i use in zc 1.3.7?
thx @all
greeting
Lissy
ZenCart Version 1.3.7 and ZenCart Version 1.3.8
Apache/2.0.54 (Debian GNU/Linux) mod_ssl/2.0.54 OpenSSL/0.9.7e
Lissy- while I haven't tested it with 1.3.7 there is no reason it should not work. None of the modification is "invasive" so it does not make any changes to any core modules.
Bookmarks