Command Bank Transfer Executed

Notification that a bank transfer to an external IBAN has been executed.

Overview

This webhook will be sent when a bank transfer to an external IBAN has been executed. When the transfer is initially created, the Command Bank Transfer Created webhook will have been sent.

  • In case of instant bank account transfer, money will have been transferred immediately from your wallet (which is linked with your IBAN) to the external IBAN

  • In case of non instant bank account transfer, money will have been transferred from your wallet (which is linked with your IBAN) but not necessarily received yet by the external IBAN

Webhook configuration

To enable within the Viva banking app:

  1. Log in to Viva, demo or live , and select the required account.

  2. Visit Settings > API Access > Webhooks.

  3. Click on the Create Webhook link.
    The New Webhook dialog box is displayed.

  4. Enter your webhook URL in the URL field.

  5. Click on the Verify link.
    If verified successfully, a confirmation message is displayed.

  6. Choose Command Bank Transfer Executed from the Event Type dropdown:

    Bank Transfer Executed webhook

  7. Select the Active checkbox to activate notifications.

  8. Click on the Save button.

Response example

You may find below the sample response with EventTypeId 769.

{
  "Url": "Your webhook url",
  "EventData": {
    "Fee": 0,
    "Iban": "LU280019400644750000",
    "PersonId": "11ac9cd4-c9ea-48d3-b414-1f10ce664aad",
    "WalletId": 2263446434318,
    "Amount": 12.2, // Amount in EUR, GBP, ZLOTY, ETC.
    "CommandId": "19a2d8f2-45d8-43ab-9dbb-58dc8c2746e6",
    "IsInstant": false,
    "WalletName": "Primary",
    "Description": "test-reference",
    "DisplayName": "Luxembourg Services",
    "CountryCode": "LU",
    "CurrencyCode": "978",
    "BankCommandId": "255a27d0-6959-43a6-ab2e-46e7fca0eaeb",
    "PersonLastName": "George",
    "PersonFirstName": "Sandrine",
    "BankAccountName": "jdoe",
    "BeneficiaryName": "john doe",
    "PersonRoles": [
      "AllowAnonPrepaidAndOutsideEEA",
      "AllowDcc",
      "AllowBillPayment",
      "ViewBalance",
      "AllowOriginalCredit",
      "AllowCardTokenization",
      "AllowSendMoney",
      "ManageAccount",
      "AllowPartialApproval",
      "AllowLiquidation",
      "AllowPayment",
      "Merchant",
      "AllowCnPLoyaltyAlphaBankBonus",
      "AllowChatWithUs",
      "AllowPayOut",
      "ApiAllowBalanceTransfer",
      "AllowSurcharge",
      "AllowVirtualPos",
      "AllowVirtualCards",
      "AllowCnPLoyaltyEurobankEpistrofi",
      "AllowCnPLoyaltyNbgGo4More",
      "AllowMulticurrency",
      "AllowSignatureCvm",
      "AllowOpi",
      "AllowBankTransfers",
      "AllowRefund"
    ],
    "WalletTransactionId": "3e0cfd83-4171-4379-b11d-95c62881315f",
    "BankAccountBankName": "Banque et Caisse d'Epargne de l'Etat, Luxembourg",
    "BankAccountSwiftCode": "BCEELULL",
    "IsDescriptionStructured": false,
    "WalletTypeId": 0,
    "CommandTypeId": 4,
    "AccountSubTypeId": 0
  },
  },
  "Created": "2022-05-26T00:12:25.3198847Z",
  "CorrelationId": "22-146-128CD2FC",
  "EventTypeId": 769,
  "Delay": null,
  "MessageId": "a25cea3e-80fa-4a84-bb67-8049ee5af3f6",
  "RecipientId": "11ac9cd4-c9ea-48d3-b414-1f10ce664aad",
  "MessageTypeId": 512
}

Webhook body

In case of a successful bank account transfer, you will receive Command Bank Transfer Executed webhook and Account Transaction Created with StatusId = F. You can identify the bank account type (instant/not instant) through the parameter IsInstant (true/false) of Command Bank Transfer Executed webhook.

In case of non-successful bank account transfer, you will receive the Command Bank Transfer Executed webhook and Account Transaction Created with SubTypeId = 30. You can match the WalletTransactionId of the Command Bank Transfer Executed webhook with the ParentId of the Account Transaction Created webhook. If the non-successful outgoing bank account transfer is an instant transfer, then you will get Account Transaction Created webhooks for ‘transfer amount reversal’ and ‘transfer fee reversal’. For NOT instant and non-successful outgoing bank account transfers, you will get Account Transaction Created webhook for only ‘transfer amount reversal’

You can find below the body parameters of this webhook.

Parameter Description Example
Fee The transaction fee 0.8
Iban The Iban the wallet owner sent a bank transfer to GR0202601240000380200549056
PersonId The Id of the person/merchant that initiated the action, or who billing created an obligation for 7400c107-8435-42b4-a0f9-5c80f2836b5d
WalletId The wallet from which the transaction took place 324014327911
Amount The signed amount of the transaction. Represents the total funds paid by the customer and includes TotalFee 12.2
CommandId The internal Id of the command 63d599be-8684-4061-b443-a208c189a562
IsInstant If the bank transfer is instant false
WalletName Friendly name of the wallet Primary
Description Short description that is related to the wallet transaction OUTGOING BANK TRANSFER
DisplayName The Full name in case of a personal wallet, or the Company Legal Name in the case of a merchant wallet. If the legal name doesn’t exist (not applicable) we use the Trade Name Screwdrivers Inc
CountryCode Merchant's country code GR
CurrencyCode The currency of the transaction in ISO 4217 numeric format (e.g. “978” for Euro) 978
BankCommandId Internal unique identification of the bank command created – could be used for debug purposes 2fd4289e-2ddb-49de-8e32-cbe61c871a5a
PersonLastName The last name of the wallet's owner null
PersonFirstName The first name of the wallet's owner null
BankAccountName The friendly/beneficiary name of the bank account - (e.g. when you send a bank transfer via your mobile VW banking app to your Alpha Bank account you can use a friendly name such as My Own Alpha Bank Account – that is the BankAccountName) null
BeneficiaryName The beneficiary's name Screwdrivers
PersonRoles The roles the owner of the wallet has in Viva (e.g. AllowLiquidation etc) ["ViewBalance", "ManageAccount", "AllowLiquidation", "AllowPayment", "Merchant", "AllowVirtualCards", "AllowBankTransfers", "AllowRefund"]
WalletTransactionId The Id of the wallet transaction that was created as a result of this transaction f689c102-c4a9-4894-8d0e-93af63137e0f
BankAccountBankName The name of the transfer receipient's bank AFX Bank
BankAccountSwiftCode The IBAN's swift code of the targeted bank ETHNGRAA
IsDescriptionStructured Specified if the outgoing bank transfer description includes a specific structure (as in Finland) or no false
WalletTypeId The type id of the wallet.

You may find below the possible values:
  • 0 = Full Viva account
  • 1 = Child user's Card
  • 10 = Profile Account
  • 0
    CommandTypeId The Type Id of the command

  • 0 = Invalid Command
  • 4 = Bank Transfer
  • 5 = IRIS Bank Transfer
  • 5
    AccountSubTypeId The account Sub Type Id.

    You may find below the possible values:
  • 0 = Default
  • 1 = Child user's Card
  • 2 = Profile Account
  • 0

    Get Support

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