Module Installation
Installation
Required Actions Prior to Installation:
- Log in to the Novalnet Admin Portal.
- Install Composer.
- Make sure that you have extracted the payment plugin package from the zip file you have received. If you have received only the installation guide without the payment plugin package (zip file), install the payment plugin via composer.
- Ensure that you have created Access Keys for your account. If not, click on Create a New Access Key to generate them. For more details, refer here.
To install the Novalnet Payment Module, please go to your Gambio shop system and follow the steps below.
Step 1: Upload the contents of the NovalnetGateway folder (which you have extracted from the payment module package/zip file) into the file path: < Root_Directory >.
Step 2: Login to shop backend, go to Modules -> Payment Systems.
Step 3: Go to Miscellaneous -> added modules, now Novalnet payment methods will be displayed.
Upgrading the Novalnet Payment Module
To upgrade the latest Novalnet payment module, please follow the below steps. If you have installed the module via package, upgrade the module only through file server.
Step 1: It is recommended to take a proper backup before deleting the existing Novalnet payment module for disaster recovery.
Step 2: To remove the Novalnet payment module refer to the topic UNINSTALLATION and follow the same procedure to uninstall the Novalnet payment methods.
Step 3: Upload the contents of the NovalnetGateway folder into the file path: < Root_Directory > .
Global Configuration in the Gambio shop system
After successful installation of the Novalnet module, go to Modules -> Payment Systems -> Miscellaneous -> added modules -> Novalnet API Configuration (V_12.0.4). Click Install .
Here you can view the Novalnet API Configuration settings. Enter the following keys as shown below:
- Product activation key - a unique token for merchant authentication and payment processing.
- Tariff ID - a unique identifier which is dynamically created based on the tariff type at Novalnet.
- Client key - a unique key which is linked with your Novalnet merchant account to authenticate your client based requests. You need the client key to render the secure payment form and tokenize (temporarily) the sensitive information.
To get your Product activation key and Payment access key, go to the Novalnet Admin Portal, navigate to Projects menu and choose your project.
Click API Credentials and copy the API Signature (Product activation key) and Payment access key.
Paste the copied Product activation key and Payment access key in the respective fields in your shop admin panel. Next, choose the Tariff ID that you have created in the Novalnet Admin Portal for this Gambio shop system. Select your preferred Tariff ID from the drop-down menu and then click Update to save the changes as shown below
Notification/Webhook configuration
In the Novalnet API Configuration page, on your shop admin panel, you will find your Notification / Webhook URL under Notification / Webhook URL Setup.
Click Configure to link your Notification / Webhook URL in to the Novalnet Admin Portal .
After successful configuration, your shop Notification / Webhook URL will be linked with your Novalnet Merchant account which can be seen under Vendor script URL/ Notification & Webhook URL field of your project.
In your shop system, you can additionally test the Webhook URL manually and send notification emails to specific email addresses.
- Notification / Webhook URL - Required to keep the merchant’s database/system up to date and always synchronized with Novalnet (for example: up-to-date transaction status delivery).
- Allow manual testing of the Notification / Webhook URL - Click the toggle to enable and to test the Novalnet Notification / Webhook URL manually. Disable this before setting your shop system live, to block unauthorized calls from external parties.
- Send e-mail to - Every execution will be sent as a message to the e-mail address defined in this field.
Client key configuration in the Novalnet Admin Portal
The client key is a unique key which is linked with your Novalnet merchant account to authenticate your client based requests. You need the client key to render the secure payment form and tokenize (temporarily) the sensitive information.
Novalnet allows client-side request(s) only from the whitelisted multiple domains under a particular project in the Novalnet Admin Portal. The domain must be a valid (secured https://) website. Please follow the below steps to whitelist the domains under a single client key in the Novalnet Admin Portal.
Step 1: Go to the Novalnet Admin Portal.
Step 2: Navigate to the Projects menu and click view icon on the right to view your project details.
Step 3: On the project details page click API credentials and click edit beside Allowed Domain(s).
Step 4: Paste your website URL in the Domain name field and click + Add.
Step 5: After adding the Domain name, the web URLs are listed under Allowed Domain(s).
Payment Activation in the Novalnet Admin Portal
All the Novalnet supported payment methods can be viewed here: www.novalnet.com/payment if you have questions about the payment methods or for additional payment method requests, please contact sales@novalnet.de
To activate the preferred payment methods for your website, navigate to Novalnet Admin Portal -> Projects -> choose your project -> Payment Methods -> click Edit Payment Methods in the top right corner.
Next, select the preferred payment methods and click Update to activate them.
To use the Apple Pay payment method, go to Apple Pay -> Configure -> Add new domain in the Novalnet Admin Portal.
Then, paste your shop domain for which you enable APPLE PAY, and click Download verification file. You will need to host that verification file in your domain's root directory.
For example: the path should be, https://gambio.novalnet.de/.well-known/apple-developer-merchantid-domain-association
Please note that if the .well-known directory is not available, you have to create it.
To use the PayPal payment method, configure the PayPal API details in the Novalnet Admin Portal.
To use the PostFinance payments method, configure Ep2-Merchant ID details in the Novalnet Admin Portal .
Payment Configuration in the Gambio shop system
After activating the payment methods in the Novalnet Admin Portal, you must enable these payment methods in your shop system to display them on your Gambio checkout page. Navigate to Modules -> Payment Systems -> Miscellaneous -> added modules.
Click Install to install the payment method..
Enable the toggle in Enable payment method, to display the payment in the web shop. Click Update to save the changes made.
Follow the same procedure to install the remaining Novalnet payment methods.
Readme procedures
To display transaction details with proper alignment in confirmation E-mail
To display transaction comments with proper alignment in confirmation E-mail follow the below procedures. File path: < Root_Directory >/GXMainComponents/View/ThemeContentViews/orders/SendOrderThemeContentView.inc.php
/**Search the below line*/
$this->set_content_data('COMMENTS', $t_order->info['comments']);
Replace the following code instead of above searched line
//Novalnet code begins
$this->set_content_data('COMMENTS', nl2br($t_order->info['comments']));
// Novalnet code ends
/** After adding the codes save the file. */To display payment reference in order confirmation E-mail
To display the payment references in the order confirmation E-mail for Gambio versions 4.5.1.0 and 4.6.0.2 follow the below procedures File path: < Root_Directory >/system/classes/orders/SendOrderProcess.inc.php
/** Search the below line */
$coo_send_order_content_view = MainFactory::create_object('SendOrderThemeContentView');
/** and add the following code below the searched line */
// Novalnet code begins
if ((in_array($_SESSION['response']['transaction']['payment_type'], array('INVOICE', 'PREPAYMENT')))
|| $_SESSION['response']['transaction']['payment_type'] == 'GUARANTEED_INVOICE'
&& $_SESSION['response']['transaction']['status'] != 'PENDING') {
$order->info['comments'] .= PHP_EOL. MODULE_PAYMENT_NOVALNET_PAYMENT_REFERENCE_TEXT .PHP_EOL;
$order->info['comments'] .= sprintf(MODULE_PAYMENT_NOVALNET_PAYMENT_REFERENCE, 1, ('TID ' .
$_SESSION['response']['transaction']['tid'])) . PHP_EOL;
$order->info['comments'] .= sprintf(MODULE_PAYMENT_NOVALNET_PAYMENT_REFERENCE, 2, ('BNR-' .
MODULE_PAYMENT_NOVALNET_PROJECT_ID . '-' . $order->info['orders_id'])) . PHP_EOL;
} else if ($_SESSION['response']['transaction']['payment_type'] == 'CREDITCARD' &&
($_SESSION['response']['transaction']['payment_data']['cc_3d'] == 1)) {
$order->info['comments'] .= PHP_EOL. MODULE_PAYMENT_NOVALNET_TRANSACTION_ID
.$_SESSION['response']['transaction']['tid'];
$order->info['comments'] .= ($_SESSION['response']['transaction']['test_mode'] == 1) ? PHP_EOL.
MODULE_PAYMENT_NOVALNET_PAYMENT_MODE : '';
} else if($_SESSION['response']['transaction']['payment_type'] == 'INSTALMENT_INVOICE' &&
(in_array($_SESSION['response']['transaction']['status'], array('CONFIRMED', 'ON_HOLD')))) {
$order->info['comments'] = str_replace('###SHOPORDERNUMBER###', $order->info['orders_id'], $order->info['comments']);
}
// Novalnet code ends
/** After adding the codes save the file. */To display the payment references in order confirmation E-mail for Gambio versions 4.2.0.0 - 4.4.0.3 follow the below procedures File path: < Root_Directory >/system/classes/orders/SendOrderProcess.inc.php
/** Search the below line */
$coo_send_order_content_view = MainFactory::create_object('SendOrderContentView');
/** and add the following code below the searched line */
// Novalnet code begins
if ((in_array($_SESSION['response']['transaction']['payment_type'], array('INVOICE', 'PREPAYMENT')))
|| $_SESSION['response']['transaction']['payment_type'] == 'GUARANTEED_INVOICE'
&& $_SESSION['response']['transaction']['status'] != 'PENDING') {
$order->info['comments'] .= PHP_EOL. MODULE_PAYMENT_NOVALNET_PAYMENT_REFERENCE_TEXT .PHP_EOL;
$order->info['comments'] .= sprintf(MODULE_PAYMENT_NOVALNET_PAYMENT_REFERENCE, 1, ('TID ' .
$_SESSION['response']['transaction']['tid'])) . PHP_EOL;
$order->info['comments'] .= sprintf(MODULE_PAYMENT_NOVALNET_PAYMENT_REFERENCE, 2, ('BNR-' .
MODULE_PAYMENT_NOVALNET_PROJECT_ID . '-' . $order->info['orders_id'])) . PHP_EOL;
} else if ($_SESSION['response']['transaction']['payment_type'] == 'CREDITCARD' &&
($_SESSION['response']['transaction']['payment_data']['cc_3d'] == 1)) {
$order->info['comments'] .= PHP_EOL. MODULE_PAYMENT_NOVALNET_TRANSACTION_ID
.$_SESSION['response']['transaction']['tid'];
$order->info['comments'] .= ($_SESSION['response']['transaction']['test_mode'] == 1) ? PHP_EOL.
MODULE_PAYMENT_NOVALNET_PAYMENT_MODE : '';
} else if($_SESSION['response']['transaction']['payment_type'] == 'INSTALMENT_INVOICE' &&
(in_array($_SESSION['response']['transaction']['status'], array('CONFIRMED', 'ON_HOLD')))) {
$order->info['comments'] = str_replace('###SHOPORDERNUMBER###', $order->info['orders_id'], $order->info['comments']);
}
// Novalnet code ends
/** After adding the codes save the file. */To display follow-up process in admin orders
To display Manage transaction process & Refund process options in admin orders, please follow the below procedures File path: < Root_Directory >/admin/html/compatibility/order_details.php
/** Search the below line */
<div class="content article-table grid">
and add the following code above the searched line
<?php
// Novalnet code begins
if (preg_match("/novalnet/i", $order->info['payment_method'])) {
include_once(DIR_FS_CATALOG . 'admin/novalnet_extension.php');
appendNovalnetOrderProcess((int)$GLOBALS['oID']);}
// Novalnet code ends
?>
/** After adding the codes save the file. */To display and process Apple Pay and Google Pay button in cart page
To display and process Apple Pay and Google Pay button in cart page, please follow the below steps.
Step 1. File path: "< Root_Directory >/themes/{current-active-theme}/html/system/cart_totals.html"
/** Search the below code */
{if isset($PAYPAL_EC_BUTTON)}
<div class="paypal-ec-button-container">
<img class="paypal-ec-button" src="{$PAYPAL_EC_BUTTON.src}" alt="PayPal ECS"
data-gambio-widget="{$PAYPAL_EC_BUTTON.widget}"
data-paypal_ec_button-page="{$PAYPAL_EC_BUTTON.page}"
data-paypal_ec_button-redirect="{$PAYPAL_EC_BUTTON.redirect}"
data-paypal_ec_button-display-cart="{$PAYPAL_EC_BUTTON.display_cart}" />
</div>
{/if}
</div>
/** and add the following code below the searched line */
<div id="novalnet_applepay_wallet_div" style="display:none" >
<div id="novalnet_applepay_wallet_button" ></div>
</div>
</br>
<div id="novalnet_googlepay_wallet_div" style="display:none" >
<div id="novalnet_googlepay_wallet_button" ></div>
</div>
<script>
window.onload = function() {
novalnet_wallet_cart_page();
}
</script>
/** After adding the codes save the file */Step 2. File path: "< Root_Directory >/shopping_cart.php"
/** Search the below code */
unset($_SESSION['nvpReqArray']);
and add the following code above the searched line
## Applepay
require_once(DIR_FS_CATALOG.'includes/modules/payment/novalnet_applepay.php');
$applepay_cart = new novalnet_applepay();
$display_page = defined('MODULE_PAYMENT_NOVALNET_APPLEPAY_BUTTON_DISPLAY') ? explode('|',
MODULE_PAYMENT_NOVALNET_APPLEPAY_BUTTON_DISPLAY) : array();
if($applepay_cart->enabled === true && in_array('shopping cart page',$display_page)){
if (defined('MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED') &&
trim(MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED) != '') {
$t_gm_allowed_countries = defined('MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED') ? explode(',',
MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED) : array();
if (!in_array($order->delivery['country']['iso_code_2'], $t_gm_allowed_countries)) {
$this->enabled = false;
}
} else {
$applepay_cart->applepayCart_page_button();
}
}
## Googlepay
require_once(DIR_FS_CATALOG.'includes/modules/payment/novalnet_googlepay.php');
$googlepay_cart = new novalnet_googlepay();
$googlepay_display_page = defined('MODULE_PAYMENT_NOVALNET_GOOGLEPAY_BUTTON_DISPLAY') ? explode('|',
MODULE_PAYMENT_NOVALNET_GOOGLEPAY_BUTTON_DISPLAY) : array();
if($googlepay_cart->enabled === true && in_array('shopping cart page',$googlepay_display_page)){
if (defined('MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED') &&
trim(MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED) != '') {
$t_gm_allowed_countries = defined('MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED') ? explode(',',
MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED) : array();
if (!in_array($order->delivery['country']['iso_code_2'], $t_gm_allowed_countries)) {
$this->enabled = false;
}
} else {
$googlepay_cart->googlepayCart_page_button();
}
}
/** After adding the codes save the file. */To display and process the Apple pay and Google pay button in product page
Step 1: File path: < Root_Directory >/themes/{current-active-theme}/html/system/product_info_product_box_bottom.html
/** Search the below code */
{block name="module_product_info_standard_sticky_box_paypal_ec_button"}
{if isset($PAYPAL_EC_BUTTON)}
<div class="paypal-ec-button-container">
<img class="paypal-ec-button" src="{$PAYPAL_EC_BUTTON.src}" alt="PayPal ECS"
data-gambio-widget="{$PAYPAL_EC_BUTTON.widget}"
data-paypal_ec_button-page="{$PAYPAL_EC_BUTTON.page}"
data-paypal_ec_button-redirect="{$PAYPAL_EC_BUTTON.redirect}"
data-paypal_ec_button-display-cart="{$PAYPAL_EC_BUTTON.display_cart}"/>
</div>
{/if}
{/block}
/** and add the following code below the searched line */
<div id="novalnet_applepay_wallet_div" class="button-container" style="display:none" >
<div id="novalnet_applepay_wallet_button" ></div>
</div>
</br>
<div id="novalnet_googlepay_wallet_div" class="button-container" style="display:none" >
<div id="novalnet_googlepay_wallet_button" ></div>
</div>
<script>
window.onload = function() {
novalnet_wallet_product_page();
};
</script>
/** After adding the codes save the file. */Step 2. File path: "< Root_Directory >/product_info.php"
/** Search the below code */
$coo_product_info_view->setLanguageId($language_id->value());
/** and add the following code below the searched line */
## Applepay
require_once(DIR_FS_CATALOG.'includes/modules/payment/novalnet_applepay.php');
$applepay_cart = new novalnet_applepay();
$display_page = defined('MODULE_PAYMENT_NOVALNET_APPLEPAY_BUTTON_DISPLAY') ? explode('|',
MODULE_PAYMENT_NOVALNET_APPLEPAY_BUTTON_DISPLAY) : array();
if($applepay_cart->enabled === true && in_array('product page',$display_page)){
if (defined('MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED') &&
trim(MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED) != '') {
$t_gm_allowed_countries = defined('MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED') ? explode(',',
MODULE_PAYMENT_NOVALNET_APPLEPAY_ALLOWED) :array();
if (!in_array($order->delivery['country']['iso_code_2'], $t_gm_allowed_countries)) {
$applepay_cart->enabled = false;
}
} else {
$applepay_cart->applepayProduct_page_button();
}
}
## Googlepay
require_once(DIR_FS_CATALOG.'includes/modules/payment/novalnet_googlepay.php');
$googlepay_cart = new novalnet_googlepay();
$display_page = defined('MODULE_PAYMENT_NOVALNET_GOOGLEPAY_BUTTON_DISPLAY') ? explode('|',
MODULE_PAYMENT_NOVALNET_GOOGLEPAY_BUTTON_DISPLAY) : array();
if($googlepay_cart->enabled === true && in_array('product page',$display_page)){
if (defined('MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED') &&
trim(MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED) != '') {
$t_gm_allowed_countries = defined('MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED') ? explode(',',
MODULE_PAYMENT_NOVALNET_GOOGLEPAY_ALLOWED) : array();
if (!in_array($order->delivery['country']['iso_code_2'], $t_gm_allowed_countries)) {
$googlepay_cart->enabled = false;
}
} else {
$googlepay_cart->googlepayProduct_page_button();
}
}
/** After adding the codes save the file. */Uninstallation
To uninstall the Novalnet Payment Plugin, please follow the steps below.
Step 1: Navigate to Modules > Payment Systems > Miscellaneous > added modules > Novalnet API Configuration (V_12.0.4).
Step 2: Select Novalnet API Configuration and click Uninstall.