
Ask HN: Service to handle demo-to-paid upgrades in a desktop app? - s3cur3
My team&#x27;s B2C desktop application currently has an embarassingly long purchasing funnel. To go from the demo to a paid version requires that the user go to our web site, buy the product, check their email for a product key, then input that key into the app. We&#x27;d like to shorten that to just inputting your credit card info in-app, and having the app take care of the whole product key song-and-dance automatically.<p>Our requirements are pretty simple: we need to be able to charge the card, receive a product key (from a list of pregenerated keys) back in the app, and also fire off an email to the user with their product key for future reference.<p>Our best (bad) idea for how to do this is: Integrate with Stripe. When a purchase succeeds, have Stripe call a webhook on our server with Stripe&#x27;s success token. Our server would then send the email and await contact from the client. By providing the Stripe success token, the client could ask our server to get their new key.<p>(There are obviously a lot of moving parts to this, and writing the server code, plus maintaining the live server is more work than we&#x27;d like to do if we have a choice.)<p>This seems like such a simple thing that a product <i>must</i> exist to solve it... I just can&#x27;t for the life of me find a service that already does it.<p>Any ideas?
======
ezekg
I've been working on bootstrapping Keygen[0]. You could set up Stripe and
Keygen to communicate with each other using webhooks[1], so when a customer
buys the product, you create a license for them either from a per-determined
pool of keys or generated on-demand. You could also manage users within
Keygen, which would allow them to log into and use your app without inputting
license keys (all licenses would be managed behind the scenes in that case,
which offers a better UX).

[0]: [https://keygen.sh](https://keygen.sh) [1]:
[https://keygen.sh/docs/api#webhooks](https://keygen.sh/docs/api#webhooks)

------
WorldMaker
Have you considered the Windows Store? (Steam might also be an option
depending on your audience, though it has picked up a larger number of non-
game applications.)

Yes, the Windows Store might not cover 100% of your audience if you are still
covering Windows 7 users or Linux users, but making it an option might provide
a very clear and simple purchasing funnel for Windows 10 users that do use the
store. (Plus Mac Store for macOS users.)

The Windows Store provides a lot of APIs to control and manage a purchasing
funnel, and does a lot of the service things you would like someone to do for
you.

If your desktop app isn't yet a UWP app you can use the Desktop Bridge to
build an app package for the Store of your desktop app.

~~~
s3cur3
We do have a Steam version, but for a lot of our (non-gamer) audience, Steam
is an extra (and confusing) step in the funnel.

It hadn't occurred to me that the platform-specific app stores are the way
people have been solving this problem (and thereby doing away entirely with
product keys). It's something we've looked into, but as we're 3 platform
(Mac/Windows/Linux), we've never taken the plunge.

My biggest concern would be installation size. Right now, our minimum install
is about 8 GB, but if you install all the optional content, it goes up to
about 60 GB. I'm not sure the app stores (aside from Steam) have a model to
support that.

~~~
WorldMaker
It does get complicated dealing with all the platform-specific stores for a
cross-platform app (about to experience a lot of that pain soon enough for
some of my work), but it does seem to be the most convenient way to get out of
needing to manage product keys and DRM and yet still being where users expect
to buy your application.

For what is worth, I've installed several very large applications from the
Windows Store (Xbox Play Anywhere titles, one of which is > 80 GBs) with no
problem [1] and they seem as well optimized for that as Steam. (Which may not
be a surprise given it's largely the same backend now for both Xbox and
Windows.)

The Windows Store also has DLC/in-app purchases support for things like
optional content, very similar to Steam, and could potentially help you manage
that as well.

[1] I did need to know how to switch default application installs to a
different disk, but that's a problem Steam users face too, and the solutions
are very similar.

