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:
Log in to Viva, demo or live , and select the required account.
Visit Settings > API Access > Webhooks.
Click on the Create Webhook link.
The New Webhook dialog box is displayed.Enter your webhook URL in the URL field.
Click on the Verify link.
If verified successfully, a confirmation message is displayed.Choose Command Bank Transfer Executed from the Event Type dropdown:
Select the Active checkbox to activate notifications.
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 |
CommandTypeId | The Type Id of the command |
5 |
AccountSubTypeId | The account Sub Type Id. You may find below the possible values: |
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!