Update through wholesaler - strategy

Hi,More of a general strategy type question than a specific support issue.

I am releasing an add-on module shortly, which I intend to implement as an extra feature in the activation key.

My issue is that I sell quite a high percentage of my licenses through a wholesaler, who also happens to be in Japan. I do this by simply generating keys in bulk and selling them in advance - the wholesaler deals with the rest, including first-line support. I have no record of the final users.

My question is a practical one. How do I provide a license update feature to my wholesaler? Assuming (and this may be a big assumption) that he can get access to the original product keys of the current users, he would then need to access wyDay to update the license.

One thing I have thought about is generating a number of unique coupon codes in FastSpring, and supplying those. Then the user could go through the upgrade purchase process using the coupon. I'm not sure how fair this is on FastSpring since they won't see any revenue from this. Also, I know the wholesaler charges more retail than I do on my website - but he does add value (eg Japanese printed manual). If the user goes on to FastSpring they may not be too happy to see the quoted upgrade price, assuming they spent more.

The other option is to provide him with brand new keys, with the feature already added - but then there is the issue of ensuring old keys are deactivated an revoked.

I'd welcome any better ideas than those - because neither seems that appealing.

thanks,Matt

Hey Matt,

I'll need a bit more information before I can give you any useful advice. Let me recap what I think you want to do:

You want to create a plugin that will be an optional "up sell" purchase for new customers of your software, but you want to "grandfather in" old customers of you software. The plugin will be a separate download and/or update to your app and its availablility will be controlled by a custom field like "is_pluginX_enabled".

Is that about right?

If it is, then the way to do this is simply create a new custom field ("is_pluginX_enabled", or whatever you want). Then edit all the product keys that you sent to this reseller and set the custom license field to whatever you want (like "true" or "1").

You don't even need to bother the reseller.

Does that help, or have I misunderstood what you're trying to do?

Hi Wyatt,Thanks for the response.I actually want to charge for the upgrade - and so does my wholesaler. That is the problem - otherwise I could do as you suggest and there'd be no problem.

Any ideas?

cheers,Matt

Oh, ok. I'll assume your reseller has automated payments of some sort. The workflow for a customer ordering this plugin from the reseller might look like this:

  1. The customer enters the product key into and order form (along with their payment information and anything else the reseller needs).
  2. After the payment has been successfully verified, the reseller's automated system will send a POST request to a script on your website. Inside the POST request will be the product key and some secret "password" that only the reseller and you know.
  3. The script on your website will first verify the password is correct. If so, then the script will read this POST request, get the product key, then use limelm.pkey.getID and limelm.pkey.setDetails to enable custom license field for the plugin.
  4. Then the customer downloads the plugin either from your reseller or from you. Your plugin's installer should re-activate (call Activate() again or IsGenuine() ) to get the latest custom license fields.

From the customer's perspective all they see is the order form and then they download the plugin and everything magically works.

Does that make sense?

The problem is that he retails boxed copies, with a hard-copy of the keys I generate. Ideally, the customer would get another licence key that they can pay for in advance and just enter somewhere in the app. I could almost see creating a complete new key as being the easiest solution, but the problem is the current key allows two activations - I need to ensure both have been deactivated before the new one is allowed. Alternatively, having a whole new product and using both of them within the app might work - but I would use a lot more keys, and I only really need a solution for this particular group of users.

But - having said all that, perhaps I could get this to work using your solution if my wholesaler is able to gather the keys from his users. Have to brush up my web skills..

cheers,Matt

But - having said all that, perhaps I could get this to work using your solution if my wholesaler is able to gather the keys from his users. Have to brush up my web skills..

Why would you need to gather the keys? I thought you said you weren't going to grandfather-in these old product keys.

If you're not grandfathering-in old keys, then the solution to the problem is to, if at the time of purchase the customer want the plugin, then have the reseller contact you (via automated web form or phone or email) with the product key. Then you can apply the fact that the customer bought the plugin by using a custom license field.

Does that make sense? Is there any reason this can't all be done at purchase time?

Wyatt,I guess the issue is that the wholesaler is just that - a wholesaler. The way it works now is that he sends boxed copies to his retailers. So they'd need to get the key details from the user, get it back to the wholesaler, and he'd need to forward them on to me. It would be much easier in this situation if there was a way of simply giving a new key/coupon code/whatever to a user that walks in to the retailer, user could go home and type it into a window of the app.

My absolute ideal functionality in this case - I know it doesn't exist - would be an option in turbo activate that could update key fields through entering of an extra unique code/key, that I could pre-generate in bulk and provide to wholesalers.

I still don't think I've got a workable solution here..

cheers,Matt

user could go home and type it into a window of the app.

You could do that. I'm not sure how that would be easier than the things I've suggested (because the retail stores would still need to do extra work -- in this case generate unique coupon codes).