【问题标题】:Implementing gift card实施礼品卡
【发布时间】:2012-12-29 17:12:47
【问题描述】:

我遇到了在使用 paypal 的电子商务网站中实施礼品卡的问题。 我会尽量说清楚。

一旦用户验证了他的购物车,他可以输入一个代码作为礼品卡以获得折扣。礼品卡(和代码)只能使用一次,并且与用户无关。

所以当用户输入代码时,我检查它是否存在,如果它已经被使用,获得折扣等等......

在paypal的postsale(一旦付款被接受),我将礼品卡设置为已使用。

现在,如何防止礼品卡被使用两次(或更多)。因为当用户输入代码并转到贝宝时,另一个用户可以使用同一张礼品卡,而第一个用户没有确认付款(也没有处理售后)。

我想给礼品卡一个状态,例如在重定向到贝宝之前“使用中”,但如果用户在没有确认购买的情况下离开贝宝,礼品卡将始终处于使用中,然后我将无法检查它再次......

我希望我已被理解并感谢您的帮助:)

【问题讨论】:

    标签: asp.net sql paypal


    【解决方案1】:

    好吧,您可以在他们输入代码时检查该代码是否已被使用,然后在交易完成时再次检查。第二次检查必须小心执行,使用单个锁定数据库事务检查代码是否已被使用,然后将其标记为已使用。

    如果在交易完成之前该代码已被其他人使用,则交易将不得不因错误而失败。但是,这大概是非常罕见的情况。

    除此之外,我想知道您是否应该重新考虑您的设计。没有链接到用户的一次性代码似乎很不寻常——通常这个链接到特定用户,这样会更容易处理。你的用例是什么?

    【讨论】:

    • 该代码用作礼品卡。任何人都可以购买礼品卡,他会收到一个代码,并且该代码可以被任何用户使用......所以我无法检查谁在使用它
    • 您能否将礼品卡连同用户 IP 地址一起设置为“正在使用”。当用户完成签入时,将其标记为“已使用”。如果用户未完成结帐,则将礼品卡状态保留为“正在使用”一段时间,例如 5 分钟。之后任何 IP 地址都可以再次使用礼品卡。
    • @blop,在大多数纯电子礼品卡系统中,礼品卡会发送收件人的电子邮件地址,并且只能由与该电子邮件地址关联的帐户使用。我会担心任何人都可以使用的礼品卡的安全性。
    • @dan1111 我会考虑一下,看看如何将其链接到电子邮件。
    • 查看在英国超市可以买到的 iTunes 礼品卡:“要兑换 iTunes 礼品卡:礼品卡接收者必须... 打开 iTunes 并单击 iTunes Store。在快速链接选项卡。在请求时输入打印在您礼品卡上的代码开始下载并享受,因此您可能需要先将礼品卡与用户帐户关联起来,这样您就知道谁在使用它。
    猜你喜欢
    • 2022-10-07
    • 1970-01-01
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多