Multicurrency

Merchants using our smart checkout now have the capability to offer products on their websites in currencies beyond their local one.

Overview

Merchants can now provide product prices in different currencies than the currency of the country to which they are registered. Multicurrency Functionality allows merchants to sell their products in different currencies online. It’s handy for customers who prefer to pay in their own currency. However, it’s important to note that the available currency options are limited to those for which Viva has established direct settlement agreements with the payment schemes. Please click here to see the supported currencies.

Features, benefits & restrictions

Benefits

You may find below the benefits of Viva’s multicurreny solution:

Features
  1. Multicurrency functionality is available only for Online (E-commerce) Payments through card including digital wallets.
  2. Supported schemes are Visa, Mastercard, Amex and Diners.
  3. Supported currencies are the EUR, RON, PLN, CZK, HUF, SEK, DKK, BGN, GBP.
  4. Merchants will continue to have the existing local account(s) in the same currency for settlement.
  5. ISV schema is supported.
  6. Recurring & Preauthorization functionalities are fully functional with multicurrency.
  7. Hourly Settlement supports multicurrency functionality.
  8. Multicurrency is fully functional with surcharge.
Restrictions
  1. Marketplace platform accounts are not supported.
  2. OCT, Fast Refund, Rebate, and regular refund requests cannot be processed in a currency different from the one used for the initial payment.
  3. Multicurrency functionality is not compatible with Virtual Terminals (MOTO through Viva account), Quick Pay and Payment notifications.
  4. Switching payments are not supported.
  5. Plugins are not supported yet.

Process flow

  1. The merchant provides the product prices in different currencies in his/her website.
  2. The cardholder chooses the desired currency.
  3. The merchant specifies the desired currency in the ‘create order code’ request.
  4. The user is redirected to the smart checkout, where the desired currency will be displayed. No drop-down menu for currency selection will be shown in the smart checkout, as it has already been chosen by the customer on merchant’s website.
  5. The customer completes payment in the selected currency.
  6. The merchant will receive settlement in their designated currency, which is the only available option in the local currency wallet.

Flow

How to activate Multicurrency Functionality

Environment Activation details
Production If you wish to use Multicurrency Functionality please contact your Viva sales representative to get it activated on your Viva account. Alternatively, you can contact us directly via our live chat facility(which can be found in your *Production* Viva self-care account). Once you have the Multicurrency functionality, you will be able to create smart checkout in different currencies.
Demo

Merchant payouts

Merchant’s settlements will be processed in the merchant’s local currency, as is. Any transactions that occur in a currency other than the merchant’s default one will be converted to merchant’s local currency before settlement. Rest assured, Mastercard exchange rates will be applied to this conversion for accuracy.

How to create a smart checkout with Multicurrency Functionality

In the integration flow, the process stays the same. But if you want to make a smart checkout order in a different currency, you need to include the ‘currencyCode’ parameter in the request.

Merchants and ISV partners should choose the ‘currencyCode’ from one of the following numeric codes listed in ISO 4712.

Currency Currency Code in ISO
EUR 978
GBP 826
RON 946
PLN 985
CZK 203
HUF 348
SEK 752
DKK 208
BGN 975
Request example

Make the below call through a backend channel. Please notice the currencyCode parameter in the request body.

Note that you should use OAuth2 method for the authentication.

post    /checkout/v2/orders

Run in Postman

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",
    "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",
 "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. As the currencyCode on this order is 348, the currency of the smart checkout will be Hungarian Forint.

{
    "orderCode": 1272214778972604
}

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!