дизайн базы данных для платежной системы - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть четыре таблицы, как показано ниже:

СТОИМОСТЬ

fees_id, interest, amount, total_amount, status_id, is_recurring  recurring_status  from_date   to_date      payment_id
    F001     1.50  1000    1015          1          N             NULL              2018-11-01  2018-11-01   1
    F002     2.00  2000    1020          1          Y             COMPLETE          2018-11-01  2018-11-20   2

ОПЛАТА

id, amount,  payment_date, txn_id, bnk_name, txn_status, pay_mode, dd_no, dd_date,   chk_no, chk_date
1   1015     2018-11-11    TXN0001 SBI       1           1         NULL   NULL       NULL    NULL
2   1020     2018-11-20    NULL    NULL      NULL        3         DNO001 2018-11-19 NULL    NULL

PAY_MODES

id  name   display
------------------
1   ONLINE Y
2   CASH   Y
3   DRAFT  Y
4   CHECK  Y

PAYMENT_STATUS

id  status  display
-------------------
1   PAID    Y
2   UNPAID  Y

Плата может быть оплачена любым из четырех режимов оплаты.

Iесть несколько вопросов:

  • Можно ли (в этом сценарии) иметь одну таблицу платежей для всех режимов оплаты ИЛИ есть ли лучший вариант?
  • Комиссия может быть периодической (выплачиваемой)каждый месяц, пока его повторяющийся статус не будет завершен).Как я могу обработать эти платежи?
  • Нужно ли хранить каждый платежный ответ (в случае онлайн-платежа), будь то успех, неудача или что-то еще.Если да, я должен использовать отдельную таблицу или хранить в файле?

1 Ответ

0 голосов
/ 16 ноября 2018

Que: нормально (в этом сценарии) иметь одну таблицу платежей для всех режимов оплаты ИЛИ есть ли лучший вариант?

Да, все платежи должны быть в одной таблице платежей. Это помогает поддерживать ограничение целостности транзакции. Кроме того, это будет полезно для вас в будущем при создании различных отчетов

Очередь: плата может быть периодической (выплачивается каждый месяц, пока ее статус не будет завершен) Как я могу обработать эти платежи?

У вас должна быть другая таблица для ведения регулярных платежей записывать в виде таблицы подписки и при каждом повторяющемся платежном событии запись вставить новую запись в таблицу платежей. Итак, одна подписка запись будет связана с несколькими записями платежа.

Очередь: нужно ли хранить каждый ответ об оплате (в случае онлайн-платежа), будь то успех, сбой или что-то еще. Если да, я должен использовать отдельную таблицу или хранить в файле?

Да, вы должны хранить ответ об оплате в той же таблице платежей запись. Это поможет вам в обнаружении отработки отказа, а также основная помощь в журнале аудита.

...