Bank transfer API

Information about our Bank transfer API.

Overview

Our Bank transfer API is powerful and efficient. You have the ability to link a bank account and validate the IBAN at the same time, and you have the ability to be informed of transfer options and associated fees.

In order to create a bank transfer to an IBAN, first you need to link the bank account where funds will be transferred to. The “linked bank account” entity consists of an IBAN, the name of the beneficiary and a friendly name

API calls

  1. Link bank account
  2. Retrieve bank transfer options
  3. Create bank transfer fee command
  4. Execute bank transfer

Our API for performing bank transfers consists of the below calls.

API call “Link bank account” is mandatory, as you first need to link a bank account to execute a bank transfer.

API call “Retrieve bank transfer options” is mandatory only if you need to be informed of the available transfer options (instant or not, shared or ours). Kindly note that this API call will fail if referring to a linked IBAN that is in fact an IBAN within Viva Wallet (meaning that it is essentially a wallet).

API call “Create bank transfer fee command” is mandatory only if you want to specify the transfer options or be informed of the fee associated with the bank transfer. Kindly note that this API call will fail if referring to a linked IBAN that is in fact an IBAN within Viva Wallet (meaning that it is essentially a wallet).

Use this API Call to link a bank account. There is no need to use a separate API to confirm the IBAN is valid, as this API will also validate the IBAN account.

The IBAN should belong to a bank account set up in the same currency as your Viva Wallet merchant account.

In this response it will be confirmed if the linked IBAN is a Viva Wallet account or not via the ‘isVivaIban’ parameter. Find out more about the Link bank account API call and its parameters.

2. Retrieve bank transfer options

Use this API Call to:

Note that this API call will fail if referring to a linked IBAN that is in fact an IBAN within Viva Wallet (meaning that it is essentially a wallet).

Find out more about the Retrieve bank transfer options API call and its parameters.

3. Create bank transfer fee command

Before you can use this API call you need to “allow transfers between accounts” in the Viva Wallet banking app:

  1. Sign in to Viva Wallet and select the required account.

  2. Go to Settings > API Access.

  3. Select the Allow transfers between accounts checkbox as shown below:

    Allow Transfers
    The new setting is saved automatically.


    ✔️ You need only do this for the source wallet.


Use this API Call to specify the transfer options and/or be informed of the fee associated with the bank transfer.

Note that this API call will fail if referring to a linked IBAN that is in fact an IBAN within Viva Wallet (meaning that it is essentially a wallet). This can be confirmed by checking the ‘isVivaIban’ parameter’s value.

Find out more about the Create bank transfer fee command API call and its parameters.

4. Execute bank transfer

Use this API Call to execute a bank transfer.

If the transfer options are not specified (i.e. ‘bankCommandId’ is not provided), then the transfer will be performed as ‘isInstant’=false and ‘instructionType’=shared.

Upon successful execution of the bank transfer:

If the linked bank account is in fact an IBAN within Viva Wallet (meaning that it is essentially a wallet) then, a wallet transfer will be created instead, transferring funds instantly to the receiver’s wallet. In that case, ‘commandId’ will be null and a ‘walletTransactionId’ will be provided instead.

The bank transfer will fail for any of the below indicative reasons:

  • Τhe parameter ‘walletId’ is missing or is not valid
  • The ‘bankAccountId’ parameter is missing or is not valid
  • The currency of the ‘bankAccountId’ and the currency of the ‘walletId’ are different
  • The ‘amount’ parameter is not greater than zero (0)
  • Insufficient funds in ‘walletId’. There should be at least as much money available in ‘walletId’ as the proposed transfer amount

Find out more about the Execute bank transfer API call and its parameters.

Get Support

If you would like to integrate with Viva Wallet, or if you have any queries about our products and solutions, please see our Get Support page to see how we can help!