Der gesamte FinTS-Dialog (gesendete und empfangene Meldungen) wird je Durchlauf in bank_protokolle gespeichert, im Erfolgs- wie im Fehlerfall. Im Zahlungsverkehr öffnet der Status das Protokoll der Überweisung als modalen Dialog; unter Online-Banking › Protokoll gibt es das Gesamtprotokoll mit Filter nach Bank, Datum und Freitext. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
31 lines
1.6 KiB
SQL
31 lines
1.6 KiB
SQL
-- Übermittlungsprotokoll: jede Kommunikation mit einer Bank.
|
||
--
|
||
-- Zum Nachweis gegenüber der Bank, dass eine Überweisung fristgerecht und
|
||
-- korrekt übermittelt wurde, bleibt der gesamte Dialog stehen – die gesendeten
|
||
-- und die empfangenen Meldungen, im Erfolgs- wie im Fehlerfall. PIN und TAN
|
||
-- sind vor dem Speichern maskiert (siehe Services\BankProtokollLogger).
|
||
--
|
||
-- Ein Eintrag ist ein Durchlauf: Eine Überweisung mit TAN-Freigabe hat deshalb
|
||
-- mehrere. `auftrag_id` verbindet sie mit dem Zahlungsauftrag; die Verbindung
|
||
-- fällt weg, wenn der Auftrag gelöscht wird, das Protokoll selbst bleibt.
|
||
CREATE TABLE IF NOT EXISTS bank_protokolle (
|
||
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||
benutzer_id INT UNSIGNED NOT NULL,
|
||
zugang_id INT UNSIGNED NULL,
|
||
auftrag_id INT UNSIGNED NULL,
|
||
art ENUM('ueberweisung','abruf','verfahren') NOT NULL,
|
||
status ENUM('erfolg','fehler','offen') NOT NULL,
|
||
meldung TEXT NULL,
|
||
protokoll LONGTEXT NULL,
|
||
erstellt_am DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
PRIMARY KEY (id),
|
||
KEY idx_protokoll_auftrag (auftrag_id),
|
||
KEY idx_protokoll_zugang (zugang_id, erstellt_am),
|
||
KEY idx_protokoll_datum (benutzer_id, erstellt_am),
|
||
CONSTRAINT fk_protokoll_benutzer FOREIGN KEY (benutzer_id)
|
||
REFERENCES benutzer (id) ON DELETE CASCADE,
|
||
CONSTRAINT fk_protokoll_zugang FOREIGN KEY (zugang_id)
|
||
REFERENCES bank_zugaenge (id) ON DELETE SET NULL,
|
||
CONSTRAINT fk_protokoll_auftrag FOREIGN KEY (auftrag_id)
|
||
REFERENCES zahlungsauftraege (id) ON DELETE SET NULL
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|