首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为python flask生成优惠券

为python flask生成优惠券
EN

Stack Overflow用户
提问于 2018-08-21 14:59:03
回答 1查看 512关注 0票数 0

我正在尝试为我的flask应用程序生成代金券。

我需要优惠券,这是不容易使,可以用适当的关键阅读和独特的通过时间。

我已经尝试了hashids,如下所示:

代码语言:javascript
复制
from hashids import Hashids
hash_id = Hashids(salt='Super salt', min_length=8)

hash_id.encrypt(30)
# 'voRDznrz'

问题是生成的密钥总是相同的。

我还尝试了一个更聪明的解决方案:

代码语言:javascript
复制
import itsdangerous
signer = itsdangerous.URLSafeTimedSerializer("Super salt")

coupon = signer.dumps("30 days free!")

signer.load(coupon, max_age=3600*24*30)
# IjMwIGRheXMgZnJlZSEi.Dl1JAQ.u_ilEm7nQ_8XIQt3nbwe31hyyRc

解决方案要好得多,但我需要存储已经使用的优惠券,以禁止任何重复使用。此外,优惠券是相当丑陋和难以键入为我们的用户。

解决方案:

好的,我是用条纹付款的,答案就在他们的文档里。在python中使用条纹,你可以这样创建优惠券:

代码语言:javascript
复制
stripe.api_key = "Your secret api key"

coupon = stripe.Coupon.create(
duration='repeating',
duration_in_month=2,
percent_off=100,)

这意味着优惠券将给予任何订阅2个月的免费,但我不知道如何选择一个具体的产品,可以适用的优惠券。

使用创建的优惠券对象,您只需获取他的id,这是您的优惠券代码。要将其绑定到订阅(并应用它),请执行以下操作:

代码语言:javascript
复制
subscription = stripe.Subscription.retrieve("Subscription ID")
subscription.coupon = coupon.id
subscription.save()
EN

回答 1

Stack Overflow用户

发布于 2018-08-24 11:02:26

普通优惠券不是散列键,只是像30FREE这样的一些文本,并存储在一个表中,其中有一列表明优惠券是否已被使用(如果优惠券在表中,则优惠券存在)。

如果您现在不使用ORM,我建议您使用带有Flask-SLQAlchemy,的SQLAlchemy非常容易安装和启动。

注意:您可以将优惠券分配给在优惠券表和用户表之间建立关系的一部分用户,然后实现只有该组内的用户才能兑换优惠券或类似的逻辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51943228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档