Transaction Payment Created

Notification that a customer payment has been successful.


This webhook will be sent when a successful customer payment has been made to one of your wallets.

You should confirm the payment result with the combination of OrderCode and TransactionId parameters. You should then check the StatusId parameter to validate the status of the transaction and the Amount to validate the amount received, before updating a transaction’s status on your system. As an extra layer of confirmation, you have the option to use the Retrieve Transaction API

Webhook configuration

If you are setting up an ISV integration, please see our ISV Create webhook API call

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

If setting up the WooCommerce Smart Checkout plugin, within the URL field of the webhook, you will need to use the following format, replacing ‘’ with the domain of your WooCommerce store:

For all other cases, please enter the URL you have set up to receive webhooks

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

6. Choose Transaction Payment Created from the Event Type dropdown:

Transaction Payment Created 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 1796.

  "Url": "Your webhook URL",
  "EventData": {
    "Moto": false,
    "IsDcc": false,
    "Ucaf": "jMrqeJ+OPZu+CB4BFzutByEAAAA=",
    "Email": "",
    "Phone": "7700900796",
    "BankId": "NET_VISA",
    "Systemic": false,
    "Switching": false,
    "ParentId": null,
    "Amount": 10,  
    "ChannelId": "d84f93ff-8ad0-4d97-a7a3-f187dd667553",
    "TerminalId": 90000000,
    "MerchantId": "bdf4c6b3-c26d-4046-b5df-5c443ec39d09",
    "OrderCode": 2271655739472609,
    "ProductId": null,
    "StatusId": "F",
    "FullName": "Customer name",  
    "ResellerId": null,
    "InsDate": "2021-09-02T10:39:28.73",
    "TotalFee": 0,
    "CardToken": "2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752",
    "CardNumber": "414746XXXXXX0133",
    "Descriptor": null,
    "TipAmount": 0,
    "SourceCode": "8362",
    "SourceName": "Test",
    "Latitude": null,
    "Longitude": null,
    "CompanyName": "Business name",
    "TransactionId": "997ab1e3-e6ce-45c9-970d-4d902f27ce71",  
    "CompanyTitle": "Business title",
    "PanEntryMode": "01",
    "ReferenceNumber": 944981,
    "ResponseCode": "00",
    "CurrencyCode": "978",
    "OrderCulture": "el-GR",
    "MerchantTrns": "Short description of items/services purchased by customer",
    "CustomerTrns": "Short description of items/services purchased to display to your customer",
    "IsManualRefund": false,
    "TargetPersonId": null,
    "TargetWalletId": null,
    "LoyaltyTriggered": false,
    "TransactionTypeId": 5,
    "TotalInstallments": 0,
    "CardCountryCode": "SG",
    "CardIssuingBank": "CITIBANK",
    "RedeemedAmount": 0,
    "ClearanceDate": null,
    "ConversionRate": 1,
    "CurrentInstallment": 0,
    "OriginalAmount": 100,
    "Tags": [
      "tag sample string 1",
      "tag sample string 2",
      "tag sample string 3"
    "BillId": null,
    "ConnectedAccountId": null,
    "ResellerSourceCode": null,  
    "ResellerSourceName": null, 
    "ResellerCompanyName": null,
    "CardUniqueReference": "2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752",
    "OriginalCurrencyCode": "978",
    "ExternalTransactionId": null,
    "ResellerSourceAddress": null,  
    "CardExpirationDate": "2022-01-31T00:00:00",
    "RetrievalReferenceNumber": "124507944981",
    "AssignedMerchantUsers": [],
    "AssignedResellerUsers": [],
    "CardTypeId": 0,
    "ResponseEventId": null,
    "ElectronicCommerceIndicator": "5",
    "ApplicationIdentifierTerminal": null,
    "IntegrationId": null,
    "DigitalWalletId": 2,
    "DccSessionId": null,
    "DccMarkup": null,
    "DccDifferenceOverEcb": null
  "Created": "2021-09-02T07:39:28.8496795Z",  
  "CorrelationId": "21-245-DB33F8C9",
  "EventTypeId": 1796,  
  "Delay": null,
  "MessageId": "e8b09fc2-d4a4-43fc-8251-acd87ad04d96",
  "RecipientId": "bdf4c6b3-c26d-4046-b5df-5c443ec39d09",
  "MessageTypeId": 512

Property TransactionTypeId can have a number of different values. See TransactionTypeId parameter on our Response codes page for the full list.

Webhook body

You can find below the body parameters of this webhook

Parameter Description Example
Url Your webhook URL Your webhook URL
Moto True/False, Indicates if the card details were entered by a third person or by customers themselves false
BinId Internal information related to the card schemes, routing and payment flow used 43
IsDcc Specified if this transaction took place through Dynamic Currency Conversion (DCC) true
Ucaf Transports authentication data from party to party in online transactions - contains values when a transaction is passing from 3DS null
Email Customer email ""
Phone Phone number of the customer 7700900796
BankId Bank's ID NET_VISA
Systemic If true, this is a transaction which was not initiated by the merchant or by the customer. Instead, this was a system-initiated transaction (for edge cases, e.g. Bancontact) false
Switching If the transaction is a switching transaction false
ParentId The parent TransactionId (if any) of the current transaction null
Amount The signed amount of the transaction. Represents the total funds paid by the customer and includes TotalFee 10
ChannelId Woocommerce, shopify, smart checkout, api, pos etc. d84f93ff-8ad0-4d97-a7a3-f187dd667553
TerminalId Id of the POS if it is a physical payment 90000000
MerchantId The MerchantId of the Merchant bdf4c6b3-c26d-4046-b5df-5c443ec39d09
OrderCode The OrderCode of the transaction 2271655739472609
ProductId If not empty, wallet refill null
StatusId The status of the transaction "F"
FullName Customer Fullname Customer name
ResellerId The ResellerId of the Reseller (if any) that received the payment null
DualMessage Internal information related to the card schemes, routing and payment flow used false
InsDate The date and time the transaction took place 2021-09-02T10:39:28.73
TotalFee The signed fees that apply to the transaction (e.g. if paid through reseller network) 0
CardToken The Token of the card 2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752
CardNumber The card number used (applicable for card related transaction types) "414746XXXXXX0133"
Descriptor The descriptor displayed on both the bank statement and the 3DS verification page. Merchant X Descriptor
TipAmount The amount for the tip which is linked with the payment order 0
SourceCode The SourceCode of the Merchant used for the transaction 8362
SourceName The Merchant's source name Test
Latitude If physical source, GPS coordinates null
Longitude If physical source, GPS coordinates null
CompanyName The company name of the Merchant Business name
TransactionId The TransactionId of the transaction 997ab1e3-e6ce-45c9-970d-4d902f27ce71
CompanyTitle Business Title Business title
PanEntryMode Indicates the method used for PAN entry to initiate a transaction. You may find all the POS Entry Modes here. 01
ReferenceNumber Used by card schemes to identify a transaction (created by us) 944981
ResponseCode Response Code for each transaction 00
CurrencyCode The currency of the transaction in ISO 4217 numeric format (e.g. “978” for Euro) 978
OrderCulture The language (culture) of the order el-GR
MerchantTrns The MerchantTrns property as set during the creation of the Order Short description of items/services purchased by customer
CustomerTrns The CustomerTrns property as set during the creation of the Order Short description of items/services purchased to display to your customer
IsManualRefund Internal process false
TargetPersonId The target logged-in user of the transaction (e.g. for wallet payments, this is the wallet owner id) null
TargetWalletId The target wallet of the transaction null
AcquirerApproved Applies to offline POS using SAF (Store And Forward) and approved locally. When back online, POS sends list of transactions to Viva with this parameter being used to record approved status false
LoyaltyTriggered If the customer paid using loyalty points in addition to the charge false
TransactionTypeId The type of transaction 5
AuthorizationId Unique authorization number for the transaction provided by issuer "471543"
TotalInstallments The total card installments of the transaction 0
CardCountryCode The country the card was issued from "SG"
CardIssuingBank The bank the card was issued from "CITIBANK"
RedeemedAmount This refers to loyalty, it is the amount redeemed using points 0
ClearanceDate The day of the clearence null
ConversionRate The ratio between two currencies used in foreign exchange markets 1
CurrentInstallment The current card installment ordinal (use in relation with TotalInstallments parameter) 0
OriginalAmount The amount that paid in the difference currency 120
Tags Information that Merchant inputs "tag sample string 1"
"tag sample string 2"
"tag sample string 3"
BillId The id of the bill payment (if the transaction is a bill payment transaction) null
ConnectedAccountId The ConnectedAccountId (where applicable such as in ISV schema and marketplaces) to which the transaction is linked null
ResellerSourceCode The SourceCode of the source of the Reseller (if any) that received the payment null
ResellerSourceName The name of the Reseller (if any) that received the payment null
MerchantCategoryCode The MCC of the merchant, denoting their business type 8999
ResellerCompanyName The name of the Reseller (if any) that received the payment null
CardUniqueReference The Token of the card 2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752
OriginalCurrencyCode The currency to which the transaction finally paid 826
ExternalTransactionId Contains the unique identifier of the transaction for the payment method used (e.g. BlueCode, Blik, Click2Pay) null
ResellerSourceAddress The address of the source of the Reseller (if any) that received the payment null
CardExpirationDate The expiration date of the card used 2022-01-31T00:00:00
ServiceId (int) A way to differentiate services, used for certain types of transactions. Possible values are:

-1 = Invalid
0 = WebCheckOut
4 = EmailCheckOut
6 = SendMoneyGambling
7 = MobileTopUp
8 = Voucher
9 = Collection
10 = BillPayment
14 = PayOut
15 = ManualCashDisbursement
16 = Withdrawal
17 = GiftCard
18 = SendMoneyMerchantRebate
19 = SendMoneyFastRefund
RetrievalReferenceNumber Used to retrieve the trn from external systems "124507944981"
AssignedMerchantUsers Merchants assigned to the source of the transaction []
AssignedResellerUsers Resellers assigned to the source of the transaction []
CardTypeId You may find below the possible values:

  • 0 = Visa
  • 1 = Mastercard
  • 2 = Diners
  • 3 = Amex
  • 4 = Invalid
  • 5 = Unknown
  • 6 = Maestro
  • 7 = Discover
  • 8 = JCB
  • 0
    ResponseEventId The internal EventId of the transaction, used for INTERNAL OPERATIONS loyalty, ctap, bancontact advices. null
    ElectronicCommerceIndicator The value returned by the Directory Server indicating the outcome of authentication requested on transactions for EMV® 3-D Secure.

    You may find all the possible values here
    OrderServiceId The ServiceId of the order 0
    ApplicationIdentifierTerminal The Application Identifier Terminal

    You may find the list of AIDs here
    IntegrationId Identification of the type of request that triggered from backend when Oracle OPI integration take place.
    You may find below the possible values:

  • 0 = Invalid
  • 1 = OpiFoodAndBeverage
  • 2 = OpiHospitality
  • null
  • null
    DigitalWalletId Identification id if an e-commerce transaction paid through any digital wallet Possible values are:

    2 = Apple Pay
    3 = Google Pay
    4 = Samsung Pay
    6 = MobilePay Online
    DccSessionId The session ID that remarked with the DCC transaction 030aafe3-9e73-4d22-998f-07b3056c28c4
    DccMarkup The markup fee that applied to the merchant and included in the exchange rate 9.87
    DccDifferenceOverEcb The difference of the rate that exists between Global Blue and European Central Bank 1.15

    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!