2012-08-25 98 views
2

我正在用php制作我自己的电子商务网站。我想提供我过去的客户优惠券代码,而无需向可能像野火般蔓延的所有人发送通用的“10%OFF”。我希望每个代码都是唯一的,但映射到已知的折扣价值。电子商务优惠券代码:生成许多映射到一个折扣的独特优惠券?

是否有一个插件/框架/容易实现的功能,我可以使用,可以评估的飞行优惠券代码(串),而与所有可能的组合播种我的数据库?

回答

0

既然你是自己写的,这就是我的建议。

创建一个新的优惠券类型,在使用优惠券时,它会检查登录的用户订单历史记录,以确保他们之前已经下了订单。

在您的优惠券表,添加以下字段requireSignInrequirePastOrders。创建一个设置了这些字段的优惠券。当客户尝试应用该优惠券时,请进行必要的检查以确保他们已登录并且之前已下订单。如果这些测试失败,请显示适当的错误消

0

您可以通过某种方式来构造优惠券代码,从而可以在不检查数据库的情况下确定优惠券的类型(或者可以将这些优惠券存储在仅包含优惠券类型(请参见下文)的表格中, t需要存储每种可能的组合),然后在最后附加一个唯一的号码,用于检查优惠券是否曾用过。例如:

d8h7bb0778719945 - >d8h7bb是优惠券类型(同此类型的所有其他优惠券),并0778719945是唯一的编号(对于所有不同,而不管类型)。

检查优惠券类型是否对首先购买的物品有效。如果是,请对照您的优惠券数据库检查0778719945,看它是否已被索赔。

0

对于我工作的公司,我们创建了一个“优惠券代码”发生器,使我们能够产生数以百万计的自我验证码,而不在数据库中加载它们的费用。

的代码计算如下:

  1. 创建并存储的16个字符或更多的盐。

  2. 环路从0到码的数目的计数器 - 1.对于每个计数器:

    一个。产生计数器和盐的散列,说md5(counter + salt)

    湾生成优惠券代码作为计数器加的散列值

然后被接收优待券代码时,我们提取计数器,和散列计数器+的盐,并将其与在代码中发现的散列。如果它们相同,我们知道代码是有效的。

如果使用代码生成销售,我们会将其用于表中,以便它不能再次使用。

对于打印媒体,我们使用大写碱基-32值(2-9,A-H,J-N,P-Z)生成的优惠券代码。 对于电子邮件和URL,我们使用修改后的base-64值(请参阅urlsafe_b64encode()

不幸的是,我无法提供实际的代码,因为它在NDA下。祝你好运!

3

尝试Voucherify - 这是一个优惠券代码的API。利用他们web app,你将能够创造一个券活动,即产生数以千计的映射到相同的折扣唯一代码:

enter image description here

然后,你可以用它PHP SDK集成到您的电子商务网站。要兑换凭证:

$result = $voucherify->redeem("unique-voucher-code", "customer-id"); 

结果将包括$result->voucher->discount->percent_off指定的折扣,如果给定的代码是有效的。

完全披露,我是Voucherify的开发者。