Skip to content

Releases: wppoland/plogins-withdraw

plogins-withdraw 1.6.6

Choose a tag to compare

@wppoland wppoland released this 02 Oct 11:31
  • Fixed: an order number that is not a plain number, such as "INV-1001" from a renumbering plugin, was turned into 0 before the lookup ran, so the form and the emailed-link step refused it and the withdraw/resolve_order_number filter never saw it. The number is now read as typed.
  • Fixed: the privacy eraser cleared the email and reason columns but left the customer's name and email inside the stored declaration text, while reporting the email as cleared. It now removes both from the declaration too and clears the name. The exporter now includes the name and the declaration.
  • Fixed: uninstalling left three kinds of option behind: the schema revision, the text sweep flag and the per-email WooCommerce settings. All are removed now.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.6.5

Choose a tag to compare

@wppoland wppoland released this 29 Sep 10:40
  • Hardening: the item quantities posted by the withdrawal form are now sanitised as integers at the moment they are read, instead of being read raw and cast later.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.6.4

Choose a tag to compare

@wppoland wppoland released this 23 Sep 13:29
  • Display name drops the "Plogins " prefix. The slug, the text domain and every option key are unchanged, so nothing on an existing install moves.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.6.3

Choose a tag to compare

@wppoland wppoland released this 11 Sep 21:30
  • Fixed: arrow glyphs in the admin menu paths, and in the strings handed to translators. An arrow inside a translatable string makes the glyph every translator's problem and changes the layout in any locale that drops it.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.6.2

Choose a tag to compare

@wppoland wppoland released this 10 Sep 20:44
  • Fixed: the Link text setting did not reach the button on the My Account order view. That button printed the statutory English sentence directly, so a shop that reworded the link saw its own wording on the shortcode and the footer link and the untouched default on the order. All three now resolve the label the same way.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.6.1

Choose a tag to compare

@wppoland wppoland released this 08 Sep 19:58
  • Renamed to "Plogins Withdraw - EU Right of Withdrawal & Returns for WooCommerce". The old name led on the word "button", which four other withdrawal plugins in the directory also use, and it undersold a plugin that carries the form, the request log, seven emails and the Annex I texts. The slug, the text domain and every setting are unchanged; nothing needs reconfiguring.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.6.0

Choose a tag to compare

@wppoland wppoland released this 08 Sep 13:06
  • Fixed: the form intro and the model withdrawal text shipped as English sentences in a config file and were printed to the customer word for word. A config default cannot be translated, so every non-English shop showed its customers English until an admin noticed and rewrote it by hand. Both are now generated and translatable.
  • New: the model withdrawal form (Annex I.B) is built from your own details, the seller name, the WooCommerce store address, the email and the phone, in the language of the site. Leave the setting empty to use it; anything you type still wins.
  • New: seller name, email and phone settings for those texts. Empty falls back to the site title and the admin email, so the form always names somebody. The screen warns when the WooCommerce store address is empty, because without it there is no geographical address to state.
  • New: a [withdraw_instructions] shortcode rendering the model instructions on withdrawal (Annex I.A) for your terms or returns page, generated from the same details and from your withdrawal period, so it cannot drift out of step with what the form enforces. Attributes heading="no" and form="no" trim it. The withdraw/model_instructions filter is there for the service-contract and digital-content paragraphs a particular catalogue needs.
  • The return-cost sentence appears in those instructions only once you have set the rule. It is the very notice Article 6(1)(i) requires before the contract, so generating it by default would create the notice a shop then relies on.
  • On update, an intro or model text left exactly as it shipped is cleared so the generated wording takes over. Anything you edited, including a hand translation, is matched exactly and kept.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.5.0

Choose a tag to compare

@wppoland wppoland released this 08 Sep 12:58
  • Fixed: the request log stopped at the newest 100 rows with no way past them, so on a busy shop older declarations were unreachable from wp-admin. It now pages 25 at a time, and a bookmarked page that no longer exists lands on the last one instead of an empty table.
  • Fixed: the log accepted a search argument that nothing ever passed to it. There is now a search box, matching on customer email or order number, and it works together with the status filter.
  • New: a detail screen per request, reached from the ID column. It shows what the list could not: the reason the customer gave, the declaration they confirmed, both timestamps and your own refund deadline. The access token stays off the page, because it is a credential rather than a record.
  • New: a note field next to the status control, and a rejection now requires one. "Your withdrawal request could not be accepted" with no reason gives the customer nothing to act on and leaves you no record of why you refused. The note is printed in the email, for every status, so it also works as "your parcel arrived, the refund goes out on Tuesday".
  • Fixed: re-saving a status without retyping the note no longer wipes it, and editing the note alone no longer sends the customer a second identical message.
  • The status counts on the filter links are now real numbers rather than plain labels.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.4.0

