https://gitlab.creativestyle.pl/magesuite/in-store-pickup-payment
This module provides the possibility to choose a DHL packstation as a delivery method. It adds an additional field to the address: Dhl Customer number
and adds a search field selecting packstation
Installation
This module is optional.
composer require "creativestyle/magesuite-in-store-pickup-payment": "1.0.0"
Admin settings
In Stores -> Configuration -> Sales -> Payment Methods
a new tab - In Store Pickup Payment
is available.
The following options can be configured (in described scopes) :
Name | Value | Comment |
---|---|---|
Enabled | Yes/No | by default this module is disabled |
Title | ||
New order status | Pending | |
Payment from applicable Countries | All Allowed Countries/Specific Countries | |
Payment from Specific Countries |
| Allows to choose specific countries from given list |
Instruction | ||
Minimum order total | ||
Maximum order total | ||
Sort Order |
Backend
Frontend
Frontend screens
In the checkout delivery method section a new method is displayed:
After DHL packstation is selected the address form is hidden, Dhl Customer number
is shown along with the Select packstation
button.
In the modal, it is possible to enter a postal code and select a pack station.
The address of the packstation is displayed in the shipping step of checkout.
Styling
As the module is optional styling is not provided by default. The following import must be uncommented in a child theme that inherits from theme-creativeshop, in src/entries/checkout.ts
file:
import 'MageSuite_PackstationDhl';
Scripts
magesuite-packstation-dhl/view/frontend/web/js/model/packstations-service.js
magesuite-packstation-dhl/view/frontend/web/js/view/dhl-packstation.js
magesuite-packstation-dhl/view/frontend/web/js/view/packstation-selector.js
are the most important scripts with packstation logic.
Additionally the following mixins are added to Magento checkout scripts:
mixins: { 'Magento_Checkout/js/action/select-shipping-address': { 'MageSuite_PackstationDhl/js/action/select-shipping-address-ext': true, }, 'Magento_Checkout/js/model/quote': { 'MageSuite_PackstationDhl/js/model/quote-ext': true, }, 'Magento_Checkout/js/view/shipping-information': { 'MageSuite_PackstationDhl/js/view/shipping-information-ext': true, }, },