The label comes from the shop, not from support
DHL and UPS labels are created through the real interface, with a shipment number. The QR code makes the printer unnecessary: show it, and the label comes out of the machine at the branch.
What this is about
Creating a return label by hand and sending it by mail costs a few minutes every single time. Here the customer fetches it, and you get the shipment number on the case without typing it anywhere.
Three buttons, one call
The status page carries "Print DHL Label", "Print DHL QR Code" and "Print UPS Label" - depending on what you switched on. The plugin requests label and QR code from DHL in one call; the customer sees both and picks whichever suits.
A chargeable label, through a proper order
Instead of giving the label away you can sell it as a product. The customer clicks "Buy DHL label", the cart is emptied and only the label is put in. Only once the order is registered as paid does the label button become active - until then the reason is on the page.
The cart is emptied automatically and only the return label is added. Please then complete the checkout in the shop and make the payment.
Buy DHL labelWaiting for the payment
Between the purchase and the label sits the incoming payment. While that is pending, the page says so: "You have already placed an order for the chargeable return label. However, the payment has not been completed yet."
Payment not completed yet
As soon as the incoming payment is confirmed, the label is available for creation.
Print DHL labelWhen a free label makes no sense
Below a certain value of goods the free label can be blocked. The customer then sees the reason rather than a dead button. The same applies when the interface does not answer - whether the customer sees the plain text of the interface or a standard message is up to you.
Due to the low value of the returned goods, we are unfortunately unable to provide you with a free DHL label at this time.
Own credentials per country
The credentials do not hang on the plugin configuration but on a record of their own per country and optionally per sales channel. Germany free of charge, Austria for a fee - that is simply two records. Both forms carry a "Test credentials" card that pulls a real label through the real interface.
The procedure for DHL. Example: 07 for Germany, 53 for Austria
Who gets a label, and for how long
The label has a deadline of its own, separate from the deadline for filing: "If this option is activated, the creation of a return label (DHL or UPS) is only available in a defined period." On top of that the label can be restricted to valid customer groups - dealers get one, end customers do not, or the other way round.
From the admin as well
You create the same labels in the admin on the case: "Print DHL label", "Print DHL QR code", "Print UPS label". That is the way for the return that arrives by phone, and for the customer who has neither a printer nor a phone.
And then to the branch
The last step on the status page is not a button but a sentence: take the parcel to the nearest branch. From there the shipment number takes over - it sits on the case and in the list in the admin.
Every setting around the label
| Setting | Technical name | What it does |
|---|---|---|
| Activate DHL label | dhlLabelStatus | The switch for the DHL label. Without it the whole label step on the status page falls away. |
| Activate QR code DHL label | dhlQrCodeStatus | A QR code on top of the PDF. The plugin fetches both from DHL in one call. |
| Save label | dhlLabelSaveStatus | Whether the created label sits in the database or comes fresh through the interface on every request. Switching it off is meant for tests only, says the help text. |
| Activate multiple labels | dhlLabelMultipleStatus | Allows further labels for further parcels - up to five. |
| Activate log | dhlLabelLogStatus | Writes requests to and answers from the interface into var/log. The place to look after a failure. |
| Minimum value of goods | dhlLabelMinValue | Below this net value of goods the customer gets no free label but a note whose wording you set through the snippets. |
| Valid customer groups | dhlLabelValidCustomerGroup | Restricts the label to certain customer groups. Empty means all of them. |
| Activate UPS label | upsLabelStatus | The switch for UPS. According to the help text of the plugin only possible for customers inside Germany. |
| Activate valid period | labelDeadlineStatus | A deadline of its own just for creating labels, separate from the deadline for filing the return. |
| Order delivery status | labelDeadlineOrderDeliveryStatus | The delivery status that deadline counts from. |
What hangs on one credentials record
| Field | Technical name | What it holds |
|---|---|---|
| Country | country_id | One record per country. Germany free of charge and Austria for a fee are simply two records. |
| Sales channel | sales_channel_id | Can be split per sales channel on top of that. Empty means it applies everywhere. |
| Chargeable | chargeable_label | The switch that turns the free label into a sold one. |
| Product | chargeable_label_product_id | The product the customer buys for it. It ends up alone in the cart. |
| DHL credentials | dpdhl_auth_username | User and password of the business customer portal, plus customer, procedure and participation number and the receiver id. |
| UPS credentials | oauth_client_id | Client id and client secret from the UPS developer account, plus the complete sender address. |