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 Wallet banking app:

  1. Log in to Viva Wallet, 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": [
      "ViewBalance",
      "AllowOriginalCredit",
      "ManageAccount",
      "AllowLiquidation",
      "AllowPayment",
      "Merchant",
      "AllowPayOut",
      "ApiAllowBalanceTransfer",
      "AllowVirtualCards",
      "AllowBankTransfers",
      "AllowRefund"
    ],
    "WalletTransactionId": "3e0cfd83-4171-4379-b11d-95c62881315f",
    "BankAccountBankName": "Banque et Caisse d'Epargne de l'Etat, Luxembourg",
    "BankAccountSwiftCode": "BCEELULL"
  },
  "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.

You can find below the body parameters of this webhook

Parameter Description Example
Fee (decimal) The transaction fee 0.8
Iban (string) The Iban the wallet owner sent a bank transfer to "GR0202601240000380200549056"
PersonId (uuid) The Id of the person/merchant that initiated the action, or who billing created an obligation for "7400c107-8435-42b4-a0f9-5c80f2836b5d"
WalletId (int) The wallet from which the transaction took place 324014327911
Amount (decimal) The signed amount of the transaction. Represents the total funds paid by the customer and includes TotalFee 12.2
CommandId (uuid) The internal Id of the command "63d599be-8684-4061-b443-a208c189a562"
IsInstant (boolean) If the bank transfer is instant false
WalletName (string) Friendly name of the wallet "Primary"
Description (string) Short description that is related to the wallet transaction "BANK TRANSFER EXECUTED"
DisplayName (string) 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 (string) Merchant's country code "GR"
CurrencyCode (string) The currency of the transaction in ISO 4217 numeric format (e.g. “978” for Euro) 978
BankCommandId (uuid) Internal unique identification of the bank command created – could be used for debug purposes "2fd4289e-2ddb-49de-8e32-cbe61c871a5a"
PersonLastName (string) The last name of the wallet's owner null
PersonFirstName (string) The first name of the wallet's owner null
BankAccountName (string) 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 (string) The beneficiary's name "Screwdrivers"
PersonRoles (arrayOfStrings) The roles the owner of the wallet has in Viva Wallet (e.g. AllowLiquidation etc) ["ViewBalance", "ManageAccount", "AllowLiquidation", "AllowPayment", "Merchant", "AllowVirtualCards", "AllowBankTransfers", "AllowRefund"]
WalletTransactionId (uuid) The Id of the wallet transaction that was created as a result of this transaction "f689c102-c4a9-4894-8d0e-93af63137e0f"
BankAccountBankName (string) The name of the transfer receipient's bank "AFX Bank""

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!