How to charge less for upgrades than for initial purchase?

When my app goes from 1.9 to 2.0, I want existing users (those who have already purchased a product key) to be able to upgrade for less money than those who are buying the product for the first time.

Is it possible to achieve this with LimeLM and TurboActivate?

Thanks,Eric

Hey Eric,

Yes, absolutely this is possible. This has more to do with your payment processor than LimeLM, but you can use LimeLM to simplify the process.

For example, one way to do things is when a user is purchasing version 2.0 of your app you can prompt them to see if they have a product key for version 1.x of your app. If they do, then you can apply a discount to their purchase.

So how do you check if the product key or email they supply is for an existing user? (That is, how can you tell if they're telling the truth?) Use the web API. These are the 2 functions that will be of the most use to you:

Does that make sense?

Ok, so I am currently using PayPal as my payment processor, and I have mostly used the sample code that you have provided to get this working.

So basically, somewhere on my payment page, I'd add an extra text input field that would allow a user to put in an existing product key. Then when they click on the "Place my order" button, I call your API function, and lower the price that's passed to PayPal if the product key is found. Is that about right?

Eric

Well, if you're using our PayPal example, then that means you're not deeply integrating PayPal into your order process. So really you have to verify the product key and the discount twice. Once before the order is even placed (so you can set the price on the page and inside the form). The verify the product key again once the order is placed (in the paychecker.php).

Does that make sense?

I understand that I would have to add the step of verifying the *old* key before the order is placed. But doesn't your PayPal example code already provide the step of verifying the *new* key after the order is placed? Or are you saying that I have to change something there?

I'm saying you have to verify the user qualifies for the upgrade price both before and after the purchase. Why? Because you're using PayPal, and the actual transaction details take place out of your control.