Geri

VibeFox GLS ParcelShop for Adobe Commerce — Yardım

Requirements

Magento: Magento Open Source or Adobe Commerce 2.4.6 to 2.4.9, on your own server or hosting, on premises or on Adobe Commerce on cloud infrastructure. The module does not work with Adobe Commerce as a Cloud Service (the SaaS edition), which does not accept PHP modules. The ParcelShop selection works in the standard Magento checkout (Luma and Blank themes).

PHP: 8.1 to 8.4, with the cURL and JSON extensions.

GLS: no GLS account or API key is used or needed by the module. The ParcelShop map is public. You need a GLS contract to ship the parcels to the chosen ParcelShops.

VibeFox license key: bought on vibefox.net. One key works on one domain.

Installation

The module is one ZIP file. It is a Composer package and can also be copied into app/code. Run the commands in the Magento root folder as the user that owns the Magento files.

1. With Composer: put the ZIP file into a folder that your project uses as a Composer "artifact" repository and run composer require vibefox/module-gls-parcelshop-shipping. Without Composer: unpack the ZIP file into app/code/Vibefox/GlsParcelshopShipping/, so that registration.php is directly in that folder.

2. Run bin/magento module:enable Vibefox_GlsParcelshopShipping and bin/magento setup:upgrade. In production mode also run bin/magento setup:di:compile and bin/magento setup:static-content:deploy, then bin/magento cache:flush.

3. In the Admin go to Stores > Configuration > Sales > Delivery Methods and open VibeFox GLS ParcelShop. Paste your VibeFox license key into License key in the license block, the first row of the group, and click Activate (see License key).

4. Set your prices: at least one Country prices row (for example * All other countries) or a Fallback cost (see Configuration). Set Enable GLS ParcelShop to Yes and click Save Config.

The module adds the GLS ParcelShop shipping method to Magento. Customers see it as GLS ParcelShop - ParcelShop delivery (carrier title and method name). It is off after installation (Enable GLS ParcelShop = No). The module creates a table for the ParcelShops chosen in carts and orders.

Configuration

All settings are in Stores > Configuration > Sales > Delivery Methods > VibeFox GLS ParcelShop, in the standard Magento configuration form. Like other Magento settings, they can be changed for a website or a store view with the Scope switcher at the top of the page. Remove data on uninstall is read from the Default Config only. Save Config saves the whole page. Amounts and weights accept "4.99" and "4,99".

A wrong value is not saved, and the other fields are still saved. Magento shows the warning GLS ParcelShop: … Previous value kept for … with the reason and the field, and the field keeps its previous value: an empty Carrier title or Method name, longer than 64 characters or with one of the characters < > ; = # { }; a Sort order that is not a whole number; an amount or weight that is not a number of 0 or more; a Minimum weight (kg) greater than the Maximum weight (kg) (both weights keep their previous values). If a value in the Country prices table is not a valid number, the whole table is not saved and the warning GLS ParcelShop country prices: invalid number; the previous table was kept. appears.

The Information row at the top of the group says that no GLS account or API key is needed and lists the GLS map countries. While Enable GLS ParcelShop is Yes, it also warns when no price is set (GLS ParcelShop: no price is set; add Country prices or a Fallback cost.) and when some of the Ship to Specific Countries are not covered by the GLS map (GLS ParcelShop map does not cover: followed by the country codes). The warnings are shown only while the method is enabled, because the Delivery Methods page is shared by all shipping methods.

General

Enable GLS ParcelShop: shows or hides GLS ParcelShop at checkout. Default: No.

Carrier title: the carrier name shown in the cart and at checkout. Default: GLS ParcelShop. Required, at most 64 characters.

Method name: shown after the carrier title, as "Carrier title - Method name". Default: ParcelShop delivery. Required, at most 64 characters.

Sort order: the position among the shipping methods at checkout. A whole number, negative numbers are allowed.

Prices

Prices are entered in the base currency of your store, tax excluded. Magento shows the price to the customer in the customer's currency. The module has no tax field: if your store taxes shipping, Magento adds tax with the class in Stores > Configuration > Sales > Tax > Tax Classes > Tax Class for Shipping.

Calculation type: how the price is applied.

Per order: the price is charged once per order (default).
Per item (price x quantity): the price is multiplied by the number of items in the cart. Virtual and downloadable products are not counted.

