FinTS
Backend support is operation-specific. Use
gln_check_backend_operation_support to check whether a backend supports a
given operation before calling it.
Open a Backend
gln_fints_config_t config = {0};
gln_default_fints_config(&config);
config.endpoint = "https://bank.example/fints";
config.bank_code = "12030000";
config.user_id = "myuser";
config.product_id = "MYPRODUCTID";
gln_backend_t* backend = NULL;
gln_error_t error = {0};
gln_default_error(&error);
gln_status_t status = gln_open_fints_backend(
&config,
state_store,
continuation_store_or_null,
pin_secret,
&backend,
&error);
| Input | Meaning |
|---|---|
gln_fints_config_t | Bank endpoint, bank code, user identity, product id, optional diagnostics and timeout. |
gln_state_store_t* | Durable FinTS state such as bank and user parameter data. |
gln_continuation_store_t* | Optional durable storage for resumable interrupted operations. |
gln_secret_t* | PIN secret borrowed for the open call. |
Close the backend with gln_close_backend.
Supported Operations
| Family | Operations |
|---|---|
| Account data | list_accounts, list_balances, list_transactions |
| TAN | get_tan_modes, set_tan_mode, list_tan_media, resume |
| Payments | submit_transfer, submit_instant_transfer, submit_batch_transfer |
| Direct debits | submit_direct_debit, submit_direct_debit_batch |
| Standing orders | list_standing_orders, add_standing_order, modify_standing_order, delete_standing_order |
| Other FinTS surfaces | list_holdings, submit_prepaid_topup, info |
Use gln_check_backend_operation_support when code accepts an arbitrary backend handle.
Bank Information
gln_retrieve_bank_info returns gln_bank_info_t.
| Accessor | Meaning |
|---|---|
gln_get_bank_info_name | Bank display name. |
gln_get_bank_info_code | Bank code. |
gln_get_bank_info_bpd_version | Bank parameter data version. |
gln_get_bank_info_supported_hbci_versions_count, _at | Supported HBCI/FinTS versions. |
gln_get_bank_info_accounts_count, _at | Account rows included in the information result. |
Holdings
gln_retrieve_holdings uses gln_list_holdings_request_t and returns
gln_holdings_t.
| Accessor | Meaning |
|---|---|
gln_get_holdings_count, gln_get_holding_at | Enumerate holdings. |
gln_get_holding_name | Security display name. |
gln_get_holding_isin, gln_get_holding_wkn | Security identifiers. |
gln_get_holding_quantity, gln_get_holding_quantity_type | Position quantity. |
gln_get_holding_price, gln_get_holding_price_date, gln_get_holding_price_currency | Price details. |
gln_get_holding_market_value, gln_get_holding_market_value_currency | Market value. |
TAN and Continuations
FinTS operations can return an action-required envelope for TAN input,
decoupled approval, or VoP confirmation. Read
gln_get_backend_result_interrupt_info, take the continuation with
gln_take_backend_result_continuation, and resume with
gln_resume_continuation.
See TAN and resume for the exact interrupt and resume input shapes.
Result Status Detail
FinTS rejections can attach structured status rows to the borrowed
gln_error_t inside the result envelope. Use gln_get_error_detail,
gln_get_error_detail_status_count, gln_get_error_detail_status_code_at,
gln_get_error_detail_status_message, and the related status-parameter accessors
before destroying the envelope.