├── Checkout ├── Repository │ └── .gitkeep ├── Services │ ├── ProxyService.php │ ├── CurrencyService.php │ ├── DeliveryZoneSetupService.php │ └── DeliveryMethodSetupService.php ├── Contracts │ ├── CheckoutServiceFactoryInterface.php │ └── CheckoutConfiguratorFactoryInterface.php └── Factories │ └── CheckoutConfiguratorFactory.php ├── view ├── adminhtml │ ├── web │ │ ├── css │ │ │ ├── servicepoint.less │ │ │ ├── branding.css │ │ │ └── style.css │ │ ├── js │ │ │ └── form │ │ │ │ └── elements │ │ │ │ └── container.js │ │ └── images │ │ │ └── sendcloud-menu.svg │ ├── templates │ │ └── system │ │ │ └── config │ │ │ ├── form │ │ │ ├── general_message.phtml │ │ │ └── plugin_version.phtml │ │ │ ├── branding.phtml │ │ │ ├── button │ │ │ └── button.phtml │ │ │ └── modal │ │ │ └── data.phtml │ ├── layout │ │ ├── default.xml │ │ ├── sales_order_view.xml │ │ └── sendcloud_configuration_index.xml │ └── ui_component │ │ └── shipping_rates.xml └── frontend │ ├── web │ ├── template │ │ ├── checkout │ │ │ └── shipping │ │ │ │ ├── checkout.html │ │ │ │ └── servicePoint.html │ │ ├── sc-method-list-template.html │ │ └── sc-method-item-template.html │ ├── js │ │ ├── model │ │ │ ├── shipping-rates-validation-rules.js │ │ │ ├── shipping-save-processor │ │ │ │ ├── payload-extender-mixin.js │ │ │ │ └── mageplaza.js │ │ │ └── shipping-rates-validator.js │ │ ├── checkout │ │ │ ├── nominatedDay │ │ │ │ ├── placeOrder.js │ │ │ │ ├── validate.js │ │ │ │ └── shipping.js │ │ │ ├── servicePoint │ │ │ │ ├── placeOrder.js │ │ │ │ ├── validate.js │ │ │ │ └── shipping.js │ │ │ ├── action │ │ │ │ └── reset-service-point.js │ │ │ ├── amasty.js │ │ │ ├── payload-extender.js │ │ │ └── mageplaza.js │ │ ├── servicePoint │ │ │ ├── mixins │ │ │ │ ├── placeOrder.js │ │ │ │ ├── validate.js │ │ │ │ ├── shipping.js │ │ │ │ ├── payload-extender.js │ │ │ │ ├── amasty-servicepoint.js │ │ │ │ └── mageplaza-servicepoint.js │ │ │ └── action │ │ │ │ └── reset-service-point.js │ │ ├── view │ │ │ └── shipping-rates-validation │ │ │ │ ├── sendcloud.js │ │ │ │ └── sendcloud-checkout.js │ │ ├── action │ │ │ └── select-shipping-method-mixin.js │ │ └── mixins │ │ │ ├── view │ │ │ └── review │ │ │ │ └── placeOrder.js │ │ │ └── checkout │ │ │ └── view │ │ │ ├── shipping-information.js │ │ │ └── shipping-mixin.js │ └── css │ │ └── source │ │ └── _module.less │ ├── layout │ ├── sales_order_view.xml │ ├── sc_sales_email_order_shipment_track.xml │ ├── multishipping_checkout_shipping.xml │ └── multishipping_checkout_overview.xml │ ├── templates │ ├── checkout │ │ └── multishipping.phtml │ ├── js.phtml │ └── email │ │ └── shipment │ │ └── track.phtml │ └── requirejs-config.js ├── Exceptions └── SendcloudException.php ├── Api ├── ModuleInformationInterface.php ├── SettingsInterface.php ├── DeliveryMethodNames.php ├── ServicePointInterface.php ├── ConfigInterface.php └── CheckoutConfigurationInterface.php ├── registration.php ├── CheckoutCore ├── Contracts │ ├── Utility │ │ └── WeightUnits.php │ ├── SchemaProviders │ │ └── SchemaProvider.php │ ├── Services │ │ ├── CurrencyService.php │ │ ├── DeliveryZoneSetupService.php │ │ ├── DeliveryMethodSetupService.php │ │ ├── DeliveryZoneService.php │ │ └── DeliveryMethodService.php │ ├── Proxies │ │ └── CheckoutProxy.php │ ├── Validators │ │ └── RequestValidator.php │ └── Facades │ │ └── CheckoutService.php ├── Exceptions │ ├── Unit │ │ └── UnitNotSupportedException.php │ ├── BaseException.php │ ├── HTTP │ │ └── HttpException.php │ ├── DTO │ │ └── DTOValidationException.php │ ├── Domain │ │ ├── FailedToDeleteCheckoutConfigurationException.php │ │ └── FailedToUpdateCheckoutConfigurationException.php │ └── ValidationException.php ├── Domain │ ├── Interfaces │ │ ├── Identifiable.php │ │ ├── Comparable.php │ │ ├── Updateable.php │ │ └── DTOInstantiable.php │ ├── Delivery │ │ ├── Availability │ │ │ ├── AvailabilityPolicy │ │ │ │ ├── NullAvailabilityPolicy.php │ │ │ │ ├── CompositeAvailabilityPolicy.php │ │ │ │ ├── StandardAvailabilityPolicy.php │ │ │ │ └── WeightAvailabilityPolicy.php │ │ │ ├── Weight.php │ │ │ ├── AvailabilityPolicy.php │ │ │ ├── OrderItem.php │ │ │ ├── Order.php │ │ │ └── AvailabilityPolicyFactory.php │ │ ├── FreeShipping.php │ │ ├── ServicePointData.php │ │ ├── Country.php │ │ └── Carrier.php │ └── Search │ │ └── Query.php ├── Validators │ └── NullRequestValidator.php ├── Utility │ ├── ArrayToHashMap.php │ ├── CollectionComparator.php │ └── UnitConverter.php ├── API │ └── Checkout │ │ └── Delivery │ │ ├── Method │ │ ├── DeliveryMethods │ │ │ ├── DeliveryMethodFactory.php │ │ │ └── ServicePointDelivery.php │ │ ├── ServicePointData.php │ │ └── FreeShipping.php │ │ └── Zone │ │ └── Location.php ├── HTTP │ └── Request.php └── Configurator.php ├── Logger └── SendCloudHandler.php ├── Block ├── Adminhtml │ ├── Form │ │ ├── Save.php │ │ └── Field │ │ │ ├── Import.php │ │ │ ├── Configuration.php │ │ │ └── Export.php │ ├── AbstractOrder.php │ └── Form.php ├── System │ └── Config │ │ └── Form │ │ ├── Branding.php │ │ ├── DynamicCheckoutDeprecatedMessage.php │ │ ├── PluginVersion.php │ │ ├── Save.php │ │ └── Button.php ├── Order │ └── Info.php └── Checkout │ └── Overview.php ├── etc ├── webapi_rest │ └── di.xml ├── adminhtml │ ├── menu.xml │ └── routes.xml ├── frontend │ └── routes.xml ├── email_templates.xml ├── module.xml ├── events.xml ├── config.xml ├── csp_whitelist.xml └── webapi.xml ├── Controller ├── Adminhtml │ ├── System │ │ └── Config │ │ │ └── Save.php │ ├── Configuration │ │ ├── Index.php │ │ └── Save.php │ └── Exportrates │ │ └── Exportrates.php ├── Support │ ├── Display.php │ └── Modify.php └── Multishipping │ └── Index.php ├── Model ├── AbstractDomen.php ├── SendcloudDeliveryZone.php ├── SendcloudDeliveryMethod.php ├── ResourceModel │ ├── AbstractDomen │ │ └── Collection.php │ ├── Carrier │ │ └── Servicepointrate │ │ │ └── Collection.php │ └── SendcloudDeliveryMethod │ │ └── StoreViewCollection.php ├── Settings.php ├── Config │ ├── Source │ │ └── Servicepointrate.php │ └── Backend │ │ └── Servicepointrate.php └── Config.php ├── Plugin ├── Quote │ └── Address │ │ └── Rate.php ├── Carrier │ └── ExtensionAttributes.php ├── Webapi │ ├── Rest │ │ └── Response.php │ └── ServiceOutputProcessor.php ├── Model │ └── AdminAccessTokenServicePlugin.php └── CurrencyConfigurationChange.php ├── composer.json ├── Ui └── Component │ └── Form │ └── ModalDataProvider.php ├── Helper ├── Data.php ├── WeightConverter.php └── Checkout.php ├── README.md ├── Observer └── TransformOrderMultishippingData.php └── Setup └── Patch └── Data ├── UpdateConfigValues.php └── AddResourcesToRole.php /Checkout/Repository/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /view/adminhtml/web/css/servicepoint.less: -------------------------------------------------------------------------------- 1 | .service-point-information { 2 | margin: 10px 0; 3 | } -------------------------------------------------------------------------------- /view/frontend/web/template/checkout/shipping/checkout.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | -------------------------------------------------------------------------------- /Exceptions/SendcloudException.php: -------------------------------------------------------------------------------- 1 | getText())): ?> 2 |
3 | escapeHtml($block->getText()); ?> 5 |
6 | 7 | -------------------------------------------------------------------------------- /Api/SettingsInterface.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | escapeHtml($block->getText()); ?> 4 |
5 | -------------------------------------------------------------------------------- /CheckoutCore/Contracts/Utility/WeightUnits.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CheckoutCore/Exceptions/BaseException.php: -------------------------------------------------------------------------------- 1 | getUrl('sendcloud/configuration/save', ['_current' => true]); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Checkout/Services/ProxyService.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Api/DeliveryMethodNames.php: -------------------------------------------------------------------------------- 1 | 'Service point', 13 | 'nominated_day_delivery' => 'Nominated day', 14 | 'standard_delivery' => 'Standard', 15 | 'same_day_delivery' => 'Same day' 16 | ]; 17 | } 18 | -------------------------------------------------------------------------------- /CheckoutCore/Domain/Interfaces/Comparable.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Checkout/Contracts/CheckoutServiceFactoryInterface.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | SendCloud_SendCloud::order/info.phtml 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /etc/adminhtml/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /etc/frontend/routes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Checkout/Contracts/CheckoutConfiguratorFactoryInterface.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 |
5 |
6 |

