The Foxy forums are on the move!

We're in the process of moving our forums over to a new system, and so these forums are now read-only.
If you have a question about your store in the meantime, please don't hesitate to reach out to us via email.

Using "Points" Instead of Dollars

mudmud Member
in General edited August 2011
I am setting up a reward store where a user would receive a coupon code and buy items and redeem the coupon at checkout. Items would be worth points/tokens/whatever.

My question is -- is it possible with FoxyCart to not use "dollars" at all in the checkout area, and not collect billing info? Just need to be able to redeem the code at checkout and take their shipping info.
Comments
  • lukeluke FoxyCart Team
    Hey mud (really? Your name is mud?):

    Yes, I think you can by using the Purchase Order payment option and then, on the internationalization page, check the correct boxes to hide the currency symbols. We implemented that years ago for one of customers but I'm not sure we've had many stores take advantage of it. The PO option is only available for live stores so give it a shot and if you decide it won't meet your needs, just reply to your receipt and we'll be happy to refund you.
  • brettbrett FoxyCart Team
    @mud I think Luke was referencing the Primus song, if that wasn't clear ;)
  • mudmud Member
    Thanks for the reply. One more question --

    If we are using "points" and the user goes over their redeemable limit (which we do not want), is it possible to strip any sort of credit card payment info from the checkout so they cannot be charged anything?

    Reason being points won't = dollars anyway so we do not want them to pay for any difference in cost. They would need to remove items from their cart to reach the correct amount.
  • fc_adamfc_adam FoxyCart Team
    @mud,

    If you knew what their current point balance is when on the cart or the checkout, you can prevent the customer from being able to checkout or submit their order with some javascript.

    Will you be able to find out what the current customer's point balance is when they are on the cart or the checkout?
  • mudmud Member
    edited October 2011
    Yes, they could add stuff to their cart and submit their coupon code so we would know the balance. However we would still want them to check-out (with their balance being 0) so we could capture their order, we just want to hide any CC gathering fields.

    Hope that makes sense.
  • fc_adamfc_adam FoxyCart Team
    @mud,

    Yeah that does. For that situation you'd want to use the Purchase Order method as Luke mentioned earlier - which you can hide from customer view so for all purposes they're checking out without having to provide any payment.
  • mudmud Member
    Hi again, looks like I am almost there, thanks for the help.

    A few things.. hiding decimal values in the language admin area doesn't seem to do anything.

    Also, how do you do a coupon code where it is just XX off? I want to coupons to be worth 5, 10, 50, 100, etc. I don't need any other settings.
  • mudmud Member
    And... hiding the PO area.. it seems to be a required field?
  • lukeluke FoxyCart Team
    Hey Mud. What store is this for and what version? When you check the "Hide decimal values:" and save, your cart shouldn't show any decimal values.

    As for a coupon, this may help: http://wiki.foxycart.com/static/redirect/discounts It sounds like you'd want a discount_quantity_amount discount with details like 1-5, 1-10, 1-50, or 1-100. That means if they have one more more items in the cart, they get the amount specified subtracted from the cart.

    As for hiding the PO, you just have to pre-fill it with some javascript. Here's a snippet for help with that: http://wiki.foxycart.com/snippets/checkout/hiding_po_payment_option
  • mudmud Member
    thank again. I got everything working except the decimal issue keeps popping back up. every time I check the box and update it seems to save it. but then after a while I test out the store and the decimals are back there.

    http://i.imgur.com/NPjna.png

    I am on the latest store version.
  • lukeluke FoxyCart Team
    It certainly wouldn't make sense for them to just pop back up. Are you making any other changes to the store during the process? Maybe updating the store templates? Hmm... I was just able to reproduce that issue in our test envionment. We'll look into it and get back to you.
  • mudmud Member
    Yea I am updating checkout templates.
  • lukeluke FoxyCart Team
    We just rolled out a fix for this issue. It seems the setting for hiding the decimal values wasn't being saved to the database correctly, though it would be put in the cache so that explains why it would randomly work. If you update it again, it should stick this time.
  • mudmud Member
    Awesome. You rock.
  • mudmud Member
    So I guess it is official. FoxyCart can be used as a rewards/points redemption system in an online store. One of the only systems I know that can be modified fairly easily to do it. Well done.
  • lukeluke FoxyCart Team
    Thanks Mud, we definitely appreciate your feedback. Please let us know if you run into any other issues.
  • mudmud Member
    edited October 2011
    Hi, me again!

    I am still looking into preventing checkout unless cart is at 0.

    I found this bit of js on the forum but might need it tweaked. Any ideas on what to modify to make it so you cannot checkout unless the cart is at 0?
    var hasBox = false;
    jQuery(".fc_cart_checkout").hide();
    
    for (p in fc_json.products) {
    if (fc_json.products[p].code.match("boxes")) {
    hasBox = true;
    }
    }
    if (hasBox) {
    jQuery(".fc_cart_checkout").show();
    } else {
    jQuery(".fc_cart_checkout").hide();
    showError("You need to have at least one box in your order to checkout");
    }
    function showError(text) {
    if (jQuery('#fc_error_container ul li').length) {
    jQuery("#fc_error_container ul").append("<li>"+text+"</li>");
    } else {
    jQuery("table#fc_cart_table").before("<div id=\"fc_message_container\"><div id=\"fc_error_container\" class=\"fc_message fc_error\"><ul><li>"+text+"</li></ul></div></div>");
    }
    }
    
  • fc_adamfc_adam FoxyCart Team
    Hey mud,

    What do you mean by "cart is at 0", do you mean the total cost being 0? If so, it should be as simple as this:
    <script type="text/javascript">
    jQuery(document).ready(function() {
    if (fc_json.total_price != 0) {
    jQuery(".fc_cart_checkout").hide();
    showError("Your error text here");
    }
    });
    function showError(text) {
    if (jQuery('#fc_error_container ul li').length) {
    jQuery("#fc_error_container ul").append("<li>"+text+"</li>");
    } else {
    jQuery("table#fc_cart_table").before("<div id=\"fc_message_container\"><div id=\"fc_error_container\" class=\"fc_message fc_error\"><ul><li>"+text+"</li></ul></div></div>");
    }
    }
    </script>
    
  • mudmud Member
    Thank you so much. That works - an error message comes up, but it seems you can still checkout by hitting "confirm your order."
  • fc_adamfc_adam FoxyCart Team
    Oh sorry mate, I thought you were on the cart, not the checkout.

    Changing
    jQuery(".fc_cart_checkout").hide();
    
    to
    jQuery("fc_complete_order_button").hide();
    
    should fix it for you.
  • mudmud Member
    Ah ok. I now moved the original snippet to my cart head and that makes more sense than to have it at the checkout page. Thanks.
Sign In or Register to comment.