Looking for payment system with licensing (key delivering) for .NET software


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.


License Payments

asked Jun 24 '11 at 23:59
31 points
  • Identical post at http://discuss.joelonsoftware.com/default.asp?biz.5.838225.1Jesper Mortensen 13 years ago
  • On both places "Wyatt O'Day" always well prepared as usual :) – Ross 13 years ago
  • You can do the licence key generation automatically and also create a webpage to sell it through via Paypal using https://quantum-key.net. It's free and you only need to add a DLL to your project and the rest is automated. It literally takes about 5 minutes to do the whole thing and people pay you directly through Paypal for your software. – Quantum Key 6 years ago

3 Answers


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:

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.

answered Jun 25 '11 at 01:18
Wyatt O'day
964 points
  • 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 13 years ago
  • Great question, I've added the "Hackers, crackers, and thieves" section. Tell me if this clarifies things. – Wyatt O'day 13 years ago
  • 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 13 years ago
  • @ 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 13 years ago
  • I'm not sure what that means but it sounds like "If the snake oil says on the label 'Cures Cancer!' what's the harm in using it even if it can't?" That being said, sometimes our customers ask for obfuscation. We tell them not to waste their money and we point them to one of the dozens of free obfuscators out there. For example, **[obfuscar](http://code.google.com/p/obfuscar/)** or **[Eazfuscator.NET](http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.aspx)**. – Wyatt O'day 13 years ago
  • @Wyatt - Side note. Just a friendly advice, if you are going to be professional. You site and comments I read from you everywhere do not give me confidence about you knowledge about protection and cracking methods. – Ross 13 years ago
  • @Johannes The "[Code Protector](http://www.inishtech.com/Products-SLP-Online-aspx/Code-Protector.aspx)" part of SLPS _is_ obfuscation. I know SLPS as a whole is not _just_ obfuscation, but the obfuscation (i.e. "code protector") feature is what your first 2 comments were referring to. @Ross I think if you read what I wrote a certain way it comes off as mean. That's not what I was intending. I was going for readable & informative. I hate seeing customers being lied to. If you see anything that I've misstated I'll fix it. – Wyatt O'day 13 years ago
  • @Wyatt: I think we have digressed too far from the OPs question and have deleted my comments that are irrelevant to this thread. I'm still sharing Mikes concerns though and consider my comment above relevant. – Johannes Rudolph 13 years ago
  • @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 13 years ago


Check out Quick License Manager by Soraco Technologies. QLM is integrated with several ecommerce providers which gives you the benefit of switching to another ecommerce provider if you're not happy with their service.

answered Aug 24 '17 at 19:29
Sam Porter
1 point


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.

answered Jul 2 '11 at 14:32
101 points

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

License Payments