Accounts
Given a user’s online banking credentials, the Accounts Service retrieves information about the associated accounts.
Issue a service ticket 
Use Accounts
as a service identifier when issuing tickets.
The service does not accept any ticket data.
Issue a service ticket:
-
Python
-
Java
-
Rust
-
PHP
ticket_id = str(uuid.uuid4())
ticket = issue_ticket(ticket_id, "Accounts", None)
String ticketId = UUID.randomUUID().toString();
String ticket = issueTicket(ticketId, "Accounts", null);
let ticket_id = Uuid::new_v4().to_string();
let ticket = issue_ticket(&ticket_id, "Accounts", ())?;
$ticketId = uniqid();
$ticket = issueTicket($ticketId, 'Accounts', null);
Call the service 
The client accepts the following arguments:
-
The fields to return for each account. In strongly typed clients, all other fields will be empty.
-
An optional filter to receive only selected account.
Refer to your client library for details and documentation.
Call the service:
-
JavaScript
-
Kotlin
-
Rust
await client.accounts({
credentials,
ticket: accountsTicket,
fields: [
AccountField.Iban,
AccountField.Bic,
AccountField.Name,
AccountField.DisplayName,
AccountField.OwnerName,
AccountField.Currency
], (1)
filter: {
all: [
{ notEq: [AccountField.Iban, null] },
{
any: [
{ eq: [AccountField.Type, AccountType.Current] },
{ eq: [AccountField.Type, null] }
]
}, (2)
{ supports: SupportedService.CollectPayment } (3)
]
}
})
1 | Request some account properties, e.g. to present them for account selection. |
2 | Consider accounts associated with an IBAN if they are current accounts or accounts of unknown type. |
3 | The Collect Payment Service needs to support the accounts. |
client.accounts(
credentials,
ticket = accountsTicket,
fields = listOf(
AccountField.IBAN,
AccountField.BIC,
AccountField.NAME,
AccountField.DISPLAY_NAME,
AccountField.OWNER_NAME,
AccountField.CURRENCY,
), (1)
filter = AccountField.Iban.notEq(null)
.and(AccountField.Type.eq(AccountType.CURRENT)
.or(AccountField.Type.eq(null))) (2)
.and(Account.supports(SupportedService.COLLECT_PAYMENT)), (3)
)
1 | Request some account properties, e.g. to present them for account selection. |
2 | Consider accounts associated with an IBAN if they are current accounts or accounts of unknown type. |
3 | The Collect Payment Service needs to support the accounts. |
client.accounts(
credentials,
None,
accounts_ticket,
[
AccountField::Iban,
AccountField::Bic,
AccountField::Name,
AccountField::DisplayName,
AccountField::OwnerName,
AccountField::Currency,
], (1)
Some(
AccountField::IBAN.not_eq(None)
.and(
AccountField::TYPE.eq(Some(AccountType::Current))
.or(AccountField::TYPE.eq(None))
) (2)
.and(
Account::supports(SupportedService::CollectPayment)
), (3)
),
).await?;
1 | Request some account properties, e.g. to present them for account selection. |
2 | Consider accounts associated with an IBAN if they are current accounts or accounts of unknown type. |
3 | The Collect Payment Service needs to support the accounts. |
Result

Process the resulting account properties in the frontend or forward them to your backend system that can verify their authenticity.
Designing account selection dialogs
|
The resulting JWT contains the following data: