Statement Descriptor
A guide about dynamic description functionality and how it works.
- Overview
- How to activate Dynamic Descriptor
- How to use a smart checkout with Dynamic Descriptor
- Get Support
Overview
Merchants can now specify the desired description that will be displayed to the cardholder’s bank statement.
The dynamic description functionality is fully functional in Smart Checkout (Online Transactions) and in In-Person Payments (Android & Paydroid) too.
The functionality is available only for payments through card and with Visa, Mastercard, Aamex, Diners, JCB & Bancontact card schemes.
Restrictions
There is/are not any restriction(s) with other features/functionalities. Also, no MCC restrictions take place.
Plugin(s) does/do not support the dynamic descriptor feature.
How to activate Dynamic Descriptor
The dynamic descriptor id enabled by default to all merchants and it’s value is dispplayed in the Smart Checkout.
How to use a smart checkout with Dynamic Descriptor
In the integration flow, the process stays the same. The only difference is that a new parameter, named “dynamicDescriptor” added in the Create Payment Order Api Call.
Request example
Make the below call through a backend channel. Please notice the dynamicDescriptor parameter in the request body.
The dynamicDescriptor is a String parameter with max length 22 and it is a combination of the three parts:
- Merchant Name (up to 8 characters)
- One space character
- dynamicDescriptor parameter value (up to 13 character)
Note that you should use OAuth2 method for the authentication.
/checkout/v2/orders
Environment | URL |
---|---|
Production | https://api.vivapayments.com/checkout/v2/orders |
Demo | https://demo-api.vivapayments.com/checkout/v2/orders |
curl '[Environment URL]'
-H 'Authorization: Bearer [access token]'
-H 'Content-Type: application/json'
-d '{
"amount": 1000,
"customerTrns": "Short description of purchased items/services",
"dynamicDescriptor": "This is a desired Dynamic Descriptor",
"customer":
{
"email": "johdoe@vivawallet.com",
"fullName": "John Doe",
"phone": "+30999999999",
"countryCode": "GB",
"requestLang": "en-GB"
},
"currencyCode": 348,
"paymentTimeout": 300,
"preauth": false,
"allowRecurring": false,
"sourceCode": "1234",
"merchantTrns": "Short description of items/services",
"tags":
[
"tags for grouping and filtering the transactions",
"this tag can be searched on VivaWallet sales dashboard",
"Sample tag 1",
"Sample tag 2",
"Another string"
],
"cardTokens":
[
"ct_5d0a4e3a7e04469f82da228ca98fd661"
]
}'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '[Environment URL]',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"amount": 1,
"customerTrns": "string",
"dynamicDescriptor": "This is a desired Dynamic Descriptor",
"customer": {"email": "","fullName": "","phone": "","countryCode": "","requestLang": ""},
"paymentTimeout": 0,
"preauth": true,
"allowRecurring": true,
"currencyCode": 348,
"sourceCode": "Default",
"merchantTrns": "string",
"tags": ["string"],
"cardTokens": ["ct_5d0a4e3a7e04469f82da228ca98fd661"]
}',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer [access token]',
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Response example
If authentication is successful and the parameter values provided for the creation of the payment order are valid, an order code is returned in the response.
{
"orderCode": 1272214778972604
}
You may find below how the dynamic descriptor will be displayed in the cardholder’s bank statement
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!