2012-08-07 111 views
2

我有一個web服務,我正在設計哪些付款用戶來完成某些任務。例如,如果用戶點擊一個鏈接,他們就會向他們的帳戶支付0.10美元。用戶可以每天執行20次這些任務中的任何一個。爲了讓用戶請求資金支付給他們,他們必須有5美元的賬戶餘額。借記卡/信用卡/付款服務的數據庫設計

我試圖決定跟蹤交易和帳戶的最佳方式。我的設計目前看起來如下:

Accounts 
--------- 
| account_id | member_id | balance | 
------------------------------------- 
| 1   | 1   | 497.8500 | -- System Account 
| 2   | 5   | 2.1500 | 

Transactions 
------------ 
| transaction_id | account_id | type_id | task_id | date | amount | 
------------------------------------------------------------------- 
| 1    | 1   | Debit | 1  | date | -1.10 | 
| 2    | 2   | Credit | 1  | date | 1.10 | 
| 3    | 1   | Debit | 1  | date | -1.05 | 
| 4    | 2   | Credit | 1  | date | 1.05 | 

此設計基於雙重入賬的會計主管。現在我的困境是:從技術上講,用戶在獲得「支付」之前不會支付這筆錢。 「付款」包括用戶提交請求,請求被批准,錢從賬戶餘額中扣除並通過PayPal發送給他們。所以我的問題是,如果用戶尚未請求支付,實際從系統餘額中扣除金額是否是一個好主意?他們賬戶中的資金可用於資助網站上的其他內容,並在30天不活動之後過期。

我的想法是,以保持事務表,因爲它是設計和另一個表稱爲支出結構如下

Payouts 
------- 
| payout_id | account_id | date | amount | 
------------------------------------------ 
| 1   | 2   | date | $2.00 | 

但後來我怎麼反映交易表中的支出?它似乎不完整。

我是否應該將交易表中的任務分開,並且只有在用戶請求支付時才輸入交易記錄?我不確定是否因爲這樣做而失去審計能力。

有沒有人有一些見解?

回答

0

跟蹤支付的業務要求是什麼?

您的企業是否需要將支付作爲單獨事件(雙重輸入)與日期,金額等進行比較,或者他們是否需要知道支付是否被要求。

如果其中任何一種情況屬實,或者很有可能,考慮到其他公司的做法(想想合併),附加支付表就像跟蹤支付一樣好。

您是否也提供了一些關於重複輸入要求的細節。我會盡量保持業務規則儘可能明確地捕捉到您的設計中。

希望這會有所幫助。我們可以保持對話框中的意見去,

0

我有限的簿記技能,所以雖然我希望我可以幫助,我覺得我不是完全有資格給你一個答案..

因此,儘管我認爲你相當接近純粹的會計模式,我認爲支出也應該是這種情況下的交易。

如果用戶需要將現金添加到其賬戶時進行概覽,則此列表還應包含支出。如果用戶收到5美元1美元和1美元支出,則其賬戶餘額應該爲0。

因此,既然您正確地進行了兩次交易,這意味着實際付款會從其帳戶中扣除$ 5,但這也需要去某個地方。所以我覺得一旦付款,應該有一個單獨的賬戶「付費」。

但是..在我的程序員奇蹟..你真的想在這種情況下在你的數據庫的雙重簿記。實際進行付款時,您可以在不使用系統帳戶的情況下推導出所有數字。

所以你實際上並沒有遺漏任何真實的信息。如果確實是現金總是來自一個系統帳戶,並且他們的資產負債用戶不能轉移到不同的帳戶..

0

只需使用另一個賬戶/總帳/資產負債表代碼

So on getting the 10c 
Your account is - 10c 
Their payout account is + 10c 
When the balance on their payout account > $5, then can request one. 
When they do debit the amount from payout account, credit it to Payoutpending account 
When it confirmed debit payout pending and credit payed out. 
If it's rejected debit payout pending and credit payout account 

哦,你真的需要考慮存儲餘額,而不是計算和報告它,你會得到正確的做法。

相關問題