WP Manifestindependent plugin directory
manifest / ecommerce / woocomerce

DPD RO Shipping / Payment WP Registry grade D+. High-severity findings · 2 findingsWP RegistryHigh-severity findings · 2 findingsOpen the reportD+

WooCommerce DPD Module for shipping. The module gives access to the romanian DPD services. You can create labels, return labels and use home delivery or a delivery to a DPD Parcel Point. You can use also the cash on delivery method from DPD.

★ 5stars
v3.3.2latest · 5mo ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/dpdromania/woocomerce/archive/refs/heads/main.zip
Updates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.

DPDROMANIA Shipping

DPD Romania Courier shipping method plugin

Description

Overview

This plug-in is intended to implement a new shipping method using the DPD Romania service. As a store owner, after installing the plugin, you are able to import the list of DPD Romania service and delivery points assigned to your account. If your customer chooses the order to be delivered with DPD Romania, you will be able to see this in the list of commands in your store's administration panel. You will also be able to create an AWB. You can then add a new parcel in the created AWB and show the AWB as a pdf format. If you want, you can show the AWB history or delete the AWB.

For further information, contact us at api.support[at]dpd.ro !

Features

  • Config DPD Romania shipping method
  • Import DPD Romania pickup-points
  • Import DPD Romania services
  • Import DPD Romania lockers
  • Show AWB as PDF format
  • Add new parcel in AWB
  • Drop-down Romanian cities
  • Show map network DPD Ro an UE OOH (office, lockers, dpd shops)

Installation

Requirements

  • WordPress v6.0 or later
  • WooCommerce v6.1 or later

Plugin installation procedure

  • Open your WordPress admin dashboard and go to Plugins/Installed Plugins menu
  • Press Add new button and then press Upload Plugin.
  • Drag & drop the .zip folder you downloaded and install plugin.

If every thing works, activate plugin and now the new feature are ready to use.

Locator OOH Widget

The locator widget allows you to choose your preferred pickup location

Releases

10 releases.

Tag
Published
v3.3.2 latest
May 13, 2026 5mo ago
May 12, 2026 5mo ago
Mar 11, 2026 7mo ago
Sep 17, 2025 1 year ago
Aug 1, 2025 1 year ago
Jul 29, 2025 1 year ago
Jul 29, 2025 1 year ago
Jun 23, 2025 1 year ago
Apr 29, 2025 1 year ago
Apr 25, 2025 1 year ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

D+ grade

Security

DPD RO Shipping / Payment 3.3.2 · audited by WP Registry

High-severity findings.

1 high 1 medium
Audited release
3.3.2
Findings
2
Worst severity
high
Content hash
50c7ed2c724979bf2c569790…

Findings

  • high Privileged AJAX (credentials, tax, AWB create/delete) registered nopriv with nonce-only auth

    missing_auth

    Ajax::init and WooOrder::init hook the same callbacks on both wp_ajax_ and wp_ajax_nopriv_ for saveConnection, updateConnection, saveSettings, saveAdvanceSettings, savePaymentSettings, saveTaxRates, saveTaxRatesOffices, createShipment, saveShipment, deleteShipment, requestCourier, address/office/shipping-method writes, and related UI loaders. None of those callbacks call current_user_can(). The only gate is check_ajax_referer for a per-action nonce. Those nonces are printed in includes/view/settings.php (manage_options page) and on shop_order admin UI / the HTML returned by createShipment — a default Subscriber or logged-out visitor is not shown them, so check_ajax_referer currently stops a customer who cannot scrape admin HTML. Because the actions are nopriv and capability-free, any valid nonce for that action (stolen admin nonce, future public localization, uid-0 nonce if settings.php is ever rendered logged-out) is sufficient to: overwrite dpdro_settings username/password (saveConnection also TRUNCATEs services/clients/addresses and file_put_contents PHP under includes/woo/services/{service_id}.php via createServicesFile); rewrite payment_tax/payment_zones used as COD fees on checkout; create or delete real DPD shipments (saveShipment/deleteShipment talk to api.dpd.ro with the store credentials); request a courier pickup. getOffices and shipmentInfo are wp_ajax_ only but likewise lack a capability check.

    includes/ajax.php:51-67

    Recommendation

    Drop every wp_ajax_nopriv_ registration for admin/AWB actions. In each callback, require current_user_can('manage_options') for settings/connection/tax and current_user_can('edit_shop_orders') for shipment/courier/address/office. Keep the nonces. Do not generate shipping-method PHP files from API-supplied service names; use a static map.

  • medium TLS certificate verification disabled on all DPD API calls

    insecure_config

    LibraryApi::request() sets CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST to false for every call to https://api.dpd.ro/v1/, including authentication, calculate (checkout rates), shipment create/delete, pickup, and print. The POST body always contains the store userName and password. A network attacker in a position to intercept those connections can steal DPD credentials, alter quoted rates, or tamper with AWB payloads. Combined with the web-accessible logs.json and unserialize() of on-disk API cache, a MITM can also plant cache contents.

    library/api.php:54-70

    Recommendation

    Leave cURL’s default certificate verification enabled (VERIFYPEER true, VERIFYHOST 2). Do not add an option to disable it in production.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.