GithubHelp home page GithubHelp logo

dpdconnect / magento2-shipping Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 15.0 495 KB

Met deze plugin heb je toegang tot de services van DPD en is het makkelijk om deze kant-en-klare oplossing te integreren met je systeem. Zo kun je labels en retourlabels maken en kiezen voor thuisbezorging of bezorging bij een DPD Pakketpunt.

License: GNU General Public License v3.0

PHP 75.58% HTML 16.02% CSS 0.89% JavaScript 7.49% Less 0.02%

magento2-shipping's People

Contributors

dpdplugin avatar hexmage avatar rikvdheijden avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

magento2-shipping's Issues

PHP 8.2 deprecated usages

Hi there

Using:

  • PHP 8.2
  • Magento 2.4.6-p1
  • dpdconnect/magento2-shipping 1.3.1

When I check using PHPStan version 1.10.21 (https://github.com/phpstan/phpstan), which is installed as a dev dependency in each Magento project, for PHP 8.2 deprecated usage of creation of dynamic property, I'm noticing some potential problems:

$ vendor/bin/phpstan analyse --level=0 vendor/dpdconnect/ | grep 'Access to an undefined property'
 182/182 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%

  195    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$readFactory.
  336    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importWebsiteId.
  337    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importUniqueHash.
  338    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importErrors.
  339    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importedRows.
  341    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$readFactory.
  429    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importErrors.
  447    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importErrors.
  456    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importErrors.
  484    Access to an undefined property $this(DpdConnect\Shipping\Model\ResourceModel\Tablerate)::$importErrors.
  497    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importUniqueHash.
  499    Access to an undefined property DpdConnect\Shipping\Model\ResourceModel\Tablerate::$importWebsiteId.
  26     Access to an undefined property DpdConnect\Sdk\Resources\Authentication::$httpClient.
  58     Access to an undefined property DpdConnect\Sdk\Resources\Authentication::$httpClient.

I haven't tested if we can actually trigger these errors in Magento yet, but it wouldn't surprise me.

Note that 2 problems are released to the SDK package, but since this package is stuck on a particular version of the SDK, I'm going to leave it here, unless you want me to open a new issue as well over there?

Fixing these is probably not hard, so would be nice if this could happen soon-ish.

Thanks!

Compatibility with Magento 2.4.4 and PHP 8.1

Currently I am upgrading to Magento 2.4.4. When running bin/magento setup:di:compile I get the following error:

PHP Deprecated:  Optional parameter $shipment declared before required parameter $packages is implicitly treated as a required parameter in /vendor/dpdconnect/magento2-shipping/Helper/Services/OrderConvertService.php on line 196

Magento version: 2.4.4
Module version: 1.2.3
PHP version: 8.1

fixing Warning: file_put_contents(/tmp/dpd/dpd-products)

Hi,
If your global system tmp dir is not writable for your app username you will get following error and the checkout process does not proceed ,

main.CRITICAL: Warning: file_put_contents(/tmp/dpd/dpd-products): failed to open stream: Permission denied in /vendor/dpdconnect/php-sdk/src/Resources/Product.php on line 78

you can change sys_get_temp_dir() value on your php configuration or simply comment it and define writable directory.
and create /home/[appuser]/public_html/var/tmp/dpd/ manually,

new storeCachedList function looks like :

private function storeCachedList($products, $query)
{
/*
if (!file_exists(sys_get_temp_dir() . '/dpd/')) {
mkdir(sys_get_temp_dir() . '/dpd/');
}
$filename = sys_get_temp_dir() .'/dpd/dpd-products';
*/
$filename = '/home/[appuser]/public_html/var/tmp/dpd/dpd-products';
file_put_contents($filename, serialize($products));
}

ACL.xml does not work

ACL.xml does not work, please move the acl.xml outside the adminhtml folder because now the acl.xml file is not working.

Shipping method configuration with table rate condition "Weight vs Destination" not working in custom order creation

We have rate type "Table" and at website level config table condition "Weight vs. Destination" is set for shipping method DPD Predict. The table(csv) uploaded has different shipping prices based on weight and country location and zip code. But shipment creation always takes first price of table based on shipping country and ignores weight based price of shipping, on order creation programmatically. While the frontend order works normally.
By order creation programmatically, I mean, we are using Magento BOL extension(not public repo anymore) which syncs order data from BOL seller account and creates order in Magento, where in config we have DPD Predict is chosen as shipping method.
BOL extension uses Guest Shipping Information Management to save address information and related classes.

Magento ver. : 2.3.5-p1
DPD Connect ver. : 1.0.5

Undefined index error in tablerate config during config import

Issue

When running the command bin/magento app:config:import, the following error occurs:

Import failed: Notice: Undefined index: groups in vendor/dpdconnect/magento2-shipping/Model/ResourceModel/Tablerate.php on line 282

The error occurs in the method uploadAndImport in that class, which is triggered in the afterSave method of the tablerate config model (\DpdConnect\Shipping\Model\Config\Tablerate). It occurs in the following line of code:

foreach ($_FILES['groups']['tmp_name'] as $key => $value) {

In some cases, such as during the config import command, the $_FILES array is empty. In such cases, I'd expect the uploadAndImport method to do nothing at all.

Fix

The undefined index error can be avoided by adding an isset/empty check to verify that $_FILES['groups']['tmp_name'] exists, or by assigning it to a local variable with an empty array as fallback value.

For example:

if (empty($_FILES['groups']) || empty($_FILES['groups']['tmp_name'])) {
    return $this;
}

or:

$tmpFiles = $_FILES['groups']['tmp_name'] ?? [];
foreach ($tmpFiles as $key => $value) {

DPD german API

Hi, is it possible to connect the german API as well?

DPD parcelshop shipping method doesn't generate shipping labels.

Magento 2.4.2+
DPD module 1.2.9+
php 7.4+

The new version of the DPD module has issues with generating labels for dpd parcelshop orders. No dpd productcode is ever set for dpdpickup_dpdpickup, which means the dpd label service never generates a label as this requires a dpd productcode.

I have verified that it does work properly for dpd_dpd and all the deprecated shipping methods as they get assigned a product code.

There also seems to be an edge case where if you create the shipment programmatically, it doesn't recognise dpdpickup_dpdpickup as a pickup order and instead creates a "normal" shipment label which has the wrong address on it. \DpdConnect\Shipping\Helper\Services\OrderService::isDPDPickupOrder fails on the !$this->shipment->hasData(Constants::SHIPMENT_EXTRA_DATA) check as the attribute exists but it's null.

no validation

It is possible to place an order with DPD parcel shop method, but without selecting an actual delivery point. So that the order is visible in the back-end but it is unknown where to deliver.
This can happen in the blank theme. (with Aheadworks onestepcheckout)

Undefined index error when using DPD Saturday

  • Activate DPD Saturday in Magento back-end
  • Navigate to front-end
  • Add a product to cart and go to check-out

main.CRITICAL: Report ID: ##########; Message: Notice: Undefined index: in exampledomain.com/vendor/dpdconnect/magento2-shipping/Model/Carrier/DpdClassicSaturday.php on line 148 {"exception":"[object] (Exception(code: 0): Report ID: ############; Message: Notice: Undefined index: in exampledomain.com/vendor/dpdconnect/magento2-shipping/Model/Carrier/DpdClassicSaturday.php on line 148 at exampledomain.com/vendor/magento/framework/Webapi/ErrorProcessor.php:208, Exception(code: 0): Notice: Undefined index: in exampledomain.com/vendor/dpdconnect/magento2-shipping/Model/Carrier/DpdClassicSaturday.php on line 148 at exampledomain.com/vendor/magento/framework/App/ErrorHandler.php:61)"} []

Composer autoload problem - due to php-sdk dep being hardcoded to 1.1.8

Hi there

Using dpdconnect/magento2-shipping version 1.2.9 and dpdconnect/php-sdk 1.1.8

After installing it on a Magento shop and running a optimised autoload dump, I'm getting a warning:

$ composer dump-autoload -o
Generating optimized autoload files
Class DpdConnect\Sdk\Api\Data\ShipmentOrder\CustomsLinesInterface located in ./vendor/dpdconnect/php-sdk/src/Api/Data/ShipmentOrder/Customs/CustomsLinesInterface.php does not comply with psr-4 autoloading standard. Skipping.

This was fixed in https://github.com/dpdconnect/php-sdk/pull/21/files

However, we can't update to this version because the requirement is being hardcoded to version 1.1.8:

"dpdconnect/php-sdk": "1.1.8"

Any reason why this can't be set to ^1.1.8? Or was this an oversight?

Update, it looks like this used a more open constraint but that was removed in #63 without a proper description telling us why?

Checkout breaks if Dpd pickup is set to tablerate but no tablerates are configured.

Module tries to fetch a rate from the database gets back false. Then tries to interpreted the false as an array which breaks the checkout with an error.

[2021-02-10 15:33:44] main.CRITICAL: Report ID: webapi-***; Message: Notice: Trying to access array offset on value of type bool in ~/vendor/dpdconnect/magento2-shipping/Model/Carrier/Dpdpickup.php on line 162 {"exception":"[object] (Exception(code: 0): Report ID: webapi-***; Message: Notice: Trying to access array offset on value of type bool in ~/vendor/dpdconnect/magento2-shipping/Model/Carrier/Dpdpickup.php on line 162 at ~/vendor/magento/framework/Webapi/ErrorProcessor.php:208, Exception(code: 0): Notice: Trying to access array offset on value of type bool in ~/vendor/dpdconnect/magento2-shipping/Model/Carrier/Dpdpickup.php on line 162 at ~/vendor/magento/framework/App/ErrorHandler.php:61)"}

Trying to install beta package on M2.3.3

Problem 1
- Installation request for setasign/fpdi-fpdf (locked at v2.2.0) -> satisfiable by setasign/fpdi-fpdf[v2.2.0].
- dpdconnect/magento2-shipping 1.0.5-beta requires setasign/fpdi-fpdf 2.1 -> satisfiable by setasign/fpdi-fpdf[v2.1.0].
- dpdconnect/magento2-shipping 1.0.6-beta requires setasign/fpdi-fpdf 2.1 -> satisfiable by setasign/fpdi-fpdf[v2.1.0].
- dpdconnect/magento2-shipping 1.0.7-beta requires setasign/fpdi-fpdf 2.1 -> satisfiable by setasign/fpdi-fpdf[v2.1.0].
- Conclusion: don't install setasign/fpdi-fpdf v2.1.0
- Installation request for dpdconnect/magento2-shipping ^1.0@beta -> satisfiable by dpdconnect/magento2-shipping[1.0.5-beta, 1.0.6-beta, 1.0.7-beta]

Serious tablerate issues with this module

I'm not able to place the tablerates in a normal way on magento 2.3.4.

I choose predict and go to website.
There I upload the Tablerate.
I get an error that the NED value is incorrect so I change it to NL
Then all gets imported even the rest is Still in ISO values like BEL and ESP.

After that I can never upload the table again. "Something went wrong while importing table rates." is the message.
Exception Log gives.
[2020-04-03 14:46:05] main.CRITICAL: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'dpdpredict-1-BE-0--package_value_with_d-0.0000' for key 'UNQ_4D3820F36FB40644DD68D7EDAB44DBB4', query was: INSERT INTO dpdconnect_shipping_tablerate (website_id,dest_country_id,dest_region_id,dest_zip,condition_name,condition_value,price,cost,shipping_method) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?) {"exception":"[object] (Magento\Framework\DB\Adapter\DuplicateException(code: 1062): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'dpdpredict-1-BE-0--package_value_with_d-0.0000' for key 'UNQ_4D3820F36FB40644DD68D7EDAB44DBB4', query was: INSERT INTO dpdconnect_shipping_tablerate (website_id,dest_country_id,dest_region_id,dest_zip,condition_name,condition_value,price,cost,shipping_method) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?) at /home/user/domains/dev2.domain.nl/public_html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:585, Zend_Db_Statement_Exception(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'dpdpredict-1-BE-0--package_value_with_d-0.0000' for key 'UNQ_4D3820F36FB40644DD68D7EDAB44DBB4', query was: INSERT INTO dpdconnect_shipping_tablerate (website_id,dest_country_id,dest_region_id,dest_zip,condition_name,condition_value,price,cost,shipping_method) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?) at /home/website/domains/dev2.domain.nl/public_html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php:110, PDOException(code: 23000): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'dpdpredict-1-BE-0--package_value_with_d-0.0000' for key 'UNQ_4D3820F36FB40644DD68D7EDAB44DBB4' at /home/website/domains/dev2.domain.nl/public_html/vendor/magento/framework/DB/Statement/Pdo/Mysql.php:91)"} []

So I go to the database and clear the whole table and after that I'm able to upload the new values.

However. The problems don't stop here.
The added table cannot be downloaded via the Export.
This file is always empty!

Also the database table gives a weird row value "package_value_with_d" that I cannot find back in the module code. There is no check on this.

"21"	"dpdpredict"	"1"	"NL"	"0"	"*"	"package_value_with_d"	"0,0000"	"3,9500"	"0,0000"
"22"	"dpdpredict"	"1"	"NL"	"0"	"*"	"package_value_with_d"	"75,0000"	"0,0000"	"0,0000"

The result is that on the frontend the price is always 0 for every item.

Any suggestions are welcome but the module like this is not useable.

German DPD

Hi, is it possible to connect the german API as well?

Cannot download package with composer

Hello,

I can install the module with composer. When I try I get this error :

Could not find package dpdconnect/magento2-shipping at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability

If I install the module without composer, I get a 500 errors when I'm in order process and I choose dpd pickup

PHP Fatal error: Uncaught Error: Class 'DpdConnect\Sdk\Client' not found in app/code/DpdConnect/Shipping/Helper/DPDClient.php:82

Magento version : 2.2.9

Regards

Bad Credentials error

{"0":"Bad credentials","1":"

#1 DpdConnect\Sdk\Resources\Authentication->processRequest(array(401, '{"code":401,"mes...')) called at [vendor/dpdconnect/php-sdk/src/Resources/Authentication.php:61]\n#2

I got this error. May I know what causes this error.

Error when reordering an order

Issue:

Scenario 1:

  • Create a customer account
  • Place an order and choose method "DPD predict"
  • Sign in at the Magento back-end
  • Select the customer from step 2
  • Click on "Orders" and "Reorder"

Screenshot:

Reorder button from order

Scenario 2:

  • Place an order and choose method "DPD predict"
  • Sign in at the Magento back-end
  • Open the order from the first step
  • Click on "Reorder"

Result:

{"0":"Notice: Undefined index: in \/home\/experius\/domains\/posters.nl.sts01.experius.nl\/vendor\/dpdconnect\/magento2-shipping\/Model\/Carrier\/DpdClassicSaturday.php on line 148","1":"#1 DpdConnect\\Shipping\\Model\\Carrier\\DpdClassicSaturday->collectRates() called at [vendor\/magento\/module-shipping\/Model\/Shipping.php:337]\n#2 Magento\\Shipping\\Model\\Shipping->collectCarrierRates() called at [vendor\/magento\/module-shipping\/Model\/Shipping.php:244]\n#3 Magento\\Shipping\\Model\\Shipping->collectRates() called at [vendor\/magento\/module-quote\/Model\/Quote\/Address.php:1068]\n#4 Magento\\Quote\\Model\\Quote\\Address->requestShippingRates() called at [vendor\/magento\/module-quote\/Model\/Quote\/Address.php:1002]\n#5 Magento\\Quote\\Model\\Quote\\Address->collectShippingRates() called at [vendor\/magento\/module-quote\/Model\/Quote\/Address\/Total\/Shipping.php:84]\n#6 Magento\\Quote\\Model\\Quote\\Address\\Total\\Shipping->collect() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:58]\n#7 Magento\\Quote\\Model\\Quote\\Address\\Total\\Shipping\\Interceptor->___callParent() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:138]\n#8 Magento\\Quote\\Model\\Quote\\Address\\Total\\Shipping\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/tig\/postnl-magento2\/Plugin\/Quote\/Address\/Total\/Shipping.php:87]\n#9 TIG\\PostNL\\Plugin\\Quote\\Address\\Total\\Shipping->aroundCollect() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:135]\n#10 Magento\\Quote\\Model\\Quote\\Address\\Total\\Shipping\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153]\n#11 Magento\\Quote\\Model\\Quote\\Address\\Total\\Shipping\\Interceptor->___callPlugins() called at [generated\/code\/Magento\/Quote\/Model\/Quote\/Address\/Total\/Shipping\/Interceptor.php:26]\n#12 Magento\\Quote\\Model\\Quote\\Address\\Total\\Shipping\\Interceptor->collect() called at [vendor\/magento\/module-quote\/Model\/Quote\/TotalsCollector.php:274]\n#13 Magento\\Quote\\Model\\Quote\\TotalsCollector->collectAddressTotals() called at [vendor\/magento\/module-quote\/Model\/Quote\/TotalsCollector.php:148]\n#14 Magento\\Quote\\Model\\Quote\\TotalsCollector->collect() called at [vendor\/magento\/module-quote\/Model\/Quote.php:1995]\n#15 Magento\\Quote\\Model\\Quote->collectTotals() called at [generated\/code\/Magento\/Quote\/Model\/Quote\/Interceptor.php:1064]\n#16 Magento\\Quote\\Model\\Quote\\Interceptor->collectTotals() called at [vendor\/magento\/module-quote\/Model\/QuoteRepository\/SaveHandler.php:121]\n#17 Magento\\Quote\\Model\\QuoteRepository\\SaveHandler->save() called at [generated\/code\/Magento\/Quote\/Model\/QuoteRepository\/SaveHandler\/Interceptor.php:24]\n#18 Magento\\Quote\\Model\\QuoteRepository\\SaveHandler\\Interceptor->save() called at [vendor\/magento\/module-quote\/Model\/QuoteRepository.php:196]\n#19 Magento\\Quote\\Model\\QuoteRepository->save() called at [generated\/code\/Magento\/Quote\/Model\/QuoteRepository\/Interceptor.php:76]\n#20 Magento\\Quote\\Model\\QuoteRepository\\Interceptor->save() called at [vendor\/magento\/module-sales\/Model\/AdminOrder\/Create.php:594]\n#21 Magento\\Sales\\Model\\AdminOrder\\Create->initFromOrder() called at [vendor\/magento\/module-sales\/Controller\/Adminhtml\/Order\/Create\/Reorder.php:95]\n#22 Magento\\Sales\\Controller\\Adminhtml\\Order\\Create\\Reorder->execute() called at [generated\/code\/Magento\/Sales\/Controller\/Adminhtml\/Order\/Create\/Reorder\/Interceptor.php:24]\n#23 Magento\\Sales\\Controller\\Adminhtml\\Order\\Create\\Reorder\\Interceptor->execute() called at [vendor\/magento\/framework\/App\/Action\/Action.php:108]\n#24 Magento\\Framework\\App\\Action\\Action->dispatch() called at [vendor\/magento\/module-backend\/App\/AbstractAction.php:248]\n#25 Magento\\Backend\\App\\AbstractAction->dispatch() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:58]\n#26 Magento\\Sales\\Controller\\Adminhtml\\Order\\Create\\Reorder\\Interceptor->___callParent() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:138]\n#27 Magento\\Sales\\Controller\\Adminhtml\\Order\\Create\\Reorder\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/module-backend\/App\/Action\/Plugin\/Authentication.php:143]\n#28 Magento\\Backend\\App\\Action\\Plugin\\Authentication->aroundDispatch() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:135]\n#29 Magento\\Sales\\Controller\\Adminhtml\\Order\\Create\\Reorder\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153]\n#30 Magento\\Sales\\Controller\\Adminhtml\\Order\\Create\\Reorder\\Interceptor->___callPlugins() called at [generated\/code\/Magento\/Sales\/Controller\/Adminhtml\/Order\/Create\/Reorder\/Interceptor.php:39]\n#31 Magento\\Sales\\Controller\\Adminhtml\\Order\\Create\\Reorder\\Interceptor->dispatch() called at [vendor\/magento\/framework\/App\/FrontController.php:162]\n#32 Magento\\Framework\\App\\FrontController->processRequest() called at [vendor\/magento\/framework\/App\/FrontController.php:98]\n#33 Magento\\Framework\\App\\FrontController->dispatch() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:58]\n#34 Magento\\Framework\\App\\FrontController\\Interceptor->___callParent() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:138]\n#35 Magento\\Framework\\App\\FrontController\\Interceptor->Magento\\Framework\\Interception\\{closure}() called at [vendor\/magento\/framework\/Interception\/Interceptor.php:153]\n#36 Magento\\Framework\\App\\FrontController\\Interceptor->___callPlugins() called at [generated\/code\/Magento\/Framework\/App\/FrontController\/Interceptor.php:26]\n#37 Magento\\Framework\\App\\FrontController\\Interceptor->dispatch() called at [vendor\/magento\/framework\/App\/Http.php:116]\n#38 Magento\\Framework\\App\\Http->launch() called at [generated\/code\/Magento\/Framework\/App\/Http\/Interceptor.php:24]\n#39 Magento\\Framework\\App\\Http\\Interceptor->launch() called at [vendor\/magento\/framework\/App\/Bootstrap.php:261]\n#40 Magento\\Framework\\App\\Bootstrap->run() called at [pub\/index.php:47]\n","url":"\/storemanager\/sales\/order_create\/reorder\/order_id\/187940\/key\/7680acb350a24b66c35539fce2117c367b97112e00339f68c533d794d9b2cc9e\/","script_name":"\/index.php","report_id":"00b5bcec732bbcc85aece319c86c94950043b2d15be728a13ad35c94d8acf57c"}

Backend form validation for configuration

Hello,

I've ran into an issue that return label's weren't generated without any feedback on the backend besides that the RMA couldn't be saved.
After digging in the logs I found the following error:

    [0] => This value is too long. It should have 35 characters or less.

This could be easily fixed by validating the length of the inputs on the configuration pages :)

Error during delivery methods load

[2022-12-21T17:14:13.353755+00:00] main.CRITICAL: Exception: Warning: Undefined array key "token" in /home/......./vendor/dpdconnect/php-sdk/src/Common/AuthenticatedHttpClient.php on line 77

Magento 2.4.5
PHP 8.1
DPD Latest version

Missing function GetToken error on checkout page

I've updated my module to latest version(1.2) and when going to the checkout page a error brakes the php from Model/CheckoutConfigProvider line 100 where getToken function is called on the class DPDClient.
Looking in the class there is no such function declared.

400 Bad Request - Parcelshop API

Hallo,

We krijgen de soms volgende melding wanneer wij jullie API gebruiken:

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.13.8</center>
</body>
</html>

Een voorbeeld van een request
De request was naar: api/connect/v1/parcelshop
Met de volgende query: {"latitude":56.263919999999999,"longitude":9.5017849999999999,"countryIso":"DK","limit":20,"with_count":false}
Om 2020-09-06 20:09:14 UTC

Als we dit met de hand invoeren krijgen we wel resultaten. Is het mogelijk dat de API er om die tijd uit gelegen heeft of is er een ander probleem.

We krijgen deze melding vaker met andere latitudes en logitudes. Een kleine lijst van deze tijden in UTC:
2020-09-06 18:27:31
2020-09-06 16:48:09
2020-09-06 15:38:10

Deze melding krijgen we vanuit de checkout waar mensen een parcel shop uit maps kunnen selecteren.

Mochten jullie nog meer informatie nodig hebben laat het ons weten.

Incompatible with Magento 2.4.6 | Zend framework error

After updating our Magento 2 instance to the latest version 2.4.6 the following error occurs when creating a shipment in the Magento 2 backend.

image

<option value="Error: Class "Zend_Measure_Weight" not found in /var/www/vendor/dpdconnect/magento2-shipping/view/adminhtml/templates/order/packaging/popup_content.phtml:154
Stack trace:
#0 /var/www/vendor/dpdconnect/magento2-shipping/view/adminhtml/templates/order/packaging/popup.phtml(391): include()
#1 /var/www/vendor/magento/framework/View/TemplateEngine/Php.php(71): include('/var/www/vendor...')
#2 /var/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\View\TemplateEngine\Php->render(Object(DpdConnect\Shipping\Block\Adminhtml\Order\Packaging\Interceptor), '/var/www/vendor...', Array)
#3 /var/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent('render', Array)
#4 /var/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}(Object(DpdConnect\Shipping\Block\Adminhtml\Order\Packaging\Interceptor), '/var/www/vendor...', Array)
#5 /var/www/generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php(23): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins('render', Array, Array)
#6 /var/www/vendor/magento/framework/View/Element/Template.php(263): Magento\Framework\View\TemplateEngine\Php\Interceptor->render(Object(DpdConnect\Shipping\Block\Adminhtml\Order\Packaging\Interceptor), '/var/www/vendor...', Array)
#7 /var/www/generated/code/DpdConnect/Shipping/Block/Adminhtml/Order/Packaging/Interceptor.php(329): Magento\Framework\View\Element\Template->fetchView('/var/www/vendor...')
#8 /var/www/vendor/magento/framework/View/Element/Template.php(293): DpdConnect\Shipping\Block\Adminhtml\Order\Packaging\Interceptor->fetchView('/var/www/vendor...')
#9 /var/www/vendor/magento/module-backend/Block/Template.php(141): Magento\Framework\View\Element\Template->_toHtml()
#10 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(1095): Magento\Backend\Block\Template->_toHtml()
#11 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(1099): Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}()
#12 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(660): Magento\Framework\View\Element\AbstractBlock->_loadCache()
#13 /var/www/generated/code/DpdConnect/Shipping/Block/Adminhtml/Order/Packaging/Interceptor.php(554): Magento\Framework\View\Element\AbstractBlock->toHtml()
#14 /var/www/vendor/magento/framework/View/Layout.php(578): DpdConnect\Shipping\Block\Adminhtml\Order\Packaging\Interceptor->toHtml()
#15 /var/www/vendor/magento/framework/View/Layout.php(555): Magento\Framework\View\Layout->_renderBlock('shipment_packag...')
#16 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('shipment_packag...')
#17 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('shipment_packag...')
#18 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('shipment_packag...', true)
#19 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(507): Magento\Framework\View\Layout\Interceptor->renderElement('shipment_packag...', true)
#20 /var/www/generated/code/Magento/Shipping/Block/Adminhtml/View/Form/Interceptor.php(437): Magento\Framework\View\Element\AbstractBlock->getChildHtml('shipment_packag...', true)
#21 /var/www/vendor/magento/module-shipping/view/adminhtml/templates/view/form.phtml(89): Magento\Shipping\Block\Adminhtml\View\Form\Interceptor->getChildHtml('shipment_packag...')
#22 /var/www/vendor/magento/framework/View/TemplateEngine/Php.php(71): include('/var/www/vendor...')
#23 /var/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Shipping\Block\Adminhtml\View\Form\Interceptor), '/var/www/vendor...', Array)
#24 /var/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent('render', Array)
#25 /var/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Shipping\Block\Adminhtml\View\Form\Interceptor), '/var/www/vendor...', Array)
#26 /var/www/generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php(23): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins('render', Array, Array)
#27 /var/www/vendor/magento/framework/View/Element/Template.php(263): Magento\Framework\View\TemplateEngine\Php\Interceptor->render(Object(Magento\Shipping\Block\Adminhtml\View\Form\Interceptor), '/var/www/vendor...', Array)
#28 /var/www/generated/code/Magento/Shipping/Block/Adminhtml/View/Form/Interceptor.php(275): Magento\Framework\View\Element\Template->fetchView('/var/www/vendor...')
#29 /var/www/vendor/magento/framework/View/Element/Template.php(293): Magento\Shipping\Block\Adminhtml\View\Form\Interceptor->fetchView('/var/www/vendor...')
#30 /var/www/vendor/magento/module-backend/Block/Template.php(141): Magento\Framework\View\Element\Template->_toHtml()
#31 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(1095): Magento\Backend\Block\Template->_toHtml()
#32 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(1099): Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}()
#33 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(660): Magento\Framework\View\Element\AbstractBlock->_loadCache()
#34 /var/www/generated/code/Magento/Shipping/Block/Adminhtml/View/Form/Interceptor.php(500): Magento\Framework\View\Element\AbstractBlock->toHtml()
#35 /var/www/vendor/magento/framework/View/Layout.php(578): Magento\Shipping\Block\Adminhtml\View\Form\Interceptor->toHtml()
#36 /var/www/vendor/magento/framework/View/Layout.php(555): Magento\Framework\View\Layout->_renderBlock('form')
#37 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('form')
#38 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('form')
#39 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('form', true)
#40 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(507): Magento\Framework\View\Layout\Interceptor->renderElement('form', true)
#41 /var/www/generated/code/Magento/Shipping/Block/Adminhtml/View/Interceptor.php(473): Magento\Framework\View\Element\AbstractBlock->getChildHtml('form', true)
#42 /var/www/vendor/magento/module-backend/Block/Widget/Form/Container.php(220): Magento\Shipping\Block\Adminhtml\View\Interceptor->getChildHtml('form')
#43 /var/www/generated/code/Magento/Shipping/Block/Adminhtml/View/Interceptor.php(104): Magento\Backend\Block\Widget\Form\Container->getFormHtml()
#44 /var/www/vendor/magento/module-backend/view/adminhtml/templates/widget/form/container.phtml(25): Magento\Shipping\Block\Adminhtml\View\Interceptor->getFormHtml()
#45 /var/www/vendor/magento/framework/View/TemplateEngine/Php.php(71): include('/var/www/vendor...')
#46 /var/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Shipping\Block\Adminhtml\View\Interceptor), '/var/www/vendor...', Array)
#47 /var/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callParent('render', Array)
#48 /var/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\TemplateEngine\Php\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Shipping\Block\Adminhtml\View\Interceptor), '/var/www/vendor...', Array)
#49 /var/www/generated/code/Magento/Framework/View/TemplateEngine/Php/Interceptor.php(23): Magento\Framework\View\TemplateEngine\Php\Interceptor->___callPlugins('render', Array, Array)
#50 /var/www/vendor/magento/framework/View/Element/Template.php(263): Magento\Framework\View\TemplateEngine\Php\Interceptor->render(Object(Magento\Shipping\Block\Adminhtml\View\Interceptor), '/var/www/vendor...', Array)
#51 /var/www/generated/code/Magento/Shipping/Block/Adminhtml/View/Interceptor.php(311): Magento\Framework\View\Element\Template->fetchView('/var/www/vendor...')
#52 /var/www/vendor/magento/framework/View/Element/Template.php(293): Magento\Shipping\Block\Adminhtml\View\Interceptor->fetchView('/var/www/vendor...')
#53 /var/www/vendor/magento/module-backend/Block/Template.php(141): Magento\Framework\View\Element\Template->_toHtml()
#54 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(1095): Magento\Backend\Block\Template->_toHtml()
#55 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(1099): Magento\Framework\View\Element\AbstractBlock->Magento\Framework\View\Element\{closure}()
#56 /var/www/vendor/magento/framework/View/Element/AbstractBlock.php(660): Magento\Framework\View\Element\AbstractBlock->_loadCache()
#57 /var/www/generated/code/Magento/Shipping/Block/Adminhtml/View/Interceptor.php(536): Magento\Framework\View\Element\AbstractBlock->toHtml()
#58 /var/www/vendor/magento/framework/View/Layout.php(578): Magento\Shipping\Block\Adminhtml\View\Interceptor->toHtml()
#59 /var/www/vendor/magento/framework/View/Layout.php(555): Magento\Framework\View\Layout->_renderBlock('sales_shipment_...')
#60 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('sales_shipment_...')
#61 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('sales_shipment_...')
#62 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('sales_shipment_...', false)
#63 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('sales_shipment_...', false)
#64 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('content', false)
#65 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('content')
#66 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('content')
#67 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('content', false)
#68 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('content', false)
#69 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('main.col', false)
#70 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('main.col')
#71 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('main.col')
#72 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('main.col', false)
#73 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('main.col', false)
#74 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('admin.scope.col...', false)
#75 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('admin.scope.col...')
#76 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('admin.scope.col...')
#77 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('admin.scope.col...', false)
#78 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('admin.scope.col...', false)
#79 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('page.main.conta...', false)
#80 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('page.main.conta...')
#81 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('page.main.conta...')
#82 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('page.main.conta...', false)
#83 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('page.main.conta...', false)
#84 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('page.content', false)
#85 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('page.content')
#86 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('page.content')
#87 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('page.content', false)
#88 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('page.content', false)
#89 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('page.wrapper', false)
#90 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('page.wrapper')
#91 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('page.wrapper')
#92 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('page.wrapper', false)
#93 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('page.wrapper', false)
#94 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('backend.page', false)
#95 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('backend.page')
#96 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('backend.page')
#97 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('backend.page', false)
#98 /var/www/vendor/magento/framework/View/Layout.php(606): Magento\Framework\View\Layout\Interceptor->renderElement('backend.page', false)
#99 /var/www/vendor/magento/framework/View/Layout.php(557): Magento\Framework\View\Layout->_renderContainer('root', false)
#100 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(149): Magento\Framework\View\Layout->renderNonCachedElement('root')
#101 /var/www/vendor/magento/framework/View/Layout.php(510): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('root')
#102 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(140): Magento\Framework\View\Layout->renderElement('root', true)
#103 /var/www/vendor/magento/framework/View/Layout.php(975): Magento\Framework\View\Layout\Interceptor->renderElement('root')
#104 /var/www/generated/code/Magento/Framework/View/Layout/Interceptor.php(347): Magento\Framework\View\Layout->getOutput()
#105 /var/www/vendor/magento/framework/View/Result/Page.php(260): Magento\Framework\View\Layout\Interceptor->getOutput()
#106 /var/www/vendor/magento/framework/View/Result/Layout.php(171): Magento\Framework\View\Result\Page->render(Object(Magento\Framework\App\Response\Http\Interceptor))
#107 /var/www/generated/code/Magento/Backend/Model/View/Result/Page/Interceptor.php(140): Magento\Framework\View\Result\Layout->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#108 /var/www/vendor/magento/framework/App/Http.php(120): Magento\Backend\Model\View\Result\Page\Interceptor->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#109 /var/www/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\App\Http->launch()
#110 /var/www/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\App\Http\Interceptor->___callParent('launch', Array)
#111 /var/www/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\App\Http\Interceptor->Magento\Framework\Interception\{closure}()
#112 /var/www/generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http\Interceptor->___callPlugins('launch', Array, Array)
#113 /var/www/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->launch()
#114 /var/www/pub/index.php(30): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http\Interceptor))
#115 {main}

It looks like you the module using a Zend framwork package that is not present in the latest version of Magento 2.

Condition name always set to "package_weight" for DPD Pickup

Prerequisites:

  • Magento v2.3.5-p1
  • DPD Magento 2 Shipping v1.1.0

Steps to reproduce:

  • Go to Stores > Configuration
  • Go to the Shipping Methods and select DPD Pickup
  • Set the condition to "Package vs Destination"
  • Upload a valid tablerate CSV file
  • Check the values in the database

Expected results:

  • The field "condition_name" should be set to "package_value_with_discount"
  • The field "condition_name" should be able to store at least 27 chars (default Magento is 30)

Actual results:

  • The field "condition_name" is set to "package_weight"
  • The field "condition_name" can only contain 20 characters, so "package_value_with_discount" will never fit

Temporary fix I provided for my project:

  • I changed the length of the "condition_name" field to 30 characters
  • I manually changed the value to "package_value_with_discount", but this will be undone with the next CSV import that is done

Is there _any_ documentation and/or debugging mode possible?

I must say I have had zero positive experiences with any DPD module ever, but I had hopes this 'new one' would be better. Sadly, again, can't get it to work at all. I set everything up, but it just doesn't do anything and I see no clear way to even find out why. In the configuration there is no option for a debug mode to show errors, there are no logs being created, so now I'm going through every file trying to figure it out myself.

It would help if there is any documentation at all. Am I missing something?

CloudFlare breaking module

Hi,

Your API domain api.dpdconnect.nl is protected by CloudFlare.
Since Saturday 21/10 it started serving bot protection pages as a response to API calls and therefore breaking multiple checkouts.

Please revise these rulings in CloudFlare, as currently we had to disable the DPD module on our stores.

map stays open

If you select the DPD parcel method as delivery, the map is shown below.
Afterwards, if an other delivery method is selected, the map remains open, with the details of the selected shop. There is no reason to show the map and address if you choose home delivery.

Giftcards not subtracted from order when using new DPD delivery methods

Hi,

We are using this extension for a client of us. Since changing from the deprecated delivery methods for DPD to the new DPD Home delivery method it is impossible to complete an order with a gift card. I've reproduced the issue on a clean Magento instance with sample data to make sure it wasn't an issue related to any custom code in our project.

Steps to reproduce:

  1. DPD home enabled as delivery method:
    image
  2. add an item to the cart and add a giftcard on the cart page:
    image
  3. Proceed to the checkout and Select DPD Home (classic) as shipping method
  4. The gift card is removed from the order summary:
    image
  5. Place order (gift card is not used when the order is placed, client has to pay the full amount):
    image

Some things we noticed:

  • When using the old DPD shipping methods there is no issue. Gift cards are subtracted correctly and the client pays the correct amount
  • When any of the new DPD methods is enabled the gift card is removed from the checkout summary for any selected shipping method in the checkout (f.e. table, flat, ...). However the the order is created & completed successfully with the gift card amount subtracted from the order for any other shipping method used which is not one of the new DPD methods.

Undefined array key "token" in checkout

DPD module does not work on my local environment.

Exception #0 (Exception): Warning: Undefined array key "token" in vendor/dpdconnect/php-sdk/src/Common/AuthenticatedHttpClient.php on line 77

To Reproduce
Steps to reproduce the behavior:

  1. Add product to cart
  2. Go to checkout

Actual result
Warning: Undefined array key "token"

Information

  • Magento version: 2.4.4-p2
  • PHP version: 8.1
  • DPD module version: 1.2.6

Uninstall dpd_connect plugin throws critical error

All,

I updated recently tot Magento 2.4.6 and subsequently switched tot DPD as our shipping agent. Upon installing the plugin, the backend did show the new DPD entry, but all other Delivery Methods were gone.
I then removed the plugin using Composer, but from that moment, I cannot edit any product in the backend as it throws an error stating "This product does not exist". In the frontend the categories page shows products, but clicking to a product page throws an error: "There has been an error processing your request".

The exception.log shows the following:
[2023-06-13T19:07:57.178696+00:00] main.CRITICAL: ReflectionException: Class "DpdConnect\Shipping\Model\Attribute\Backend\ShippingDescription" does not exist in /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Code/Reader/ClassReader.php:34 Stack trace: #0 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Code/Reader/ClassReader.php(34): ReflectionClass->__construct() #1 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/ObjectManager/Definition/Runtime.php(54): Magento\Framework\Code\Reader\ClassReader->getConstructor() #2 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(48): Magento\Framework\ObjectManager\Definition\Runtime->getParameters() #3 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/ObjectManager/ObjectManager.php(56): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create() #4 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Validator/UniversalFactory.php(36): Magento\Framework\ObjectManager\ObjectManager->create() #5 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/module-eav/Model/Entity/Attribute/AbstractAttribute.php(596): Magento\Framework\Validator\UniversalFactory->create() #6 /home/u157434p147375/domains/vecino.nl/public_html/generated/code/Magento/Catalog/Model/ResourceModel/Eav/Attribute/Interceptor.php(806): Magento\Eav\Model\Entity\Attribute\AbstractAttribute->getBackend() #7 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/module-eav/Model/ResourceModel/ReadHandler.php(147): Magento\Catalog\Model\ResourceModel\Eav\Attribute\Interceptor->getBackend() #8 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/EntityManager/Operation/Read/ReadAttributes.php(59): Magento\Eav\Model\ResourceModel\ReadHandler->execute() #9 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/EntityManager/Operation/Read.php(111): Magento\Framework\EntityManager\Operation\Read\ReadAttributes->execute() #10 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/EntityManager/EntityManager.php(80): Magento\Framework\EntityManager\Operation\Read->execute() #11 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/module-catalog/Model/ResourceModel/Product.php(735): Magento\Framework\EntityManager\EntityManager->load() #12 /home/u157434p147375/domains/vecino.nl/public_html/generated/code/Magento/Catalog/Model/ResourceModel/Product/Interceptor.php(185): Magento\Catalog\Model\ResourceModel\Product->load() #13 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Model/AbstractModel.php(547): Magento\Catalog\Model\ResourceModel\Product\Interceptor->load() #14 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\Model\AbstractModel->load() #15 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Catalog\Model\Product\Interceptor->___callParent() #16 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Catalog\Model\Product\Interceptor->Magento\Framework\Interception\{closure}() #17 /home/u157434p147375/domains/vecino.nl/public_html/generated/code/Magento/Catalog/Model/Product/Interceptor.php(1661): Magento\Catalog\Model\Product\Interceptor->___callPlugins() #18 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/module-catalog/Model/ProductRepository.php(324): Magento\Catalog\Model\Product\Interceptor->load() #19 /home/u157434p147375/domains/vecino.nl/public_html/generated/code/Magento/Catalog/Model/ProductRepository/Interceptor.php(32): Magento\Catalog\Model\ProductRepository->getById() #20 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/module-catalog/Model/ProductNotFoundPageCacheTags.php(64): Magento\Catalog\Model\ProductRepository\Interceptor->getById() #21 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/module-page-cache/Model/PageCacheTagsPreprocessorComposite.php(64): Magento\Catalog\Model\ProductNotFoundPageCacheTags->process() #22 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/module-page-cache/Model/Layout/LayoutPlugin.php(100): Magento\PageCache\Model\PageCacheTagsPreprocessorComposite->process() #23 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(146): Magento\PageCache\Model\Layout\LayoutPlugin->afterGetOutput() #24 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\Layout\Interceptor->Magento\Framework\Interception\{closure}() #25 /home/u157434p147375/domains/vecino.nl/public_html/generated/code/Magento/Framework/View/Layout/Interceptor.php(347): Magento\Framework\View\Layout\Interceptor->___callPlugins() #26 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/View/Result/Page.php(260): Magento\Framework\View\Layout\Interceptor->getOutput() #27 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/View/Result/Layout.php(171): Magento\Framework\View\Result\Page->render() #28 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Framework\View\Result\Layout->renderResult() #29 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\View\Result\Page\Interceptor->___callParent() #30 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Interception/Interceptor.php(153): Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}() #31 /home/u157434p147375/domains/vecino.nl/public_html/generated/code/Magento/Framework/View/Result/Page/Interceptor.php(95): Magento\Framework\View\Result\Page\Interceptor->___callPlugins() #32 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/App/Http.php(120): Magento\Framework\View\Result\Page\Interceptor->renderResult() #33 /home/u157434p147375/domains/vecino.nl/public_html/generated/code/Magento/Framework/App/Http/Interceptor.php(23): Magento\Framework\App\Http->launch() #34 /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/App/Bootstrap.php(264): Magento\Framework\App\Http\Interceptor->launch() #35 /home/u157434p147375/domains/vecino.nl/public_html/pub/index.php(30): Magento\Framework\App\Bootstrap->run() #36 {main} {"report_id":"991e9f1d8b52169c5afb4e0ad2c5bd972471475b46fae80a3749812a182786b6","exception":"[object] (ReflectionException(code: -1): Class \"DpdConnect\\Shipping\\Model\\Attribute\\Backend\\ShippingDescription\" does not exist at /home/u157434p147375/domains/vecino.nl/public_html/vendor/magento/framework/Code/Reader/ClassReader.php:34)"} []

and system.log shows:

main.ERROR: Class "DpdConnect\Shipping\Model\Attribute\Backend\ShippingDescription" does not exist

Any advice is appreciated.

Cannot create shipment label

test on blank luma theme.
magento version 2.4.3-p1
dpdconnect/magento2-shipping version 1.2.3

Order info:
dpd error_shipment

when pressing "add product to package" Do I need to do this step?
dpd error
seems like core registry is null

Also cannot DPD download labels. The pdf is generated but stays empty
dpd error_download
DPD-shippinglabels (8).pdf

Are shipping labels also generated somewhere else?

DPD - Create shipment(s) action from order grid does not dispatch shipment save event

We are using this extension for a client, it seems shipment creation from grid does not dispatch shipment save event hence third-party extensions using these events to post data with APIs to other marketplaces could not send shipment data.

I also created a question here:
https://magento.stackexchange.com/questions/146034/magento-2-sales-order-shipment-save-after

Magento version: 2.3.5-p1
DPD Connect ver. : 1.0.5

1.3.1 on 2.4.5

The 1.3.1 is locked to magento/framework 103.0.6. This makes the module unvailable on 2.4.5, is that correct?

Trying to print a label gives bad credentials. Password saved in Config settings

M2.3.4
PHP 7.2

[2020-04-29 10:25:52] main.CRITICAL: Bad credentials {"exception":"[object] (DpdConnect\Sdk\Exceptions\AuthenticateException(code: 0): Bad credentials at /home/user/domains/domain.com/public_html/vendor/dpdconnect/php-sdk/src/Common/ResponseError.php:66)"} []

I'm able to login with the same credentials via:
https://api.dpdconnect.nl/swagger
Also via Postman.

I checked the IP for api.dpdconnect.nl what is 34.90.184.113 and seems to be google.
Whitelisted the IP and I pinged the IP from the webshop server. No package loss.

What can be the cause of this?

Logging only gives me "bad credentials".

DpdConnect_Shipping extension for Magento 2 Required Fields

In DpdConnect_Shipping for Magento 2. Is it possible to somehow activate this field to be required. Because customers often forget to select Parcelshop which appears on the checkout page but is not required. And after that in Magento 2 admin there is no information which ParcelShop customer selected. ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.