每次付款如何生成一个许可证?

时间:2019-05-28 01:08:26

标签: php

我已经从LimeLM服务器下载了一些示例代码,这些示例代码为我的产品创建了许可证密钥。我想使用Chargebee从我的客户那里付款。

Chargebee重定向到成功URL,我打算将示例代码用作成功URL目标。但是,示例代码每次使用时都会生成一个许可证密钥,因此从理论上讲,即使不通过Chargebee进行付款,有人也可以不断刷新页面并获得数百个许可证密钥。

我考虑过使用引荐来源网址检测,但是我知道这可能是被欺骗的?

那么,如何阻止某人多次运行我的PHP脚本?

1 个答案:

答案 0 :(得分:0)

不要在成功页面上生成许可证,而是使用Webhook来处理其events之一。

Chargebee将具有事件id属性的对象和对象发布到Web挂钩,您应该将其持久存储,例如存储在数据库中。生成新许可证之前,请先检查是否已为该ID生成许可证。

还建议在同一页面上保护Web钩子,并通过将其返回给Chargebee来再次检查事件是否存在。