Subshops, Languages, Payment
|Top Previous Next|
Your 3P OpenCart installation can have any number of subshops with any language. Some customers host several subshops with the same language in a single country, while others manage several countries with one subshop and language each. OpenCart allows you to configure any of these scenarios in one installation and database.
The OpenCart Administration however always shows customers and orders from all subshops. If you want to manage one subshop at a time, you have to use the 3P BackOffice.
Before creating a new subshop (OpenCart store), you may need to add a new language and a new currency to OpenCart.
Adding a new language
If your store displays strings in the wrong language, or if you need to change the translations, they can be corrected either in the language PHP files, the template files or in one of the mySQL tables.
Adding a Currency
Since each OpenCart installation can have only one default currency, and all prices for other currencies are derived via exchange rate from this default currency, you have to make sure the OpenCart storefront shows the same price as the 3P Publisher application, which reads the prices from the products.xml file. So, if your default currency is €, and a product price inside the products.xml is $13, then the exchange rate € to $ must be set (fixed) to 1,30 in the Value field of the $ currency definition under Administration > System > Localisation > Currencies.
Adding a new Subshop (OpenCart store)
Once you have installed new language and defined new currencies, you can create a new subshop. This is done in Administration > System > Settings > New. After defining the shop parameters, you can add products via Administration > System > Products Importer.
Please follow the corresponding payment module help documentation.
For individual payment gateways in your country, you may have to develop an interface to OpenCart yourself. We've done this in Germany with our own payment system called Pixpedia PayDirect. We used the Paypal Express Checkout module as a basic code example. You may also check the OpenCart payment extension database for payment modules which are not included in the default OpenCart installation. If you have no individual payment gateway and don't need one, we advise to install the following standard payment methods in 3P OpenCart, allowing you to reach up to 80% of worldwide customers according to 2014 statistics:
Example 1: For Bank Transfer you have to set Order Status to Waiting for payment (1) in the settings dialog. As soon as the money is in your account, you can change the status to Queued (2) in the 3P BackOffice. Only then will the printable PDF files be generated (by a Cron Job).
Example 2: For Paypal Express Checkout, you will have to setup an IPN URL in your Paypal merchant account page. You have to copy this URL to your OpenCart Paypal settings, and assign the payment status values from the table oc_order_status to the corresponding Paypal return codes. There are two mandatory Paypal return codes that need to be associated with 3P OpenCart:
Whenever a payment gateway requiries you to add a status value to oc_order_status, please use a non-reserved status_id above 200, and also add this ID with a description to the table oc_3p_description. If you then add an image with the name order_statusXY.png to the folder openoffice\images, where XY is your new status_id, you will see a corresponding icon in the 3P BackOffice Orders list. You can then also filter for this new status_id.
Warning: an installed payment extension applies to ALL shops. The Geo Zone option in the payment settings dialog only specifies, if the payment gateway is available at the geographical location of the customer, which is defined by his home address.
In order to allow coupons, discounts and vouchers in your store, they have to be enabled and sequenced under Extensions > Order Totals. The item order designates in which sequence they appear in the total calculation. Here is the default OC setup:
In international commerce it is standard to calculate discounts on net prices, and to then apply the tax on the discounted net price. If you applied taxes before the discount, you would be paying too much tax. While it is common for shops in Europe to promote a discount based on the gross price (including taxes), which is convenient for the customer, it is actually wrong from an accounting perspective, even though the end total will turn out the same. Example with a net price of $10, a discount of 10% and a tax of 19%:
Language strings in the Products.xml
Product Features and Options in the products.xml can have the attribute DisplayName. Example:
<DisplayName>Gold plated spirale</DisplayName>
When you import the products.xml in the 3P OpenCart administration, the importer will use the DisplayName in the product information page. However, some strings need to be translated manually.
If you have 3 different stores and languages, you should have 3 languages packs (extensions) installed in your OpenCart system. The language file for import is located in /admin/language/english/tool/3p_pi.php. You will have to copy this file into the target language folder and translate the strings within.