目标
提供基于订阅的服务,并有两个层次(标准和专业版)。用户可以订阅的东西(我们称之为albums
),他们可以创建多个,但他们创建的每个都需要另一个订阅。
- 度假相册,标准层
- 专辑,Standard Tier
- 毕业相册,Pro Tier
最后将使用(JSON结构以便于表示)
{
"id": "sub_...",
"items": {
"data": [
{
"price": {
"id": "price_...",
"product": "prod_..."
},
"quantity": 2
},
{
"price": {
"id": "price_...",
"product": "prod_..."
},
"quantity": 1
}
]
}
}
推理与此设置
- 每个用户一次试用避免试用滥用(使用试用版,创建新相册,将内容转移到活动试用版,取消过期相册)
- 同样,避免滥用优惠券代码
- 为用户提供一个订阅和发票,更易于管理
- 添加订阅不需要把钱包拿出来,结账过程更快,因为我们只是增加订阅项目的数量
**问题:**我需要识别他们订阅的album
,它在数据库中有一行,一个ID,希望能够引用和/或绑定到条带记录。
看起来最终会发生的事情是,如果用户订阅了3个东西到同一层,他们最终会得到1个订阅,1个订阅项目,数量3。
所以,如果他们取消一个...我只会减少包含他们选择的产品和价格的项目的数量。
这在实践中做了吗?当我通过代码管理这些项目的工作是..很坚韧因为没有ID来协调,它只是一个quantity
值,这让我觉得有一个更好的方法来做到这一点。
1条答案
按热度按时间eagi6jfj1#
这在实践中做了吗?
9/10次,它使用元数据键和值完成。
在您的情况下,这有点尴尬,因为项目是按数量捆绑的,所以您可能必须这样做:
当然,使用单独的项目会更简单-每个项目都有自己的元数据-但有两个问题:
看起来最好的选择可能是按层捆绑项目,在这种情况下,您必须构建一个逻辑,以便在增加/减少数量时从这些项目中添加/删除元数据。
我确实做了一些工作与变量单独的项目和元数据-这是我是如何做到的:
这就是我之前提到的--你可以创建变量项,这将允许你为每个“相册”构建自定义项,然而添加元数据将是一件单独的事情。
不过,如果您计划在订阅中包含20个以上的项目,则可能没有帮助。