Country prices: a table with one row per destination country. Click Add country to add a row and Delete to remove one. Each row has a Country, a Base price and five weight columns: XS up to 1 kg, S up to 2 kg, M up to 3 kg, L up to 5 kg and XL over 5 kg. The column for the cart weight is used. A weight column left empty or at 0 uses the Base column. The * All other countries row is used for map countries without their own row. If a country has two rows, the first one is used. New rows start with * All other countries and empty prices. An empty price counts as 0, and a row where all prices are 0 gives free delivery, so choose the country and fill in the prices before you save.

Fallback cost: the price used when the table has no row for the destination country and no * All other countries row. In the base currency, excluding tax. Leave it empty to hide the method for such countries.

Free shipping from: the cart subtotal (products that need shipping, after discounts, before tax, in the base currency) from which GLS ParcelShop delivery is free. Leave it empty if delivery is never free.

Availability

Minimum weight (kg): hide the method when the cart weighs less. Empty or 0 means no limit.

Maximum weight (kg): hide the method when the cart weighs more. Default: 20. Empty or 0 means no limit. GLS ParcelShops usually accept parcels up to 20 kg, so check your GLS contract.

Minimum cart subtotal: offer the method only when the cart subtotal (products that need shipping, after discounts, before tax, in the base currency) reaches this amount. Leave it empty for no minimum.

Ship to Applicable Countries: All Allowed Countries offers GLS ParcelShop for every GLS map country your store allows, Specific Countries only for the countries below.

Ship to Specific Countries: the destination countries for Specific Countries. Countries not covered by the GLS map are never offered, even if you select them.

Product weights are converted to kg from the weight unit of your store (Stores > Configuration > General > General > Locale Options > Weight Unit, lbs or kgs). The price uses the actual cart weight (the sum of product weights). Magento products have no standard dimensions, so volumetric weight is not calculated.

Advanced

Debug log: writes rate calculations to var/log/vfd_glps_debug.log.php in the Magento folder. The file cannot be opened from the web. Errors are always logged, even when this is off. No customer names or addresses are logged. Turn the log off when you are done.

Log: shows the size and the latest entries of the log. Click Clear log to empty it.

Remove data on uninstall: when Yes, uninstalling the module with its data deletes the settings, the log and the ParcelShops of carts without an order (see Uninstall). Default: No. ParcelShops saved in orders are always kept.

How it works at checkout

At the shipping step Magento asks the module for the GLS ParcelShop price. Only products that need shipping count: virtual and downloadable products add no weight and are not included in the subtotal. The module first checks the conditions: shipping country covered by the GLS map (and allowed by Ship to Applicable Countries), cart weight and Minimum cart subtotal. If the cart subtotal reaches Free shipping from, the delivery is free. Otherwise the price is taken from the row of the country (or the * All other countries row) and the weight column, or from Fallback cost. If no price is found, the method is hidden. A Magento cart price rule with free shipping also makes the price 0.

When the customer selects GLS ParcelShop, a GLS ParcelShop box with a Select or change ParcelShop button appears under the shipping methods. It opens the official GLS ParcelShop map for the shipping country. After a ParcelShop is chosen, the customer sees Saving ParcelShop... and then its name and address. The choice is saved to the cart, so it stays after the shipping step refreshes or the page reloads. If the shipping address changes to another country, the customer has to choose a ParcelShop again.

A ParcelShop is required. Without one the customer cannot click past Next and sees Please select a GLS ParcelShop on the map before continuing. A ParcelShop in another country than the shipping address is refused with The chosen GLS ParcelShop is in another country. Select a ParcelShop in the shipping country. If the customer clicks Next while the choice is still being saved, the box shows Please wait until the ParcelShop is saved. If the choice cannot be saved, the customer sees Could not save the GLS ParcelShop. Please try again. The server checks the ParcelShop and its country again when the shipping step is saved. If the GLS map script cannot be loaded, the customer sees The GLS map could not be loaded. Please try again later or choose another shipping method.

The GLS map runs in the customer's browser. The module loads the GLS map script from map.gls-croatia.com when the customer opens the map, and the map loads ParcelShop data and map tiles from GLS. GLS receives the usual request data of the visitor (IP address, browser). Nothing is sent from your server to GLS. The module adds map.gls-croatia.com to the Magento content security policy.

The module does not get live GLS rates, create GLS shipments, print labels or track parcels. It has no list of ParcelShops on your server, so it cannot verify the ParcelShop ID against GLS. Hand the ParcelShop ID from the order to GLS in your usual way (MyGLS, your GLS software or another module). The ParcelShop map is part of the standard Magento checkout only: other checkouts (for example Hyvä), checkout with multiple addresses and orders created in the Admin do not show it.

Pickup points

When the order is placed, the ParcelShop of the cart is saved with the order: its ID, its name with the address and its country. It no longer changes with the cart. The shipping address of the order is not changed.

