pub struct Dkb { /* private fields */ }Expand description
DKB (Deutsche Kreditbank) FinTS workflow.
DKB message flow per spec + empirical discovery:
Sync dialog:
Msg 1: HKIDN + HKVVB + HKSYN → BPD, system_id
Msg 2: HKEND
Business dialog:
Msg 1: HKIDN + HKVVB + HKTAN:4(ref=HKIDN) → InitResult
→ TanRequired: push sent (3955)
→ Opened: SCA exemption (3076)
Msg 2: HKTAN:S(task_ref) → PollResult
→ Confirmed: 0020
→ Pending: 3955/3956
Msg 3: HKSAL [+ HKTAN:4(ref=HKSAL)] → SendResult
→ Success: balance data (HISAL)
→ NeedTan: additional TAN for balance
Msg 4: HKKAZ [+ HKTAN:4(ref=HKKAZ)] → SendResult
→ Success: transaction data (HIKAZ)
→ Touchdown: more data, fetch again
Msg 5: HKENDImplementations§
Trait Implementations§
Source§impl BankOps for Dkb
impl BankOps for Dkb
fn config(&self) -> &BankConfig
Source§async fn initiate(
&self,
username: &UserId,
pin: &Pin,
product_id: &ProductId,
system_id: Option<&SystemId>,
_target_iban: Option<&Iban>,
_target_bic: Option<&Bic>,
) -> Result<InitiateOutcome>
async fn initiate( &self, username: &UserId, pin: &Pin, product_id: &ProductId, system_id: Option<&SystemId>, _target_iban: Option<&Iban>, _target_bic: Option<&Bic>, ) -> Result<InitiateOutcome>
Phase 1: sync + init, return TAN challenge or authenticated dialog.
Source§async fn fetch(
&self,
dialog: &mut Dialog<Open>,
account: &Account,
days: u32,
) -> Result<FetchResult>
async fn fetch( &self, dialog: &mut Dialog<Open>, account: &Account, days: u32, ) -> Result<FetchResult>
Phase 2: fetch balance + transactions from an open dialog.
Takes
&Account — IBAN and BIC are guaranteed present.Source§async fn fetch_holdings(
&self,
dialog: &mut Dialog<Open>,
account: &Account,
) -> Result<Vec<SecurityHolding>>
async fn fetch_holdings( &self, dialog: &mut Dialog<Open>, account: &Account, ) -> Result<Vec<SecurityHolding>>
Fetch securities holdings from an open dialog.
Takes
&Account — IBAN and BIC are guaranteed present.
Returns an empty Vec if the bank does not support depot queries.Auto Trait Implementations§
impl Freeze for Dkb
impl RefUnwindSafe for Dkb
impl Send for Dkb
impl Sync for Dkb
impl Unpin for Dkb
impl UnsafeUnpin for Dkb
impl UnwindSafe for Dkb
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more