modified-eCommerce is available as a shopping cart system at Shopgate.
By setting up the Shopgate plugin for your modified-eCommerce shop, you will get these features straight into your mobile shop and apps:
Supported Version | Import to modified-eCommerce | ||
All versions of modified-eCommerce |
Orders | ✔ | |
Sync | Export to Shopgate Mobile Shop | ||
Delivery Status "Shipped" |
✔ ✔ ✔ |
Products Categories Reviews |
✔ ✔ ✔ |
Customer Account | Validate, upon Cart Changes | ||
Login with Desktop Shop Account |
✔ ✔ ✔ / ✔ ✔ |
Coupon Shipping Method Payment Method Product Availability |
✔ ✔ ✘ ✔ |
Supported Payments | Notes | ||
Prepayment |
You can (re)name the payment methods in your mobile shop. For more details about payment mapping, click here. |
In this article, you will find the instructions to set up the Shopgate plugin for your shop with modified-eCommerce.
Install the Shopgate plugin
Download the plugin
Download the plugin named shopgate-modified-integration.zip here and extract the content of the zip file.
Upload the plugin
To upload files to your FTP server, you will need an FTP client tool such as FileZilla.
- Connect FileZilla or another FTP program to your server.
- Navigate to the extracted Shopgate plugin in your local directory (left), and your shopping cart folder on the FTP server (right). Select ALL files in your Shopgate plugin local folder and drag them into your shop folder. The upload will start immediately. Click Yes if you are asked to override a folder.
Set file permissions
Set permissions for the folders config and temp that are located in /includes/external/shopgate/shopgate_library to readable and writeable (777). Set the options exactly as shown below. Click OK.
Modify the codes
In order for the Shopgate plugin to work in your modified eCommerce system, a few lines of codes need to be added to 9 files in your modified eCommerce backend. For detailed descriptions on how to modify codes in your shop's backend folders, click here.
Modify all files listed below. Copy the marked codes and paste them into the corresponding lines in your file. Line numbers in the following code snippets; however, refer to an "unmodified" version of files. If you already modified your files, the line numbers may vary. Only the highlighted parts need to be added to the files.
The paths are relative to your shop’s base folder. For example, if your modified eCommerce has been installed at /public_html/catalog/, then the path of includes/filenames.php refers to /public_html/catalog/includes/filename.php.
Also, keep in mind that the default folder name admin is used below. If you have renamed your admin folder, locate the files in that directory.
define('TXT_GROUPS','Gruppen:');
define('TXT_SYSTEM','System');
define('TXT_CUSTOMERS','Kunden/Bestellungen');
define('TXT_PRODUCTS','Artikel/Kategorien');
define('TXT_STATISTICS','Statistiktools');
define('TXT_TOOLS','Zusatzprogramme');
define('TEXT_ACCOUNTING','Zugriffseinstellungen für:');
/******* SHOPGATE **********/
include_once DIR_FS_CATALOG.'includes/external/shopgate/base/lang/german/admin/german.php';
/******* SHOPGATE **********/
// javascript messages
define('JS_ERROR','Während der Eingabe sind Fehler aufgetreten!\nBitte korrigieren Sie folgendes:\n\n');
define('JS_OPTIONS_VALUE_PRICE','* Sie müssen diesem Wert einen Preis zuordnen\n');
define('JS_OPTIONS_VALUE_PRICE_PREFIX','* Sie müssen ein Vorzeichen für den Preis angeben (+/-)\n');
define('TXT_GROUPS','Groups:');
define('TXT_SYSTEM','System');
define('TXT_CUSTOMERS','Customers/Orders');
define('TXT_PRODUCTS','Products/Categories');
define('TXT_STATISTICS','Statistics');
define('TXT_TOOLS','Tools');
define('TEXT_ACCOUNTING','Admin-access for:');
/******* SHOPGATE **********/
include_once DIR_FS_CATALOG.'includes/external/shopgate/base/lang/english/admin/english.php';
/******* SHOPGATE **********/
// javascript messages
define('JS_ERROR','Error have occured during the process of your form!\nPlease make the following corrections:\n\n');
// BOF - Tomcraft - 2009-10-03 - Paypal Express Modul
define('TABLE_PAYPAL','paypal');
define('TABLE_PAYPAL_STATUS_HISTORY','paypal_status_history');
// EOF - Tomcraft - 2009-10-03 - Paypal Express Modul
/******** SHOPGATE **********/
define("TABLE_SHOPGATE_ORDERS","orders_shopgate_order");
/******** SHOPGATE **********/
// BOF - cYbercOsmOnauT - 2011-02-11 - New DB Cache System
$constants=get_defined_constants(true);
$tablesArray=array();
if($order_updated){
/******* SHOPGATE **********/
if(MODULE_PAYMENT_SHOPGATE_STATUS=='True'){
include_once DIR_FS_CATALOG.'includes/external/shopgate/base/admin/orders.php';
setShopgateOrderStatus($oID,$status);
}
/******* SHOPGATE **********/
$messageStack->add_session(SUCCESS_ORDER_UPDATED,'success');
}else{
$messageStack->add_session(WARNING_ORDER_NOT_UPDATED,'warning');
}
xtc_redirect(xtc_href_link(FILENAME_ORDERS, xtc_get_all_get_params(array('action')).'action=edit'));
break;
if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['products_expected'] == '1')) echo '<li><a href="' . xtc_href_link(FILENAME_PRODUCTS_EXPECTED, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_PRODUCTS_EXPECTED . '</a></li>';
echo ('</ul>');
echo ('</li>');
/******** SHOPGATE **********/
include_once DIR_FS_CATALOG.'includes/external/shopgate/base/admin/includes/column_left.php';
/******** SHOPGATE **********/
// BOF - Tomcraft - 2009-11-28 - Included xs:booster
//---------------------------XSBOOSTER
if (MODULE_XTBOOSTER_STATUS=='True') {
echo ('<li>');
If this file doesn't exist, try admin/includes/application_top.php
define('FILENAME_PRINT_PRODUCT_INFO','print_product_info.php');
define('FILENAME_PRINT_ORDER','print_order.php');
/******** SHOPGATE **********/
define('FILENAME_SHOPGATE','shopgate.php');
/******** SHOPGATE **********/
define('FILENAME_ERROR_HANDLER','error_handler.php');
define('FILENAME_CONTENT','shop_content.php');
function xtc_remove_order($order_id,$restock=false){
if($restock=='on'){
xtc_db_query("update ".TABLE_PRODUCTS." p
join ".TABLE_ORDERS_PRODUCTS." o on o.products_id = p.products_id
set p.products_quantity = p.products_quantity + o.products_quantity,
p.products_ordered = p.products_ordered - o.products_quantity
where o.orders_id = '".xtc_db_input($order_id)."'");
}
xtc_db_query("delete from ".TABLE_ORDERS." where orders_id = '".xtc_db_input($order_id)."'");
xtc_db_query("delete from ".TABLE_ORDERS_PRODUCTS." where orders_id = '".xtc_db_input($order_id)."'");
xtc_db_query("delete from ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." where orders_id = '".xtc_db_input($order_id)."'");
xtc_db_query("delete from ".TABLE_ORDERS_STATUS_HISTORY." where orders_id = '".xtc_db_input($order_id)."'");
xtc_db_query("delete from ".TABLE_ORDERS_TOTAL." where orders_id = '".xtc_db_input($order_id)."'");
xtc_db_query("delete from ".TABLE_ORDERS_PRODUCTS_DOWNLOAD." where orders_id = '".xtc_db_input($order_id)."'");
/******** SHOPGATE **********/
$sql_select="SHOW TABLES LIKE '".TABLE_SHOPGATE_ORDERS."'";
$query= xtc_db_query($sql_select);
if(xtc_db_num_rows($query)>0){
xtc_db_query("delete from ".TABLE_SHOPGATE_ORDERS." where orders_id = '".xtc_db_input($order_id)."'");
}
/******** SHOPGATE **********/
}
?>
<?php
/******** SHOPGATE **********/
if(MODULE_PAYMENT_SHOPGATE_STATUS=='True' && strpos($_SESSION['customers_status']['customers_status_payment_unallowed'], 'shopgate') === false){
include_once (DIR_FS_CATALOG.'includes/external/shopgate/base/includes/header.php');
}
/******** SHOPGATE **********/
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['language_charset']; ?>" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<?php
/******** SHOPGATE **********/
if(MODULE_PAYMENT_SHOPGATE_STATUS=='True' && strpos($_SESSION['customers_status']['customers_status_payment_unallowed'], 'shopgate') === false){
echo $shopgateJsHeader;
}
/******** SHOPGATE **********/
?>
<?php include(DIR_WS_MODULES.FILENAME_METATAGS); ?>
<link rel="shortcut icon" href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER).DIR_WS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/favicon.ico';?>" type="image/x-icon" />
<?php
Released under the GNU General Public License
---------------------------------------------------------------------------------------*/
/******* SHOPGATE **********/
if(MODULE_PAYMENT_SHOPGATE_STATUS=='True' && strpos($_SESSION['customers_status']['customers_status_payment_unallowed'], 'shopgate') === false){
include_once DIR_FS_CATALOG.'includes/external/shopgate/base/includes/modules/product_info.php';
}
/******* SHOPGATE **********/
//include needed functions
require_once (DIR_FS_INC.'xtc_check_categories_status.inc.php');
Install the plugin
- Log into your shop’s backend and navigate to Modules → Payment Systems.
- In the list of modules, locate "Shopgate," and click + Install on the right.
- If installed correctly, the Install button will become Uninstall and Edit buttons. Reload the page - you should now see Shopgate on your top menu bar.
- Click Shopgate → Settings to open the configuration page (shown below) for the Shopgate plugin. Leave this page open - we will explain how to find the required info in the next chapters.
Establish connections
After the Shopgate plugin has been installed successfully, two simple tasks need to be completed to connect your mobile shop at Shopgate to your shop's backend. First, you need to enter API credentials in your shop's backend. Secondly, you need to enter your shop's URL in your Shopgate's admin page.
Get API credentials
- Log in to your Shopgate Admin and navigate to Integration → Install Interface.
- In the drop-down labeled "Select a system," type "modified-eCommerce" and select it. The pop-up shown below will open.
- Copy Customer number, Shop number, API key, and Alias, and paste them individually onto the plugin configuration page you left open from the last chapter. The rest of the options can be configured later (as explained in Configure the Plugin). Click Save.
Connect your shop to Shopgate
- Switch back to your Shopgate Admin. Enter your shop's URL in the text field under 3. Enter URL. Click Connect to establish the interface.
- If a connection is made successfully, the pop-up shown below will open. Leave all assignments to ON and save.
Congratulations! Now you should see the progress bar running, and the Shopgate backend automatically filling your mobile shop with your products. Depending on how many products you have, the import process can take anywhere from a few minutes to a few hours.
Welcome to the mobile world!
Update an existing plugin
Before updating your Shopgate plugin to a newer version, make sure to check if your shop uses a customized version of the Shopgate plugin. If this is the case, a generic plugin update will NOT work for your shop.
You are using a customized version if:
- You have contacted Shopgate for making a third party plugin to work in your mobile shop, or for adding a special feature/function.
- Shopgate has sent you an adapted version of the plugin.
- The plugin file you installed has "adaption" in the name.
Once you know if you are using a customized Shopgate plugin or not, follow the instructions below to update it:
- Deactivate the plugin. Log into your shop’s backend. Navigate to Modules → Payment Systems in the top menu. Find "Shopgate" in the list of modules, and click Uninstall on the right.
- Back up the plugin. Use an FTP tool such as FileZilla to back up your installation of the plugin. Back up the folder includes/external/shopgate by downloading it:
- Delete the plugin. Use your FTP tool to delete the folder includes/external/shopgate: right click on the Shopgate folder, then click Delete and Yes.
- Install the new version. Refer to Chapter 1 to install the latest version of the plugin. However, skip "Modify the codes". You do NOT need to modify the codes every time you update the plugin.
- Email Shopgate with the following details each time before updating to received the newest plugin for your customizations:
- To: support@shopgate.com
- Subject: Request an updated Shopgate plugin (custom adaption)
- Email body: Include your shop number and any additional info necessary. Where can I find my shop number?
- Deactivate the plugin. Log into your shop’s backend. Navigate to Modules → Payment Systems in the top menu. Find "Shopgate" in the list of modules, and click Uninstall on the right.
- Back up the plugin. Use an FTP tool such as FileZilla to back up your installation of the plugin. Back up the folder includes/external/shopgate by downloading it:
- Delete the plugin. Use your FTP tool to delete the folder includes/external/shopgate: Right click on the Shopgate folder, then Delete and Yes.
- Install the new version. Refer to Chapter 1 to install the latest version of the plugin. However, skip "Modify the codes". You do NOT need to modify the codes every time you update the plugin.
That's it! Now you have successfully updated your Shopgate plugin to the latest version.
Configure the plugin
Find the detailed explanations under each option. Refer to Chapter 1.5.5 to learn where to find the configuration page.
Frequently Asked Questions
How can I replace the code name of a payment on an order's detail page?
On an order's detail page of your mobile shop, a code name is shown for each payment method. For example, "AUTHN_CC" is shown if a customer has paid with a credit card via Authorize.net, and "COD" is shown if a customer selected "cash on delivery."
If you would prefer to display different names for your payment methods, you can now use the payment mapping feature in your modified-eCommerce admin. To do so, follow the steps here:
- In your modified-eCommerce admin, find the Shopgate entry on the left and click Settings.
- In the section labeled "Importing orders," find Display names for payment methods.
- To map your display names, enter "Codename"="your display name" and separate each payment with a semicolon. For example, enter
AUTHN_CC=Credit card via Authorize;COD=Cash on delivery
Use the table below to find the code names of your payments.
Code name | Description | Codename | Description |
ACCRD_INS | Installment via Accarda | PAYONE_IDL | iDEAL via PAYONE |
ACCRD_INV | Invoice via Accarda | PAYONE_INV | Invoice via PAYONE |
AUTHN_CC | Credit card via Authorize.net | PAYONE_KLV | Klarna invoice via PAYONE |
BARZAHLEN | Pay in-store via Barzahlen | PAYONE_PP | PayPal via PAYONE |
BILLSAFE | Invoice via Billsafe | PAYONE_PRP | Prepayment via PAYONE |
BRAINTR_CC | Credit card via Braintree | PAYONE_SUE | SOFORT Überweisung via PAYONE |
CHASE_CC | Credit card via Chase Paymentech | PAYPAL | PAYPAL |
CMPTOP_CC | Credit card via Computop | PAYU | PayU |
CMPTOP_DBT | Direct debit via Computop | PP_WSPP_CC | Credit card via PayPal Website Payments Pro |
CMPTOP_PP | PayPal via Computop | PPAL_PLUS | PayPal Plus |
COD | Cash on Delivery | PREPAY | Prepayment |
COLL_STORE | Collection at store | REALEX_CC | Credit card via Realex |
CONCAR_CC | Credit card via ConCardis (DirektLink) | SAGEPAY_CC | Credit card via SagePay |
CYBRSRC_CC | Credit card via CyberSource | SAGEPAY_PP | PAYPAL via SagePay |
DEBIT | Direct debit | SHOPGATE | Shopgate payments |
DT_CC | Credit card via DataTrans | SIX_CC | Credit card via SIX Saferpay (External) |
DTCASH_CC | Credit card via DataCash | SIX_IDEAL | iDEAL via SIX Saferpay |
EWAY_CC | Credit card via eWAY | SIX_PP | PayPal via SIX Saferpay |
FRSTDAT_CC | Credit card via FirstData US | SKRILL_CC | Credit card via Skrill (External) |
HDLPAY_CC | Credit card via HeidelPay | SKRILL_DBT | Direct debit via Skrill |
HDLPAY_SUE | HeidelPay (SOFORT Überweisung) | SKRILL_IDL | iDEAL via Skrill |
HIPAY | Credit card via HiPay (external) | SKRILL_SUE | SOFORT Überweisung via Skrill |
INVOICE | INVOICE (Own Settlement) | SPONE_DBT | Direct debit via SEPAone |
KLARNA_INV | Invoice via Klarna | STRIPE_CC | Credit card via Stripe |
MASTPAY_CC | Credit card via Masterpayment | SUE | SOFORT Überweisung |
MASTPAY_PP | PAYPAL via Masterpayment | TELECSH_CC | Telecash |
MASTPAY_SUE | Masterpayment (SOFORT Überweisung) | TRNSFST_CC | Credit card via TransFirst |
MSTPAY_INV | Invoice via Masterpayment | UPAID_MCM | MasterPass |
MWS | Amazon Payments (Own - APA) | USAEPAY_CC | Credit card via USA ePay |
OGONE_CC | Credit card via Ogone | WCARD_DBT | Direct debit (External) via Wirecard (Checkout Page) |
PAY4ONE_CC | Credit card via Pay4one | WCARD_INV | Invoice via Wirecard (Checkout Page) |
PAYJUNC_CC | Credit card via PayJunction | WCARD_PP | PayPal via Wirecard (Checkout Page) |
PAYMRW_DBT | Direct debit via Paymorrow | WCARD_SUE | SOFORT Überweisung via Wirecard (Checkout Page) |
PAYMRW_INV | Invoice via Paymorrow | WCARDS_CC | Credit card (External) via Wirecard (Checkout Seamless) |
PAYOL_INS | Installment via Payolution | WCARDS_DBT | Direct debit (External) via Wirecard (Checkout Seamless) |
PAYOL_INV | Invoice via Payolution | WCARDS_PP | PayPal via Wirecard (Checkout Seamless) |
PAYONE_CC | Credit card via PAYONE | WCARDS_SUE | SOFORT Überweisung via Wirecard (Checkout Seamless) |
PAYONE_DBT | Direct debit via PAYONE | WIRECRD_CC | Credit card (External) via Wirecard (Checkout Page) |
PAYONE_GP | Giropay via PAYONE | WORLDLINE | Credit card via Worldline (External) |