2012-08-25 167 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的開發者。