Transaction Reversal Created
Notification that a customer refund has been successfully actioned.
Overview
This webhook will be sent when a refund for a previous customer payment has been made successfully.
You should confirm the payment result with the combination of OrderCode, TransactionId and the StatusId parameters. As an extra layer of confirmation, you have the option to use Retrieve Transaction Details 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:
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 Transaction Reversal Created 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 1797.
{
"Url": "Your webhook url",
"EventData": {
"Moto": false,
"BinId": 42,
"IsDcc": false,
"Ucaf": null,
"Email": "jdoe@vivawallet.com",
"Phone": "799999999999",
"BankId": "NET_VISA",
"Systemic": false,
"Switching": false,
"ParentId": "d406ca77-f045-4902-9176-506f56fcd793",
"Amount": -1000,
"ChannelId": "b8e0e6c6-3a7c-47c3-9db8-4725e96a4902",
"TerminalId": 90000000,
"MerchantId": "11ac9cd4-c9ea-48d3-b414-1f10ce664aad",
"OrderCode": 3464811134270497,
"ProductId": null,
"StatusId": "F",
"FullName": "John Doe",
"ResellerId": null,
"DualMessage": false,
"InsDate": "2022-05-26T03:06:14.04",
"TotalFee": 0,
"CardToken": "2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752",
"CardNumber": "414746XXXXXX0133",
"Descriptor": null,
"TipAmount": 0,
"SourceCode": "Default",
"SourceName": "Default",
"Latitude": null,
"Longitude": null,
"CompanyName": "Luxembourg Services",
"TransactionId": "addffca1-25d2-4739-acb4-b05e385e8563",
"CompanyTitle": "Luxembourg Services",
"PanEntryMode": "01",
"ReferenceNumber": 66727,
"ResponseCode": "00",
"CurrencyCode": "978",
"OrderCulture": "en-GB",
"MerchantTrns": null,
"CustomerTrns": null,
"IsManualRefund": false,
"TargetPersonId": null,
"TargetWalletId": null,
"LoyaltyTriggered": false,
"TransactionTypeId": 7,
"TotalInstallments": 0,
"CardCountryCode": "SG",
"CardIssuingBank": "Citibank Singapore Ltd.",
"RedeemedAmount": 0,
"ClearanceDate": null,
"ConversionRate": 1,
"CurrentInstallment": 0,
"OriginalAmount": -12,
"Tags": [
"Sample tag 3",
"Sample tag 2",
"Sample tag 1"
],
"BillId": null,
"ConnectedAccountId": null,
"ResellerSourceCode": null,
"ResellerSourceName": null,
"MerchantCategoryCode": 8099,
"ResellerCompanyName": null,
"CardUniqueReference": "5984325974181FFDE001404E14C6B88CF3613891",
"OriginalCurrencyCode": "978",
"ExternalTransactionId": null,
"ResellerSourceAddress": null,
"CardExpirationDate": "2030-12-31T00:00:00",
"ServiceId": null,
"RetrievalReferenceNumber": "214523066721",
"AssignedMerchantUsers": [],
"AssignedResellerUsers": [],
"CardTypeId": 0,
"ResponseEventId": null,
"ElectronicCommerceIndicator": "7",
"OrderServiceId": 0,
"ApplicationIdentifierTerminal": null,
"IntegrationId": null,
"CardProductCategoryId": 1,
"CardProductAccountTypeId": 1,
"DigitalWalletId": 3,
"DccSessionId": null,
"DccMarkup": null,
"DccDifferenceOverEcb": null
},
"Created": "2022-05-26T00:06:14.2190894Z",
"CorrelationId": "22-146-83163D56",
"EventTypeId": 1797,
"Delay": null,
"MessageId": "81911f2e-bd91-43d7-bf66-617e6191a1ce",
"RecipientId": "11ac9cd4-c9ea-48d3-b414-1f10ce664aad",
"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 |
---|---|---|
Moto | 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) | false |
Ucaf | Transports authentication data from party to party in online transactions - contains values when a transaction is passing from 3DS | null | The customer's email | customer@viva.com | 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 | 90a7114f-3a7a-466b-8a45-000111222777 |
Amount | The signed amount of the transaction. Represents the total funds paid by the customer and includes TotalFee | -100.50 |
ChannelId | The channel through which the transaction captured (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 Id of the Merchant | 90a7114f-3a7a-466b-8a45-000111222666 |
OrderCode | The OrderCode of the transaction | 776027772607 |
ProductId | If not empty, wallet refill | null |
StatusId | The status of the transaction | F |
FullName | Customer Fullname | Customer FullName |
ResellerId | The ResellerId of the Reseller (if any) that received the payment | 90a7114f-3a7a-466b-8a45-000111222888 |
DualMessage | Internal information related to the card schemes, routing and payment flow used | false |
InsDate | The date and time the transaction took place | 2014-06-18T14:20:30.45+03:00 |
TotalFee | The signed fees that apply to the transaction (e.g. if paid through reseller network) | -0.50 |
CardToken | The Token of the card | 2BFCB1FD4F000DB41CB5BA76CAFB68D76AB87752 |
CardNumber | The card number used (applicable for card related transaction types) | 411111XXXXXX1111 |
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 | [4-digit code of your payment source] |
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 | Viva Payment Services |
TransactionId | The TransactionId of the transaction | 90a7114f-3a7a-466b-8a45-000111222888 |
CompanyTitle | The Business Title | Company LTD |
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 (string) | 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 | Merchant Reference |
CustomerTrns | The CustomerTrns property as set during the creation of the Order | Customer description |
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. Consists of two-letter ISO 3166-1 alpha-2 country code. | "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 |
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 |
5 |
OrderServiceId | The ServiceId of the order | 0 |
ApplicationIdentifierTerminal | The Application Identifier Terminal You may find the list of AIDs here |
A0000000031010 |
IntegrationId | Identification of the type of request that triggered from backend when Oracle OPI integration take place. You may find below the possible values: |
null |
CardProductCategoryId | This parameter specifies the category of the card. |
1 |
CardProductAccountTypeId | This parameter specifies the type of the card. |
1 |
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 |
Further information
Check out the following tutorial for more details on configuring a payment webhook:
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!