Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

I developed .NET application and planning to sell it on monthly/yearly subscription plans. At first I found that Plimus has licensing system and everything else that I need, but when I finally decided to test it I found that they have many bugs in their system and it's imposible to use licensing system with recurring payments.

Can you recommend some other payment processor that can accept paypal but also direct credit cards and that has all fancy options like discounts coupons, recurring payment and most important license key deliver system that can control customers license based on monthly payments.

Thanks, Nikola

share|improve this question
1  
1  
On both places "Wyatt O'Day" always well prepared as usual :) – Ross Jun 26 '11 at 7:24

3 Answers

I can confirm Plimus is really awful for license key management. The email exchange we had with their technical support recently regarding those bugs make me think they don't have the staff needed to make a professional API.

We are still using it, but plan to move away as soon as possible.

That said, I highly suggest you to have a look at Recurly. This is an amazing platform. The only reason why we don't use yet is that they don't support Ogone, our payment gateway.

Recurly provides a professional & flexible API that will allow you to host your own serial key generation tool.

share|improve this answer
recurly looks good, but I don't see that they have any licensing and key delivering system ? – Miki22 Jun 24 '11 at 17:00
You host it on your own page, you use their API to get notified of new subscription or cancellations – user3997 Jun 24 '11 at 17:12

I'm founder of the company that makes LimeLM, a hassle free licensing and online activation system. That is, LimeLM is hardware locked licensing that integrates with all programming languages (.NET, Java, C++, etc., etc.) and allows for advanced functionality like recurring billing for desktop apps (like you're looking for) among other things. There are lots of ways you can do recurring billing in your apps, and we have an article talking about monthly update subscription.

Obviously you don't have to do SaaS licensing that limits updates, but that's the most popular option. You can choose to limit your application outright based on their subscription status.

But to address your question more directly, we have multiple fully-written payment integration examples that deliver product keys the instant an order is processed. See: How to generate product keys after an order.

In that article we talk about delivering product keys whether your payment platform is PayPal, Moneybookers, or Authorize.Net (i.e. direct credit card payment). Or you can enable all the payment platforms and have a payment selection screen where the user can choose their favorite payment method:

enter image description here

The actual example code we have is written for 3 languages so you can choose whatever works best for integrating with your website workflow. That is, the example code we have is written in PHP and ASP.NET (C# & VB.NET) -- just set a few configuration options and drop the code (in whichever language) into your website.

You're not limited to PayPal, Moneybookers, or Authorize.Net -- those are just the examples we've written. We have customers that integrate LimeLM with all sorts of other payment platforms (Cleverbridge, Plimus, FastSpring, RegNow, etc., etc.). You're not limited to PHP & ASP.NET either.

We can help you get up and running by walking you through everything you need (coupon processing, handling renewals, etc., etc.). Just shoot me an email.

Hackers, crackers, and thieves

Since you brought up cracking let me quote my own catch-phrase:

If it exists on a computer it can be cracked.

There are lots of companies that sell snake oil (wrappers, obfuscation, in memory virtual compilers, etc., etc., etc.) but these don't add any extra protection whatsoever. The best these snake oils can do is add a few minutes to the time it takes to crack your app. For an in-depth study of this point see this study: On the (Im)possibility of Obfuscating Programs.

This raises the question: "If all licensing is crackable what's the point of having it at all?" The answer is this: casual piracy.

Casual piracy (that is, a person or company using the same product key over and over again) is a greater threat to your business than crackers. The Business Software Alliance has done studies on piracy within business and I believe the most recent worldwide percentage is 48.9% of all software is pirated (it's lower in some regions and much higher in other). So you should always use hardware-locked licensing (like LimeLM or something you build in-house) rather than just simple "serial" protection.

I can go into what hardware-locked licensing means if you want but it's probably easiest to give examples: Microsoft Windows Activation or Microsoft Office Activation. That is, a customer can on install your software on a finite number of computers. If you were to build it yourself you'd make a "fingerprint" of the computer (an ID generated from the components of the computer) and you'd use public-key encryption on your servers to cryptographically sign the message that your app would then use to verify the activation. (I can go into further details if you want, but this answer is getting a bit lengthy).

Dealing with cracked software on the web

The way you handle crackers is to find all pirated versions of your software on the web and send DMCA notices. A very high percentage (> 90%) of these hosting sites remove illegal files based on DMCA requests. But it's a whack-a-mole proposition. That is, when you get 20 sites to remove your files, 20 more pop up the next week.

We've thought about this problem too, which is why we created Pirate Poacher. This is a service we offer (free for LimeLM customers) that handles the tracking & removing of pirated versions of your software for you.

Tell me if this helps.

share|improve this answer
Your library to protect app: if (TurboActivate.IsActivated()) { mnuActDeact.Text = "Deactivate"; } else { mnuActDeact.Text = "Activate..."; if (TurboActivate.GracePeriodDaysRemaining() == 0) { //TODO: disable the features of your app } } It looks very simple. Crackers just have to change isativated to "true" and... Any comment about this ? – Miki22 Jun 25 '11 at 16:06
Great question, I've added the "Hackers, crackers, and thieves" section. Tell me if this clarifies things. – Wyatt O'Day Jun 25 '11 at 19:19
I refer you to my comments about "snake oil" protection and the linked-to study "On the (Im)possibility of Obfuscating Programs". Sure, teenagers who think "cracking" means "opening an assembly in Reflector" will be sufficiently confused by obfuscation. But any cracker worth his salt will spend all of 2 minutes working around the snake oil. This discussion entirely misses the point of proper licensing. The point of licensing is not to stop every kleptomaniac with hard drives filled with cracked software. The point of licensing is to increase profits from actual paying customers. – Wyatt O'Day Jun 26 '11 at 10:10
@ Wyatt: 100% agree with you on your bold sections. But let me add one bit: Someone who doesn't want to pay will always find a way not to. Unless someone is utmost determined, there is a balance between effort of cracking and just paying the price. Without a License enforcement mechanism that sets this threshold sufficiently high, you're losing revenue. Hell, people even crack 80cent iPhone apps (different plattform though). The same goes for purchasing apps. If it's easier to find a an app cracked than purchasing it, you're doing something wrong. – Johannes Rudolph Jun 26 '11 at 10:19
1  
@Johannes Rudolph -- With your comments removed the tone of the conversation has changed making my responses look like aggressive non sequiturs. Let me just respond to a point you raised in your only remaining comment: "there is a balance between effort of cracking and just paying the price". The job of licensing isn't to make paying customers angry. There is no protection you can build or buy that's uncrackable. That's an indisputable fact. Adding layers of extra "protection" only makes the experience of software worse for legit customers. Customers don't crack, and crackers don't buy. – Wyatt O'Day Jun 26 '11 at 18:52
show 4 more comments

DISCLAIMER - We are the developers of CryptoLicensing.

Do not mix up your payment processor and licensing. Most payment processors today have the ability to do an HTTP POST to a URL of your choice with information about the order and customer. Your page can then generate licenses and deliver it to the customer.

Our own product CryptoLicensing has ready-to-use e-commerce pages for a variety of payment processors including Plimus, Shareit, Paypal, etc. When the payment processor makes the POST to these pages, a new license is generated using the CryptoLicensing API and sent to the customer.

You can customize this as per your needs.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.