开票和订阅的应用程序逻辑?
我们正处于为客户提供订阅的网络应用程序的规划阶段。订阅期有所不同,可以由我们的客户无限期延长,但始终至少一个月(30天)。
当客户注册时,客户信息(账单地址,电话号码等)存储在
customers
表中,并在subscriptions
表中创建订阅:
id | start_date | end_date | customer_id
--------------------------------------------------------
1 | 2010-12-31 | 2011-01-31 | 1
每个月我们都会循环通过subscriptions
表(最好是cronjob)并为过去的订阅期创建发票,这些发票存放在他们自己的表中 - invoices
。根据客户的不同,发票可以手动打印出来并通过邮件发送,或者只是通过电子邮件发送给客户。
由于我们的客户和产品的性质,我们需要提供各种不同的支付方式,包括电汇和卡支付,因此一些发票可能需要手动处理并由我们的员工注册。
每月15日,invoices
表循环通过,如果没有为实际发票标记付款,则相应的订阅将被删除。如果已注册付款,则subscriptions
表中的end_date
将再增加30天(或现在我们客户选择的时间段)。
我们是通过增加日期向前和向后来处理非付费客户和扩展订阅来看待头痛吗?随着客户扩展订阅,添加新订阅会更好吗?
没有找到相关结果
已邀请:
4 个回复
磐剩
。 通过这种方式,您可以跟踪用户的订阅并查看他们何时升级/降级,但您的结算代码保持简单 - 您永远不必担心重叠(因为订阅没有结束日期来处理) 。
刷遍派戳
导力疵谜
细屠截殴些