bankTransfers module wraps Viva’s current bank transfer endpoints. Use it to link an IBAN, retrieve linked bank accounts, check available transfer options, create a fee command, and execute an outgoing transfer from a Viva wallet.
The current bank transfer methods use OAuth credentials internally. The
legacyBankAccounts module is still available for older Basic Auth endpoints.Link a bank account
CalllinkBankAccount(options) with the IBAN and optional labels.
bankAccountId; the transfer option, fee, and execution methods all receive it as their first argument.
Retrieve linked bank accounts
UseretrieveBankAccounts(query?) to list linked accounts. The query supports skip, maxResults, iban, isArchived, and bankAccountId.
retrieveBankAccountById(bankAccountId).
Update a bank account
CallupdateBankAccount(bankAccountId, options) to archive or rename a linked account.
Retrieve transfer options
UseretrieveBankTransferOptions(bankAccountId, query) before creating a transfer fee command. The query currently requires the transfer amount.
instructionTypes uses Viva’s numeric values: 1 for shared charges and 2 when you pay all transfer charges.
Create a bank transfer fee command
UsecreateBankTransferFeeCommand(bankAccountId, options) to calculate and lock the transfer fee for a given wallet, amount, instruction type, and instant-transfer preference.
bankCommandId to executeBankTransfer() when you want to execute the transfer with that quoted fee.
Execute a bank transfer
CallexecuteBankTransfer(bankAccountId, options) with the source wallet and transfer amount.
walletTransactionId; for non-Viva IBAN transfers it may include commandId.
Legacy bank accounts
Older integrations can uselegacyBankAccounts, which targets Viva’s Basic Auth bank account endpoints. Use it only when maintaining a legacy flow.
bankTransfers module when migrating code.