因此,我的任务是为我们现有的应用程序之一重新设计数据库(以规范和重组一些更庞大的表),我正在努力想出一个可靠的设计来处理对我们服务的付款。
背景信息
我们的服务提供各种计划(个人、家庭、企业等),所有计划都带有每月和每年订阅选项。
我们使用 Stripe 作为个人和小型企业用户的支付网关,但也为我们的大客户提供通过发票付款的选项。我觉得这是很多复杂性所在,试图将两者结合起来。
对于每个订阅,我们都会生成一个许可证密钥,提供给附加到特定帐户(为他们购买了订阅)的每个用户。因此,对于每个订阅,我都会为其附加一个许可证密钥。
最终目标
理想情况下,我希望能够跟踪来自两个付款渠道(条纹和手动发票)的所有付款和订阅,并管理经常性付款(续订、取消过期订阅、更改订阅计划、试用、折扣等)。
到目前为止我所拥有的
我的设计肯定有很长的路要走,因为它太复杂了(可能比它需要的还要多)。
但是这一切背后的想法是跟踪所有付款(包括条纹和发票),然后将这些付款与订阅(和许可证)联系起来。
任何帮助将不胜感激!:)
database payment database-design subscription stripe-payments
我希望能够从两个SELECT查询中获取我在SUM()中生成的两个值,并减去这些值以获得结果(OutstandingFunds).
这些是我的两个SELECT查询:
声明(1):
SELECT SUM(Cf.Amount) AS ClearedFunds
FROM (
SELECT Amount FROM PAYMENT1 WHERE `Status` = "Cleared"
UNION ALL
SELECT Amount FROM PAYMENT2 WHERE `Status` = "Cleared"
UNION ALL
SELECT Amount FROM PAYMENT3 WHERE `Status` = "Cleared") AS Cf;
Run Code Online (Sandbox Code Playgroud)
声明(2):
SELECT SUM(Price) AS TotalSales
FROM PROPERTY
WHERE Status = “Sold”;
Run Code Online (Sandbox Code Playgroud)
感谢您的时间
我有两个SELECT语句,它们给出值"TotalSales"和"VendorPay_Com".我希望能够在一个MySQL语句中从TotalSales中减去VendorPay_Com以获得值"Outstanding_Funds",但我还没有找到可行的方法.
这是我的两个陈述:
查询1:
SELECT SUM(Price) AS TotalSales
FROM PROPERTY
WHERE Status = 'Sold';
Run Code Online (Sandbox Code Playgroud)
查询2:
SELECT SUM(AC.Amount) AS VendorPay_Comm
FROM (
SELECT Amount FROM lawyer_pays_vendor
UNION ALL
SELECT CommissionEarned AS `Amount` FROM COMMISSION AS C WHERE C.`status` = 'Paid') AS AC
Run Code Online (Sandbox Code Playgroud)
任何有关此事的帮助将不胜感激:)