Withdrawal form and button

This plugin adds a full-featured and secure customer withdrawal system to your WooCommerce store.

1. Installation

  1. Download the plugin installation file.
  2. Upload folder woocommerce-indentation-formal to the folder wp-content/plugins/ on your server, or upload the .zip file directly via the WordPress administration (Plugins > Add New).
  3. Activate the plugin in the WordPress administration.
Screenshot 2026 04 10 195309
Screenshot 2026 04 10 194424

2. Basic form setup and insertion

The basis of operation is placing the shortcode on a dedicated page.

  1. Create a new page in WordPresse (for example, titled „Withdrawal“).
  2. Insert the shortcode into the page content: [withdrawal_formal]
  3. Publish the page.
Screenshot 2026 04 10 194517

3. Configuration (Admin Settings)

All settings can be found in the WordPress administration menu WooCommerce -> Withdrawal. The administration interface is divided into two tabs: Settings a Withdrawals (list of applications received).

On the cards Settings you can customize:

  • URL of the form page: Enter the URL of the page you created in the previous step.
  • Request zip code: Enable additional customer verification via zip code from the billing address. (Recommended for security reasons).
  • Withdrawal period: The number of days (normally 14) during which the customer has the right to return the goods. The time is calculated from the date of delivery (if recorded), otherwise from the completion of the order.
  • Duplication of requests: If this option is enabled, the customer will not be able to send multiple requests for the same order.
  • Allowed order statuses: Select the states (e.g. In Progress, Completed) for which the withdrawal will be allowed at all. If the order has a different status, the form will not load and the button will not appear.
  • Insert in email: Select the statuses (e.g., Processing, Completed) for which the button will be inserted in the email below the table. If the order has a different status, the button is not inserted.
  • Email templates: Here you can customize the subject and text of automated emails for both the admin and the customer.
    • Available variables: {order_id}, {email}, {iban}, {return_mode}, {items}, {reason}, {date}, {request_text}
Screenshot 2026 04 12 181616

4. How it works from the customer's point of view

The customer has two options to access the form:

A. Directly via the form page:

  1. The customer enters the order number, their email and zip code.
  2. The plugin verifies the data, order status and validity of the deadline in the background. (The system includes a rate-limit against guessing data).
  3. If everything is OK, a selection of items will be displayed. The customer can choose to return the entire order or check out only specific products and their quantities.
  4. For selected payment methods, the form will request the IBAN for the refund.
  5. Once sent, the system will recalculate the estimated refund amount.
Screenshot 2026 04 10 194725
Screenshot 2026 04 10 194832

B. Through the client area (My Account): In the order list (/my-account/orders/), a button will automatically appear for eligible orders „Withdraw from the contract“. For security reasons, the link in the button is protected by a cryptographic token, so no email or sensitive order key. Once clicked, the customer is redirected to a form that is already pre-populated and ready for selecting items to return.

Screenshot 2026 04 10 194911

5. Management of requests (Withdrawals)

After the customer submits the form, two things happen:

  1. Both you and the customer will receive a confirmation email with the details of the request.
  2. The request is saved in the system and assigned as a note to the order.

You can view all received applications at any time in the administration tab Withdrawals (WooCommerce -> Withdrawal -> Withdrawals). From this list, you can quickly click directly to the details of a specific order.

Screenshot 2026 04 10 194943

6. For developers: integration into emails and templates

If you are using external email plugins or customizing custom templates, you can generate a link to a secure form for a specific order in two ways:

Using the PHP helper function:

wco_get_withdrawal_url($order_id)

Using Shortcode (within other plugins if they support shortcode processing):

[withdrawal_link order_id="123" label="Withdraw"]

Localization note: The plugin is fully ready for translation, by default it includes Slovak (en_SK) and Czech (en_CZ) the location in the folder languages/.

Leave a Reply

Your email address will not be published. Required fields are marked *