7 | 8 | Sendcloud 9 |

10 | 11 | -------------------------------------------------------------------------------- /view/adminhtml/web/css/branding.css: -------------------------------------------------------------------------------- 1 | .sendcloud-branding { 2 | margin: 20px 0; 3 | display: flex; 4 | } 5 | .sendcloud-branding .logo-wrap { 6 | width: 10%; 7 | display: flex; 8 | margin-right: 2%; 9 | } 10 | .sendcloud-branding .content { 11 | display: inline-block; 12 | width: 50%; 13 | padding-left: 4%; 14 | line-height: 30px; 15 | border-left: 1px solid #cccccc; 16 | vertical-align: sub; 17 | } 18 | 19 | #menu-sendcloud-sendcloud-menu > a:before { 20 | content: url('../images/sendcloud-menu.svg'); 21 | } -------------------------------------------------------------------------------- /CheckoutCore/Contracts/Proxies/CheckoutProxy.php: -------------------------------------------------------------------------------- 1 | 15 | * @SuppressWarnings(PHPMD.CouplingBetweenObjects) 16 | */ 17 | class Save extends MagentoSave 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /CheckoutCore/Domain/Interfaces/DTOInstantiable.php: -------------------------------------------------------------------------------- 1 | _init(AbstractDomenResourceModel::class); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Model/SendcloudDeliveryZone.php: -------------------------------------------------------------------------------- 1 | _init(SendcloudDeliveryZoneResourceModel::class); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /CheckoutCore/Validators/NullRequestValidator.php: -------------------------------------------------------------------------------- 1 | _init(SendcloudDeliveryMethodResourceModel::class); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Plugin/Quote/Address/Rate.php: -------------------------------------------------------------------------------- 1 | setMethodConfiguration($rate->getData('methodConfiguration')); 16 | } 17 | 18 | return $result; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sendcloud/sendcloud", 3 | "description": "A Magento 2 module that connects the Magento environment to the SendCloud environment", 4 | "type": "magento2-module", 5 | "homepage": "https://www.sendcloud.com/", 6 | "license": "Apache-2.0", 7 | "version": "2.0.27", 8 | "require": { 9 | "php": "~7.1.0|~7.2.0|~7.3.0|~7.4.0|~8.1.0|~8.2.0" 10 | }, 11 | "require-dev": { 12 | "phpunit/phpunit": "^5.7 || ^6.5 || ^7.1" 13 | }, 14 | "autoload": { 15 | "files": [ 16 | "registration.php" 17 | ], 18 | "psr-4": { 19 | "SendCloud\\SendCloud\\": "" 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /view/frontend/templates/checkout/multishipping.phtml: -------------------------------------------------------------------------------- 1 | 8 | 19 | 20 | -------------------------------------------------------------------------------- /view/frontend/web/js/checkout/nominatedDay/placeOrder.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'Magento_Checkout/js/model/quote', 3 | ], function (quote) { 4 | 'use strict'; 5 | return { 6 | /** 7 | * Validate checkout data 8 | * 9 | * @returns {boolean} 10 | */ 11 | validateData: function () { 12 | let selectedMethod = quote.shippingMethod(); 13 | 14 | if (selectedMethod && selectedMethod.carrier_code === 'sendcloudcheckout' && quote.hasDeliveryMethodData()) { 15 | return true; 16 | } 17 | 18 | return false; 19 | } 20 | }; 21 | }); 22 | -------------------------------------------------------------------------------- /view/frontend/web/js/servicePoint/mixins/placeOrder.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'Magento_Checkout/js/model/quote', 3 | ], function (quote) { 4 | 'use strict'; 5 | return { 6 | /** 7 | * Validate service point 8 | * 9 | * @returns {boolean} 10 | */ 11 | validateServicePoint: function () { 12 | if (quote.shippingMethod().method_code === 'sendcloud' && 13 | (!quote.getExtensionAttributes() || !quote.getExtensionAttributes().sendcloud_service_point_id)) { 14 | return false; 15 | } 16 | return true; 17 | } 18 | }; 19 | }); 20 | -------------------------------------------------------------------------------- /view/frontend/web/js/checkout/servicePoint/placeOrder.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'Magento_Checkout/js/model/quote', 3 | ], function (quote) { 4 | 'use strict'; 5 | return { 6 | /** 7 | * Validate service point 8 | * 9 | * @returns {boolean} 10 | */ 11 | validateServicePoint: function () { 12 | let selectedMethod = quote.shippingMethod(); 13 | 14 | if (selectedMethod && selectedMethod.carrier_code === 'sendcloudcheckout' && quote.hasDeliveryMethodData()) { 15 | return true; 16 | } 17 | 18 | return false; 19 | } 20 | }; 21 | }); 22 | -------------------------------------------------------------------------------- /Api/CheckoutConfigurationInterface.php: -------------------------------------------------------------------------------- 1 | country; 25 | } 26 | 27 | /** 28 | * @param string|null $country 29 | */ 30 | public function setCountry($country) 31 | { 32 | $this->country = $country; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /CheckoutCore/Utility/ArrayToHashMap.php: -------------------------------------------------------------------------------- 1 | getId()] = $item; 25 | } 26 | 27 | return $result; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /etc/adminhtml/routes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /view/frontend/layout/sc_sales_email_order_shipment_track.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Magento\Sales\Block\DataProviders\Email\Shipment\TrackingUrl 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /view/frontend/web/js/checkout/nominatedDay/validate.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'Magento_Checkout/js/model/quote', 3 | 'jquery', 4 | ], function (quote, $) { 5 | 'use strict'; 6 | return { 7 | /** 8 | * Validate checkout data 9 | * 10 | * @param origResult 11 | * @returns {boolean|*} 12 | */ 13 | validateShippingInformation: function (origResult) { 14 | let selectedMethod = quote.shippingMethod(); 15 | 16 | if (selectedMethod && selectedMethod.carrier_code === 'sendcloudcheckout' && quote.hasDeliveryMethodData()) { 17 | return origResult; 18 | } 19 | 20 | return false; 21 | } 22 | }; 23 | }); 24 | -------------------------------------------------------------------------------- /view/frontend/templates/js.phtml: -------------------------------------------------------------------------------- 1 | 15 | 19 | -------------------------------------------------------------------------------- /view/frontend/web/js/checkout/servicePoint/validate.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'Magento_Checkout/js/model/quote', 3 | 'jquery', 4 | ], function (quote, $) { 5 | 'use strict'; 6 | return { 7 | /** 8 | * Validate service point data 9 | * 10 | * @param origResult 11 | * @returns {boolean|*} 12 | */ 13 | validateServicePoint: function (origResult) { 14 | let selectedMethod = quote.shippingMethod(); 15 | 16 | if (selectedMethod && selectedMethod.carrier_code === 'sendcloudcheckout' && quote.hasDeliveryMethodData()) { 17 | return origResult; 18 | } 19 | 20 | return false; 21 | 22 | } 23 | }; 24 | }); 25 | -------------------------------------------------------------------------------- /Helper/Data.php: -------------------------------------------------------------------------------- 1 | _moduleList = $moduleList; 21 | parent::__construct($context); 22 | } 23 | 24 | public function getVersion() 25 | { 26 | return $this->_moduleList 27 | ->getOne(self::MODULE_NAME)['setup_version']; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /view/frontend/web/template/sc-method-list-template.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
-------------------------------------------------------------------------------- /Model/ResourceModel/AbstractDomen/Collection.php: -------------------------------------------------------------------------------- 1 | _init( 24 | AbstractDomen::class, 25 | AbstractDomenResourceModel::class 26 | ); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SendCloud Magento 2 module 2 | 3 | ## OUTDATED REPOSITORY 4 | Please note that this repository is not in use anymore. Please refer to the new [Magento 2 repository](https://gitlab.com/sendcloud-public/sendcloud-magento). 5 | 6 | ## Requirements 7 | This module requires Magento2 CE version 2.3 or higher. 8 | ## Installation 9 | This module can be installed through Composer. 10 | ```` 11 | composer require sendcloud/sendcloud 12 | php bin/magento module:enable SendCloud_SendCloud 13 | php bin/magento setup:upgrade 14 | ```` 15 | 16 | ## Configuration 17 | A guide on how to configure this module can be found on the [Magento Marketplace](https://marketplace.magento.com/sendcloud-sendcloud.html) 18 | 19 | ## Support 20 | For support, please contact [SendCloud](https://www.sendcloud.com/contact/) 21 | 22 | ## License 23 | Apache License 2.0 -------------------------------------------------------------------------------- /view/frontend/web/js/view/shipping-rates-validation/sendcloud.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'uiComponent', 3 | 'Magento_Checkout/js/model/shipping-rates-validator', 4 | 'Magento_Checkout/js/model/shipping-rates-validation-rules', 5 | 'SendCloud_SendCloud/js/model/shipping-rates-validator', 6 | 'SendCloud_SendCloud/js/model/shipping-rates-validation-rules' 7 | ], function ( 8 | Component, 9 | defaultShippingRatesValidator, 10 | defaultShippingRatesValidationRules, 11 | sendcloudShippingRatesValidator, 12 | sendcloudShippingRatesValidationRules 13 | ) { 14 | 'use strict'; 15 | 16 | defaultShippingRatesValidator.registerValidator('sendcloud', sendcloudShippingRatesValidator); 17 | defaultShippingRatesValidationRules.registerRules('sendcloud', sendcloudShippingRatesValidationRules); 18 | 19 | return Component; 20 | }); -------------------------------------------------------------------------------- /view/frontend/web/js/checkout/action/reset-service-point.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'Magento_Checkout/js/model/quote', 3 | ], function (quote) { 4 | 'use strict'; 5 | return { 6 | /** 7 | * Reset service point data if address is changed 8 | * 9 | * @param countryCode 10 | * @param zipCode 11 | */ 12 | resetServicePoint: function (countryCode, zipCode) { 13 | if (quote.getDeliveryMethodData() && 14 | quote.getDeliveryMethodData()['service_point'] && 15 | (quote.getDeliveryMethodData()['service_point']['country'] !== countryCode || 16 | quote.getDeliveryMethodData()['service_point']['postal_code'] !== zipCode)) { 17 | 18 | quote.setDeliveryMethodData({delivery_method_data: null}); 19 | } 20 | } 21 | }; 22 | }); 23 | -------------------------------------------------------------------------------- /view/frontend/web/js/view/shipping-rates-validation/sendcloud-checkout.js: -------------------------------------------------------------------------------- 1 | define([ 2 | 'uiComponent', 3 | 'Magento_Checkout/js/model/shipping-rates-validator', 4 | 'Magento_Checkout/js/model/shipping-rates-validation-rules', 5 | 'SendCloud_SendCloud/js/model/shipping-rates-validator', 6 | 'SendCloud_SendCloud/js/model/shipping-rates-validation-rules' 7 | ], function ( 8 | Component, 9 | defaultShippingRatesValidator, 10 | defaultShippingRatesValidationRules, 11 | sendcloudShippingRatesValidator, 12 | sendcloudShippingRatesValidationRules 13 | ) { 14 | 'use strict'; 15 | 16 | defaultShippingRatesValidator.registerValidator('sendcloudcheckout', sendcloudShippingRatesValidator); 17 | defaultShippingRatesValidationRules.registerRules('sendcloudcheckout', sendcloudShippingRatesValidationRules); 18 | 19 | return Component; 20 | }); -------------------------------------------------------------------------------- /Model/ResourceModel/Carrier/Servicepointrate/Collection.php: -------------------------------------------------------------------------------- 1 | _init( 22 | \SendCloud\SendCloud\Model\Carrier\SendCloud::class, 23 | \SendCloud\SendCloud\Model\ResourceModel\Carrier\Servicepointrate::class 24 | ); 25 | $this->_countryTable = $this->getTable('directory_country'); 26 | $this->_regionTable = $this->getTable('directory_country_region'); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /etc/email_templates.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 |