Transaction Payment Created
Notification that a customer payment has been successful.
Overview
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 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
If setting up the WooCommerce Smart Checkout plugin, within the URL field of the webhook, you will need to use the following format, replacing ‘www.yourdomain.com’ with the domain of your WooCommerce store:http(s)://www.your_domain.com/index.php?wc-api=wc_vivawallet&vivawallet=webhook
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:
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,
"Email": "customer@example.com",
"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,
"CardUniqueReference": "2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752",
"CardToken": "2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752",
"CardNumber": "414746XXXXXX0133",
"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,
"CurrentInstallment": 0,
"Tags": [
"tag sample string 1",
"tag sample string 2",
"tag sample string 3"
],
"BillId": null,
"ResellerSourceCode": null,
"ResellerSourceName": null,
"ResellerCompanyName": null,
"ResellerSourceAddress": null,
"CardExpirationDate": "2022-01-31T00:00:00",
"RetrievalReferenceNumber": "124507944981",
"AssignedMerchantUsers": [],
"AssignedResellerUsers": [],
"CardTypeId": 0,
"DigitalWalletId": 2,
"ResponseEventId": null,
"ElectronicCommerceIndicator": "5"
},
"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 (string) | Your webhook URL | "Your webhook URL" |
Moto (boolean) | True/False, Indicates if the card details were entered by a third person or by customers themselves | false |
Email (string) | Customer email | "customer@example.com" |
Phone (string) | Phone number of the customer | "7700900796" |
BankId (string) | Bank's ID | "NET_VISA" |
Systemic (boolean) | 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 (boolean) | If the transaction is a switching transaction | false |
ParentId (uuid) | The parent TransactionId (if any) of the current transaction | null |
Amount (decimal) | The signed amount of the transaction. Represents the total funds paid by the customer and includes TotalFee | 10 |
ChannelId (uuid) | Woocommerce, shopify, smart checkout, api, pos etc. | "d84f93ff-8ad0-4d97-a7a3-f187dd667553" |
TerminalId (int) | Id of the POS if it is a physical payment | 90000000 |
MerchantId (uuid) | The MerchantId of the Merchant | "bdf4c6b3-c26d-4046-b5df-5c443ec39d09" |
OrderCode (long) | The OrderCode of the transaction | 2271655739472609 |
ProductId (uuid) | If not empty, wallet refill | null |
StatusId (string) | The status of the transaction | "F" |
FullName (string) | Customer Fullname | "Customer name" |
ResellerId (uuid) | The ResellerId of the Reseller (if any) that received the payment | null |
InsDate (datetime) | The date and time the transaction took place | "2021-09-02T10:39:28.73" |
TotalFee (decimal) | The signed fees that apply to the transaction (e.g. if paid through reseller network) | 0 |
CardToken (string) | The Token of the card | "2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752" |
CardUniqueReference (string) | The Token of the card | "2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752" |
CardNumber (string) | The card number used (applicable for card related transaction types) | "414746XXXXXX0133" |
TipAmount (int) | The amount for the tip which is linked with the payment order | 0 |
SourceCode (string) | The SourceCode of the Merchant used for the transaction | "8362" |
SourceName (string) | The Merchant's source name | "Test" |
Latitude (decimal) | If physical source, GPS coordinates | null |
Longitude (decimal) | If physical source, GPS coordinates | null |
CompanyName (string) | The company name of the Merchant | "Business name" |
TransactionId (uuid) | The TransactionId of the transaction | "997ab1e3-e6ce-45c9-970d-4d902f27ce71" |
CompanyTitle (string) | Business Title | "Business title" |
PanEntryMode (string) | How the card was used | "01" |
ReferenceNumber (int) | Used by card schemes to identify a transaction (created by us) | 944981 |
ResponseCode (string) | Response Code for each transaction | "00" |
CurrencyCode (string) | The currency of the transaction in ISO 4217 numeric format (e.g. “978” for Euro) | "978" |
OrderCulture (string) | The language (culture) of the order | "el-GR" |
MerchantTrns (string) | The MerchantTrns property as set during the creation of the Order | "Short description of items/services purchased by customer" |
CustomerTrns (string) | The CustomerTrns property as set during the creation of the Order | "Short description of items/services purchased to display to your customer" |
IsManualRefund (boolean) | Internal process | false |
TargetPersonId (uuid) | The target logged-in user of the transaction (e.g. for wallet payments, this is the wallet owner id) | null |
TargetWalletId (int64) | The target wallet of the transaction | null |
LoyaltyTriggered (boolean) | If the customer paid using loyalty points in addition to the charge | false |
TransactionTypeId (int) | The type of transaction | 5 |
TotalInstallments (byte) | The total card installments of the transaction | 0 |
CardCountryCode (string) | The country the card was issued from | "SG" |
CardIssuingBank (string) | The bank the card was issued from | "CITIBANK" |
RedeemedAmount (int) | This refers to loyalty, it is the amount redeemed using points | 0 |
ClearanceDate (int) | The day of the clearence | null |
CurrentInstallment (byte) | The current card installment ordinal (use in relation with TotalInstallments parameter) | 0 |
Tags (arrayOfStrings) | Information that Merchant inputs | "tag sample string 1" "tag sample string 2" "tag sample string 3" |
BillId (uuid) | The id of the bill payment (if the transaction is a bill payment transaction) | null |
ResellerSourceCode (string) | The SourceCode of the source of the Reseller (if any) that received the payment | null |
ResellerSourceName (string) | The name of the Reseller (if any) that received the payment | null |
ResellerCompanyName (string) | The name of the Reseller (if any) that received the payment | null |
ResellerSourceAddress (string) | The address of the source of the Reseller (if any) that received the payment | null |
CardExpirationDate (string) | The expiration date of the card used | "2022-01-31T00:00:00" |
RetrievalReferenceNumber (string) | Used to retrieve the trn from external systems | "124507944981" |
AssignedMerchantUsers (arrayOfStrings) | Merchants assigned to the source of the transaction | [] |
AssignedResellerUsers (arrayOfStrings) | Resellers assigned to the source of the transaction | [] |
CardTypeId (byte) | Possible values 0(Visa), 1(Mastercard), 2(Diners), 3(Amex), 4(Invalid), 5(Unknown), 6(Maestro), 7(Discover), 8(JCB) | 0 |
DigitalWalletId (byte) | Possible values: 2 (Apple Pay), 3 (Google Pay), 4 (Samsung Pay), 6 (MobilePay Online) | 2 |
ResponseEventId (uuid) | The internal EventId of the transaction, used for INTERNAL OPERATIONS loyalty, ctap, bancontact advices | null |
ElectronicCommerceIndicator (string) | A code appended to the Success/Failure URL as a query string parameter in addition to Event ID? | "5" |
Created (datetime) | Transaction's creation timestamp | "2021-09-02T07:39:28.8496795Z" |
CorrelationId (uuid) | Internal Id to track the request flow for debug reasons | "21-245-DB33F8C9" |
EventTypeId (int) | The type of the event that triggered the notification | 1796 |
Delay (string) | Delay timespan for messages that are sent at a future date and not instantly | null |
MessageId (uuid) | Unique identifier of the message | "e8b09fc2-d4a4-43fc-8251-acd87ad04d96" |
RecipientId (uuid) | The recipient of the webhook (in this case the merchant) | "bdf4c6b3-c26d-4046-b5df-5c443ec39d09" |
MessageTypeId (int) | The type of the message, this will always be webhook for the merchants 0x200 or 0x201 in hex. | 512 |
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 Contact & Support page to see how we can help!