我们只是在为我们的客户提供订阅的网络应用程序的规划阶段。订阅期各不相同,我们的客户可以无限期延长,但始终至少为一个月(30 天)。
当客户注册时,客户信息(帐单地址、电话号码等)存储在一个customers
表中,并在该表中创建订阅subscriptions
:
id | start_date | end_date | customer_id
--------------------------------------------------------
1 | 2010-12-31 | 2011-01-31 | 1
每个月我们都会遍历subscriptions
表(最好是 cronjob)并为过去的订阅期创建发票,这些发票存放在他们自己的表中 - invoices
. 根据客户的不同,发票是手动打印出来并通过邮件发送的,或者只是通过电子邮件发送给客户。
由于我们客户和产品的性质,我们需要提供多种不同的付款方式,包括电汇和卡付款,因此某些发票可能需要由我们的员工手动处理并登记为已付款。
每月15号,invoices
循环表格,如果实际发票没有标注付款,则相应的订阅将被删除。如果已注册付款,end_date
则subscriptions
表中的 30 天会再增加 30 天(或者现在我们的客户选择的时间段)。
我们是否正在通过向前和向后增加日期来处理非付费客户和扩展订阅来解决问题?随着客户扩展订阅,添加新订阅会更好吗?