Subscription minimum length requirement, preorder, and editing via FoxyCart admin page

scalechangescalechange Member
in Help edited June 2013
Store: V1.1
Store domain:

Hi! I have three questions concerning subscriptions. A little background information: I have three ‘normal’ products and one subscription product.

I apologize in advance for the structure and complexity of this question. It was the best way for me to organize my thoughts.

1. Minimum length of membership for subscription orders.
A. When my store is up and running under normal operation, I would like my subscription orders to reoccur every month indefinitely. Can I make this happen by simply adding “<input type="hidden" sub_frequency="1m" />” to my product form?
B. Also, I would like to be able to offer my subscription members a lower price (when compared to the single occurrence ‘normal’ product option) and free shipping with the understanding they are responsible for a minimum of 3 consecutive monthly orders. What do you think is the best way to make this happen?

2. Pre-order.
A. Before my store is up and running under normal operation, I would like to offer preorders. I have found a couple a couple post ( and (, but they seem to be working under slightly different situations. When someone pre-orders one of my products, I would like them to be charged, but I don’t want the shipment to go through until my production run is complete.
i. How do I make this happen?
1. For my normal products, can I have the transactions completed normally but not have the order sent out until it is ready? (If it helps, I think I will be using orderdesk to connect with shipwire).
a. Do you know what type of input would be required of me to make this happen?
b. Do you know if I can select orders to have shipped by particular attributes (i.e. a particular range of order dates)?
2. For my subscription orders, can I temporarily set “sub_frequency” to something like 3 months, then later change “sub_frequency” to 1 month and “sub_startdate” to whatever date I ship?
a. What will it take for me to change product options like sub_frequency and sub_startdate? Is there a way for me to edit many orders at the same time through my FoxyCart admin page? Must I use API? Or is there an easier way to do this? (I finally got the entire chain working for transaction XML datafeeds to update my database automatically, but it wasn’t easy for me).

3. Editing subscriptions from my foxyCart admin page.
A. What happens when I cancel a subscription from the FoxyCart admin page? Will my datafeed url be sent a subscription datafeed that will update my database?
  • fc_adamfc_adam FoxyCart Team
    Hey @scalechange,

    1A) That's right, if you don't specify an end date for the subscription, then it will simply reoccur indefinitely at the set frequency.

    1B) We don't necessarily have anything out of the box for supporting this. You could possibly look at customising the sub cancel checkout functionality to prevent the customer from cancelling the subscription if they try to cancel inside the 3 renewals, or you could have an option for them to cancel, but require that they add a cancellation fee of sorts before allowing them to do so. Something like that could be possible with some custom development.

    2A) Would the preorders be normal products, or are you wanting to allow them to preorder the subscription - in which case they'd pay once now, and then the subscription starts after the first product ships?

    2A1) FoxyCart doesn't dictate when a product ships at all, so if OrderDesk is automating your shipping to some extent, you'll need to see if there is a way to prevent that from happening. Perhaps you could just not connect to shipwire for the duration of your preorder period.

    2A1 a/b) These questions would be best directed to @sparkweb - he's the genius behind OrderDesk

    2A2 a) It is possible to do, and the API would indeed be the best option for you. Is the 3 months just to set the next renewal sometime within the time you think you'll ship the product? So if the ship time is longer than 3 months from the purchase date, you wouldn't want the subscription to renew?

    3) If you set the subscription to have an end date of the following day, then the subscription datafeed will run and the customer will be emailed. If you simply set it to inactive, the subscription ends instantly and no actions are taken.
  • sparkwebsparkweb Member, Integration Developer, FoxyShop, Order Desk
    edited June 2013
    Hi @scalechange

    Thanks for all the details on your setup. Here's a few thoughts:

    I generally recommend that with pre-orders you don't submit all your pre-orders to Shipwire beforehand. This is because after they are submitted, Order Desk checks the order status every 8 hours and that's a lot of wasted info to track. Just make sure that you have "Auto-Fulfill" turned off and then you can submit to fulfillment at any time you want by selecting all the orders and clicking "Send to Shipwire". Then later on when you are ready to have orders go automatically, I'd recommend that you turn on the auto-fulfill feature.

    The contents of the subscription gets set via the API, but Order Desk does all that for you. You can even bulk-change a lot of orders at once. Be aware, though, that it changes all the things about an order, including taxes and shipping so you'll only want to do similar orders at the same time if you are changing in bulk. Also, it's a little slow doing a lot at once because there's a 2-3 second delay for each transaction as it calls the API and waits for a response.

    For your email receipt on the orders where you want to limit cancellation, I think you might want to look into some custom twig code that checks the current date as opposed to the subscription start date and if it's X months different, you'd just not display the cancel link. That's probably how I'd approach this particular issue.
  • Great information. Thank you both for your time!

    1. Minimum length of membership for subscription orders.

    @sparkweb, your idea seems really interesting. Where would I put this custom code? On the receipt template in my foxycart admin page? Could you offer any suggestions of where to find examples of this type of code and how to customize it?

    2. Pre-order.

    Okay great. With orderdesk, I definitely Can wait to ship orders until my production runs are complete. When selecting orders to send to shipwire, am I able to select orders with certain criteria, like date ordered?

    Setting up pre-order
    @fc_adam, I am definitely wanting customers to have the opportunity to pre-order subscriptions. And yes, you are correct. I chose 3 months as an arbitrary renewal time within which I think I will be able to produce and ship out my product. I think I will be able to ship out the product within 1 month, and certainly within 2 months. But you bring up a valid point. If the ship time, for whatever reason, is longer than 3 months, I wouldn’t want the subscription to renew yet. So I should probably use a longer renewal period, like 6 months, out of an abundance of caution.

    The end result I wish to see is that customers pay once now, and then the subscription starts reoccurring every month after the first product ships. Will temporarily setting my “sub_frequency” to 6 months, then later changing “sub_frequency” to 1 month and “sub_startdate” to whatever date I ship work? Is this the best method?

    Changing “sub_frequency” and “sub_startdate” on existing orders
    @sparkweb, can you elaborate on what orderdesk will allow me to do? What do you mean by “Be aware, though, that it changes all the things about an order, including taxes and shipping so you'll only want to do similar orders at the same time if you are changing in bulk.” Are there other attributes besides taxes and shipping that must be identical when changing orders by bulk through orderdesk? If not, I think this should be manageable for me. I should only have 8 combinations of categories/ taxes since I only have a max of 4 product categories I will allow to be pre-ordered and I will only have to charge tax on orders in my state of Indiana.

    Also, does the 2-3 second delay become an issue at a certain level when trying to change many orders? Or does it just take a while? With 1,000 orders, 10,000 orders, 20,000 orders?

    Dose it sound like using orderdesk to change “sub_frequency” and “sub_startdate” will be the best solution for my needs? How does using orderdesk to change subscription attributes differ from other API approaches? And if I must still set up the API, how difficult would it be to set up in comparison with XML datafeeds?

    Since I don’t have very strong technical skills, the easiest solution will result me retaining more hair. However, I must do whatever it takes to have the entire ordering process work smoothly.

    3. Editing subscriptions from my foxyCart admin page.

    I was thinking about a situation like this: If I’m logged into my foxycart admin page, would I be able to change attributes like the start date of a subscription from the ‘transactions’ section of the admin panel? If so, does the updated information get sent through a datafeed to my databse?

    Thanks again for all of your insight!
  • sparkwebsparkweb Member, Integration Developer, FoxyShop, Order Desk
    I don't have any code for removing the cancellation link. I think you'll just need to dig around in the twig a bit to figure that piece out.

    You can change the sub_frequency in the FoxyCart admin under Subscriptions or in Order Desk as well. Neither tool is set up to change the sub_frequency in bulk, though. The price/products/tax are the items that you'd be able to change in bulk. I'd recommend setting up a test sub so you can play around with it.

    You can do three months and then if it looks like you are going to go longer you can just go edit the start date on your subs. You can do that in bulk in Order Desk.

    As far as the delay goes, it just means that if you are changing 50 orders at a time it will take about 2 minutes to complete the request.
Sign In or Register to comment.