目前的付款和激活步骤如下:
客户通过PayPal付款,然后我从paypal收到一封电子邮件,然后发送电子邮件请求他们的身份证,所以我可以发回许可证密钥。这不是很好的原因。
如果我是客户,我不会留下深刻的印象。
这个主题在这里被简单地解释和提到:
http://secretgeek.net/25steps_21tools.asp
不幸的是,我不知道有什么好的选择。我想能够以编程方式做所有这些。我有自己的域名,它托管在linux服务器上。如果需要,我可以使用服务器端代码。
我想要的是获取客户端许可证密钥的自动化过程。他们将不得不向前提供机器ID(无法在paypal中看到)或回复电子邮件。
在许多/某些情况下,软件不在具有互联网接入的机器上,所以通过软件付费是不好的。
我可以想到很多涉及到我网站上的代码的rube-goldberg的东西,一些涉及到数据库,所有这些都涉及到我的许可证密钥等。
支付服务是好的 – 我不想花时间在这个东西 – 我有很多做升级的产品。
现在是Win32 – 很快希望移动到Mono。
我更喜欢保持许可证制度 – 一个关键的机器。
有没有人有一个很好的干净的解决方案?
编辑:
这两个答案(只有两个这样的写作)是好的。我要做的是PayPal IPN的事情,并且IPN通知页面发送一个包含表单链接的电子邮件。它还将使用authcode进入数据库,稍后将进行检查。
客户去链接,从他们的特定机器输入详细信息,以及我从IPN / Paypal发送的验证码。我检查数据库以确保这是有效的,而不是重复的,然后如果成功显示许可证密钥,并将其发送给他们。
还没有实现,但它应该都是有效的。只需要砍掉一些PHP。
编辑
解决方法
购买后,使用PayPal IPN生成激活号码服务器端(我用PHP MysqL做这个),将其存储在数据库中,并将其发送给新客户。
客户收到激活码并将其输入您的产品。
产品验证激活代码,然后生成硬件/机器代码。然后它返回到您的服务器(我使用经过身份验证的HTTP POST请求返回到我的服务器),以验证激活号码是否仍然有效,并且机器代码是否正常。
服务器端可以检查机器代码是否未激活,然后再将机器代码与激活号码相关联,并告诉产品允许激活。
如果激活码已经准备就绪,您可以禁止激活。
您可以建立所有这些更多的功能。像大多数复制/许可证保护一样,它可以绕过,但它可以让您对您的合法客户进行适当的控制。