Choose a tag to compare

@wppoland wppoland released this 08 Sep 10:52
  • New: every message the plugin sends is now a WooCommerce email. They use your store template, logo and footer, and each one has its own entry under WooCommerce, Settings, Emails where it can be reworded, restyled or switched off on its own. Seven of them: the declaration acknowledgement, the shop notification, one per request status, and the guest access link.
  • New: the shop notification keeps its own recipient field. Left empty it uses the notification address already set under WooCommerce, Withdrawal, so nothing moves for a shop that never opens the emails screen.
  • New: the acknowledgement stores the declaration as the customer confirmed it and repeats back those exact words, rather than rebuilding the sentence when the mail is sent. A later translation, a renamed product or a reworded template can no longer change what a past customer is told they declared.
  • New: the acceptance message carries the Article 14(1) information. Where to send the goods back, taken from a new return address field or from your WooCommerce store address, the deadline counted from the day the customer declared rather than from the day you accepted, and who bears the direct cost of the return.
  • New: a setting for who pays to send the goods back. It says nothing until you choose, because Article 14(1) only lets you charge the customer if you told them so before the sale, and a default that assumed otherwise would have the plugin make a claim on your behalf that may not hold.
  • New: the request log shows your own Article 13(1) deadline, 14 days from the day the customer told you they were withdrawing, and marks it in red once it has passed. It counts from the declaration, not from your acceptance, which is the clock the law actually puts you on.
  • Changed: the acceptance message no longer says the 14 days run from that message. They run from the declaration, so a shop that took a week to accept was quietly giving the customer a week too long.

Full history: https://plogins.com/plogins-withdraw/changelog/

plogins-withdraw 1.3.0

Choose a tag to compare

@wppoland wppoland released this 08 Sep 09:35
  • Fixed: saving a request's status twice sent the customer a second identical email, and a status outside the allowed list still mailed them the generic "being reviewed" message for a write the database had refused. Both introduced with the status emails in 1.0.8.

  • New: Article 16(m) consent for digital content, off by default. When switched on, a cart holding a downloadable product gets one optional, unticked checkbox at checkout carrying both halves of the statement: the request to begin supply immediately and the acknowledgement that the right of withdrawal is lost once supply has begun. It renders on the classic checkout and on the block checkout, and the block version hides itself on carts with no downloadable item.

  • New: the consent is recorded on the order with the moment it was given, the exact wording shown at the time, and the products that were downloadable when the order was placed, so editing the wording later cannot rewrite what an earlier customer agreed to. Nothing is written unless the order really holds a downloadable item, whatever the checkout posted.

  • New: the consent is confirmed back to the customer on the order screen and in the order email. Article 16(m) only excludes the right if the trader also gave that confirmation, so it is part of the feature rather than an option.

  • New: an order screen panel showing whether consent was given, declined or never offered, in which words, and whether each covered product has actually been downloaded, which is what decides whether the exclusion applies at all.

  • New: once supply has begun for a consented item, that item is dropped from the withdrawal form and refused on the server, not merely hidden. If every item in the order is covered, the order is refused with its own reason. WooCommerce cannot see downloads it did not serve, so files delivered by email or an external portal always read as not begun and stay withdrawable; the withdraw/digital_supply_begun filter is there for those shops.

  • New: an optional emailed one-time link for guest access, off by default. Turned on, the lookup step mails a single-use token to the billing address on the order rather than opening the form, answers identically whether the order exists or not, and rate limits requests per address and per IP. Only the hash of a token is stored, tokens expire after an hour, and one is spent when a declaration is actually submitted. Leave it off and the form behaves exactly as it did.

  • New: on the keyed flow the form no longer emits an order or address field the customer could edit, so whoever holds a link cannot redirect the acknowledgement email somewhere else, and a link stops working if the shop changes the order's billing address after sending it.

  • Fixed: the panel shown after requesting a link printed a nonce that nothing ever verified, on a button that did not send a second link. The nonce is gone and the button says what it does.

  • Fixed: the rate limiter restarted its window on every attempt, so it never drained while attempts kept coming. Anyone who knew a customer's billing address could have kept that address over the cap indefinitely, silently, because the flow answers the same either way. The window is now fixed.

Full history: https://plogins.com/plogins-withdraw/changelog/