Shipping description: the ParcelShop name and address are added to the shipping description of the order, for example GLS ParcelShop - ParcelShop delivery - GLS ParcelShop: followed by the ParcelShop name and address. This text is shown in the order in the customer account, in the order e-mails and on invoices.

Admin order page: on Sales > Orders > View, Information tab, a GLS ParcelShop block shows the ParcelShop name and address, ParcelShop ID: and Country:. The block also works for older orders and when the module is switched off. The ParcelShop cannot be changed in the Admin. If a GLS ParcelShop order has no ParcelShop (for example an order created in the Admin), the block shows No ParcelShop was selected for this order. and the log has an error for it. Give such an order to GLS by hand.

License key

The module works with a VibeFox license key from vibefox.net. The license block License — VibeFox GLS ParcelShop is the first row of the VibeFox GLS ParcelShop group in Stores > Configuration > Sales > Delivery Methods, above the settings. Paste the key into License key and click Activate. After that the block shows the key masked, the status (for example the date the license is active until and your domain) and the buttons Check now to check the status again, Change key to enter another key and Remove key to remove the key from this store. Below them are the line Product: magento-shipping-gls-parcelshop and the link Manage licenses and domains in your account, which opens your vibefox.net account. Only Admin users whose role allows the Delivery Methods configuration section can change the key. The texts of the block follow the Admin interface locale (English and Russian are included).

If the key is not accepted, the block says why, for example Key not found, This key belongs to another product, Domain limit reached or License expired on a date. After the store address changes, or after you free a domain slot in your account, click Check now. If the license server cannot be reached, the module keeps working on the last known status.

One key works on one domain: the domain of the default store view, also when the installation has several websites or stores. Removing the key from the store does not free its domain slot. Free the slot in your vibefox.net account.

Without an active key, the GLS ParcelShop method is not shown to customers at checkout and no rate is calculated. The Magento storefront does not know that you are logged in to the Admin, so the method is hidden for you too: you can set up the module before you buy a key, but not test it at checkout. A reminder appears in the System Messages of the Admin, with the links Enter the license key and Dismiss, which hides it for 7 days. Existing orders are not affected.

When a license expires, the module keeps working, but updates and support need a renewal. The status is checked again automatically: once a day for the first 14 days after the key is entered, then once a week, by the Magento cron and while you work in the Admin. Uninstalling the module with its data always removes the license key and license status.

Troubleshooting

GLS ParcelShop does not appear at checkout: check that the license is active and Enable GLS ParcelShop is Yes for the website of the store. Check that the shipping country is one of the GLS map countries and is allowed by Ship to Applicable Countries and Ship to Specific Countries, and that it has a price (a country row, the * All other countries row or Fallback cost). Check the weight limits and Minimum cart subtotal. Turn on Debug log, reload the checkout and look at the Log field in the Advanced section to see the reason.

The map does not open: the customer sees The GLS map could not be loaded. Please try again later or choose another shipping method. when the GLS script is blocked, for example by an ad or privacy blocker, a content security policy or a GLS outage. If your store adds its own content security policy rules, allow map.gls-croatia.com and the resources the GLS map loads.

Delivery is free for a country by mistake: check the row of that country in Country prices. A row where the Base price and all weight columns are empty or 0 gives free delivery.

The table or a field was not saved: a value is not valid. The warning at the top of the page names the field. Use digits with a comma or a point as the decimal separator.

The settings page or the checkout looks unchanged after installing or updating: run bin/magento setup:upgrade and bin/magento cache:flush; in production mode also setup:di:compile and setup:static-content:deploy.

Uninstall

Deleting the module code alone removes nothing from the database: the license key, the settings and the ParcelShops stay. To remove the data, uninstall the module with the Magento command:

Installed with Composer: run bin/magento module:uninstall --remove-data Vibefox_GlsParcelshopShipping. It removes the data and the code.

Installed in app/code: run bin/magento module:uninstall --non-composer Vibefox_GlsParcelshopShipping to remove the data, then bin/magento module:disable Vibefox_GlsParcelshopShipping, delete the folder app/code/Vibefox/GlsParcelshopShipping and run bin/magento setup:upgrade.

The license key and the license status are always removed. If Remove data on uninstall is Yes, the settings, the log and the ParcelShops of carts without an order are removed too. If it is No, the settings are kept for a re-install. The ParcelShop table and the ParcelShops saved in orders are always kept, and the shipping description of the orders does not change.

GLS is a trademark of its respective owner. This module is not affiliated with or endorsed by GLS.