Is it possible to remove shipping costs to existing subscriptions?

flinx777flinx777 Member
We have a client who is using the foxycart subscriptions feature. He's now changing his model on his website to include free shipping for those that purchase subscription products. He'd like to give the previous customers that purchased his product using the subscription feature to now get free shipping. At the moment they're being billed for shipping.

Is there anyway to remove the shipping costs from those that signed up for subscriptions in the past?
Comments
  • fc_adamfc_adam FoxyCart Team
    @flinx777,

    There are a couple ways that can be achieved - could you please whisper us the details of which store, and an example of a subscription that is currently paying shipping that shouldn't be - so we can confirm the best way to go about it in this instance?
  • fc_adamfc_adam FoxyCart Team
    edited May 9
    @flinx777,

    Thanks for whispering those details. The best approach here will be to edit each of the existing subscriptions XML template - to update the subscription details. There are two bits of information for each sub you'll need to update. Firstly, you'll need to zero out the <shipping_total> node. Next, for each product in the cart, you'll need to update the <category_code> node to change it from the current live rate category to a category with flat rate shipping set to $0. You've got a category set to "no shipping" currently - but that will mean the customer wouldn't provide a shipping address. To still allow for a specific shipping address, you'll want to select flat rate delivery type set to $0.

    There are two ways you could handle doing that. One would be to manually edit each subscription via the administration - clicking to edit each subscription, and then using the "advanced edit" option on the edit page. That would be the simplest option - but you've got 91 different subs there, so it would be time consuming.

    The second approach would be to use the legacy API - loop through each active subscription and modify the transaction template for each one. It'd take a little initial set up - but would let you process them in bulk.

    After modifying a subscription - the overview shown in the subscriptions section should show the updated details (like the shipping be $0).

    Let us know if anything needs clarification there.
  • flinx777flinx777 Member
    @fc_adam thanks for the details. I'll review and follow up shortly if we have any more questions.
  • flinx777flinx777 Member
    @fc_adam

    I do have a question, you said:
    You've got a category set to "no shipping" currently - but that will mean the customer wouldn't provide a shipping address. To still allow for a specific shipping address, you'll want to select flat rate delivery type set to $0.
    Currently we just pass the @category=no_shipping and there are no shipping rates applied. I see the issue this creates if they provided a shipping address. So the solution you present is to:
    you'll want to select flat rate delivery type set to $0.
    Can you provide an example please of how to do this?
  • fc_adamfc_adam FoxyCart Team
    @flinx777,

    Sure thing! On the no shipping category in the FoxyCart administration - change the delivery type radio inputs from "No Shipping" to "Shipped using a flat rate fee", and enter $0 in the text input that appears.
  • flinx777flinx777 Member
    edited May 10
    @fc_adam thanks for providing clarification on the shipping category...that helped.

    Now about editing the fields, above you had mentioned updating the nodes. So here's the XML for the subscriptions:

    https://gist.github.com/smashstack-kris/78d783865e1185fff26310a28a0535c3

    Here's what you said:
    Firstly, you'll need to zero out the node. Next, for each product in the cart, you'll need to update the node to change it from the current live rate category to a category with flat rate shipping set to $0. You've got a category set to "no shipping" currently - but that will mean the customer wouldn't provide a shipping address. To still allow for a specific shipping address, you'll want to select flat rate delivery type set to $0.
    So to clarify, do I change the shipping total:

    <shipping_total><![CDATA[6.8]]></shipping_total>

    to this:

    <shipping_total>0</shipping_total>

    Is that correct or is it something else?

    And regarding the category node, do I need to change this:

    <category_code><![CDATA[DEFAULT]]></category_code>

    to this (free_shipping is our category with no shipping costs with the flat rate delivery set to $0):

    <category_code>free_shipping</category_code>

    Thanks!
  • fc_adamfc_adam FoxyCart Team
    @flinx777,

    Good questions - sorry for not being more specific previously. The changes as you've described them there is correct.
  • flinx777flinx777 Member
    @fc_adam

    OK, got it. Thanks for the clarification.
Sign In or Register to comment.