Frontend Familiar Withdrawal App

When the new EU withdrawal requirements were announced, I started looking at what was already available for Shopify merchants like me.

What I found was that most solutions focused on returns and refunds, not on the EU right of withdrawal and the 14-day cooling-off period. Others required customers to log into an account before they could submit a request, which isn't an option for guest checkouts.

A lot of the available apps also felt very automation-heavy. That can be useful for larger businesses, but for small creative shops like mine, I often prefer to communicate personally with customers rather than push everything through a fully automated returns flow.

Customers need to be able to submit their withdrawal electronically, without unnecessary barriers like logging in or mandatory account creation. They should also receive an immediate confirmation that their request has been received.

Searching the app store, I couldn't find a solution that worked the way I thought it should. So, like many things in life, I decided to make it myself.

Frontend Familiar Withdrawal was designed to help Shopify stores comply with the new EU withdrawal requirements while keeping everything as simple as possible.

The goal was simple: make compliance easier for merchants, provide customers with a straightforward way to exercise their rights, and remove as much friction as possible for everyone involved.

Now Available on the Shopify App Store!

Frontend Familiar Withdrawal is officially available on the Shopify App Store.

This app helps Shopify merchants add a clear electronic withdrawal and cancellation request flow to their storefront, supporting the EU requirement for customers to be able to submit withdrawal requests online.

Built for independent shops, the app includes a storefront withdrawal request form, customer confirmation flow, merchant dashboard, email notifications, and request status tracking, all designed to make compliance feel less overwhelming.

New users can try the app with a 14-day free trial, so now is a great time to install it, test it on your shop, and get your withdrawal flow in place.

Install Frontend Familiar Withdrawal

  • $4,99/month

    Standard

    Everything you need to provide a compliant online EU withdrawal function and manage requests directly from Shopify.

    Included features:

    ✔ 14-Day Free Trial
    ✔ Customer withdrawal request form
    ✔ Order verification
    ✔ Customer confirmation emails
    ✔ Merchant notification emails
    ✔ Withdrawal request dashboard
    ✔ Request status management
    ✔ Merchant notes and processing history
    ✔ Shopify integration and onboarding
    ✔ Installation health checks and support

  • Future Releases

    Currently in Development

    The following features are currently being explored or developed for future releases.

    • Archive Options
    • Email Resend Options
    • Status Update Email Controls
    • Custom Mail Server Options
    • Multi-Language Storefront Text
    • Setup Status Wizard

    Release order, availability, and plan access may change.

1 of 2

Why a Subscription?

On the surface, the app may look like a simple button and form. Behind the scenes, it needs moving parts to keep working properly.

It needs hosting, so the app is available when your customers use it. It uses an email service, so confirmation emails can be sent reliably. It also needs maintenance, updates, bug fixes, support, and time to keep everything compatible with Shopify. Then there are also the hours that went into building it in the first place.

I wanted to keep the price accessible for small creative businesses, because those are the businesses I build for. The Standard plan is $4.99/month.

That price helps cover the actual running costs, and makes it possible for me to keep maintaining the app properly.

Frontend Familiar Withdrawal App

Installation Guide

Frontend Familiar Withdrawal adds an EU withdrawal and cancellation request form to your Shopify storefront. Follow this guide step by step to install the app, configure your contact details, add the form to your theme, and test that requests are arriving correctly.

All of these steps should be followed in the admin section of your Shopify shop.

Step 1 of 10

Step 1

Choose Your Setup Adventure

Before you begin, choose your path. You can follow this guide yourself for free, or you can ask me to handle the basic setup for you.

Think of the free self-setup as following the recipe from the spellbook. The optional setup help is for merchants who would rather have me brew the potion for them.

Illustrated spellbook representing the free self-setup guide

Path One: Brew It Yourself

Follow the recipe step by step and set up the withdrawal form yourself for free.

This guide will walk you through creating the page, setting up the template, adding the app block, configuring the form settings, adding the menu link, and submitting a test request.

Choose this path if you are comfortable clicking around in the Shopify admin and theme editor.

Illustrated potion bottle representing optional setup help

Path Two: Let Me Brew It

Basic setup help is available for $19.99.

Choose this path if you would rather have me handle the basic technical setup, including the page, template, app block, menu link, and one test request.

To request setup help, contact support@frontendfamiliar.com.

What the $19.99 setup help includes
  • Creating or configuring the withdrawal form page
  • Setting up the dedicated page template
  • Adding or checking the app block placement
  • Configuring the form block settings
  • Adding one footer, customer service, returns, or legal menu link
  • Submitting one test request
  • Checking that the request appears in the app dashboard

This covers technical setup only. It does not include legal advice, legal policy writing, theme redesign, custom code, or ongoing store maintenance.

Step 2

Complete the App Setup

Before using the form, complete the required setup inside the app.

Shopify admin → Apps → Frontend Familiar Withdrawal

Enter your contact details

  • Notification Email: This is where new withdrawal and cancellation requests will be sent.
  • Reply-To Email: This is the email address customers can reply to when they receive confirmation or follow-up emails.

Save your settings before continuing.

Configuration screen showing the Notification Email and Reply-To Email fields

Step 3

Create a Withdrawal or Cancellation Page

First, create a normal Shopify page for the withdrawal or cancellation form.

Shopify admin → Online Store → Pages → Add page

Suggested page titles

  • Withdrawal Request
  • Cancellation Request
  • Right of Withdrawal
  • Returns and Cancellations

The page can be a simple dedicated form page, or part of a custom returns and cancellations page that includes your policy information and the withdrawal form.

Step 4

Create a Dedicated Page Template

For most themes, you should create a dedicated page template for the withdrawal form page.

Online Store → Themes → Customize → Pages → Create template

Use a clear template name, such as:

withdrawal-request

Do not add the form block to your default page template unless you want the form to appear on every page using that template.

Step 5

Assign the Template to Your Page

After creating the dedicated template, assign it to your withdrawal or cancellation page.

Shopify admin → Online Store → Pages → [your page] → Theme template

Select the dedicated withdrawal or cancellation template you created, then save the page.

Step 6

Add the Form to Your Storefront

Open the theme editor and go to the dedicated withdrawal or cancellation page template.

Then add the app block:

Apps → Frontend Familiar Withdrawal → Withdrawal Request Form

Place the form where you want it to appear on the page, then save the theme.

Shopify theme editor showing the Frontend Familiar Withdrawal app block

Step 7

Make the Form Easy to Find

Installing the app block on a page is not enough if customers cannot find that page.

Add a clearly labelled link to your withdrawal or cancellation page in one or more places customers already use for help and policy information.

Shopify admin wording may vary slightly. Menu links are usually managed in one of these areas:

Shopify admin → Content → Menus
Online Store → Navigation

Good places for the link

  • Footer menu
  • Customer service menu
  • Returns policy page
  • Legal information menu

The link should be easy for customers to find without needing to log in.

Step 8

Configure the Form Block

Click the Withdrawal Request Form app block in the theme editor and configure the available settings.

Recommended settings

Returns Policy Link

Add the link to your shop’s returns, refunds, or cancellation policy page. This link appears below the withdrawal form intro text for customers whose questions are not about the EU 14-day cooling-off period.

Contact Section

If enabled, customers can see a contact link for questions that do not belong in the withdrawal form. Add your preferred contact page or support page link.

Return to Store Link

If enabled, customers can return to your storefront after submitting or reviewing the form.

Typography

You can adjust the size of intro text, smaller text, and confirmation text. These settings only change the appearance of the text. The legal wording itself is controlled by the app.

Save your changes.

Withdrawal form app block settings in the Shopify theme editor

Step 9

Check and Test the Form

Open the form page on your live storefront.

Test from the live storefront, not only from the theme editor preview.

Check the customer-facing form

  • The form appears correctly.
  • The intro text is readable.
  • The EU Consumer Rights Directive link opens correctly.
  • The returns policy link goes to your policy page.
  • The required fields are visible.
  • The confirmation checkbox lines up correctly.
  • The submit button is visible.

Submit a test request

Submit a test request using an order from your store. Use the same email address that belongs to the order if you want to test order matching.

After submitting, check that:

  • The customer sees a success message.
  • A request ID is shown.
  • The merchant notification email arrives.
  • The customer confirmation email arrives.
  • The request appears in the app dashboard.

Review requests in the dashboard

Shopify admin → Apps → Frontend Familiar Withdrawal

You can review request details, check order information, add merchant notes, and update the request status.

Available statuses include:

  • Pending
  • In Review
  • Approved
  • Rejected

Changing the request status does not automatically refund an order. Refunds and order changes still need to be handled in Shopify according to your normal workflow.

App dashboard showing submitted withdrawal requests and request statuses

Step 10

Troubleshooting and Support

The app block does not appear in the theme editor

Hard refresh the theme editor with Ctrl + F5, then check again.

If the block still does not appear, make sure you are editing a theme template or section that supports app blocks.

A new setting does not appear in the theme editor

Hard refresh the theme editor with Ctrl + F5. The theme editor can sometimes show an older cached version of app block settings.

The form says it cannot submit the request

Check that the app is still installed and that the app setup has been completed.

Then try submitting the form again from the live storefront, not only from the theme editor preview.

The form returns a Shopify 404 on submission

If the form posts to /apps/withdrawal-request and receives a Shopify 404, the app proxy may not be attached correctly to the shop install.

Try reinstalling the app, then open the app once in Shopify admin and test the form again.

Emails are not arriving

Check that:

  • The Notification Email is correct.
  • The Reply-To Email is correct.
  • Emails are not in spam or promotions.
  • The request appears in the app dashboard.

If the request appears in the dashboard but no email arrives, contact support.

Contact Support

For help, contact:

support@frontendfamiliar.com

Setup help is also available if you would rather have the page, template, form block, menu link, and test request handled for you.

When contacting support, please include:

  • Your Shopify store name
  • The page where the form is installed
  • The order number used for testing
  • A screenshot of any error message
  • Whether the request appears in the app dashboard

Privacy Policy

Last updated: 16 June 2026

Introduction

EU Withdrawal Cancel Button ("the App") is operated by Undercover Otter, a sole proprietorship registered in the Netherlands and trading under the name Frontend Familiar.

This Privacy Policy explains how we collect, use, store, and protect information when merchants install and use the App and when customers submit withdrawal requests through stores that use the App.

The App is designed to help Shopify merchants receive, validate, manage, and process withdrawal and cancellation requests submitted by customers.

By installing or using the App, merchants agree to the practices described in this Privacy Policy.

Data Controller

The data controller for the App is:

Undercover Otter

Trading as Frontend Familiar

The Netherlands

Email: support@frontendfamiliar.com

Information We Collect

Merchant Information

When a merchant installs or uses the App, we may collect:

  • Shopify store domain
  • Shopify shop ID
  • Store name
  • Merchant contact information made available by Shopify
  • App configuration settings
  • Technical and diagnostic information required to operate the App

Customer Information

When a customer submits a withdrawal request through a merchant's storefront, the App may collect:

  • Customer name
  • Customer email address
  • Order number
  • Information entered into the withdrawal request form
  • Additional information voluntarily provided by the customer

Order Validation Information

To validate withdrawal requests, the App may access limited Shopify order information, including:

  • Shopify order identifiers
  • Order number
  • Customer information associated with the order
  • Order status information
  • Information required to determine whether the submitted request matches an existing Shopify order

How We Use Information

We process information solely to provide the App's functionality.

This includes:

  • Receiving withdrawal requests
  • Validating requests against Shopify orders
  • Storing withdrawal request records
  • Sending confirmation emails to customers
  • Sending notification emails to merchants
  • Displaying requests in the merchant dashboard
  • Providing support and troubleshooting
  • Maintaining service security
  • Preventing abuse and fraud
  • Complying with legal obligations

We do not sell personal information.

We do not use customer information for advertising purposes.

Shopify Data

The App uses Shopify APIs to access only the information required to provide its functionality.

The App accesses Shopify data exclusively for the purposes described in this Privacy Policy and in accordance with Shopify's API Terms and Partner Program requirements.

Third-Party Service Providers

We use trusted service providers to operate the App.

Shopify

Shopify provides the e-commerce platform, authentication services, and APIs used by the App.

Railway

Application infrastructure is hosted using Railway.

PostgreSQL

Application and withdrawal request records are stored in PostgreSQL databases.

Resend

Customer confirmation emails and merchant notification emails may be delivered through Resend.

These providers process information only as necessary to provide their services.

Data Sharing

We do not sell, rent, or trade personal information.

Information is shared only:

  • With service providers necessary to operate the App
  • When required by law
  • To respond to lawful requests from public authorities
  • To protect the security, integrity, or legal rights of the App, merchants, customers, or third parties

International Transfers

Information may be processed in countries outside the country in which it was originally collected.

Where required, appropriate safeguards are implemented to protect personal information during international transfers.

Data Retention

Withdrawal request records and related information may be retained for as long as reasonably necessary to:

  • Provide App functionality
  • Maintain merchant records
  • Respond to support requests
  • Resolve disputes
  • Enforce agreements
  • Meet legal and regulatory obligations

Data may be deleted following app uninstallation, subject to operational, security, accounting, or legal requirements.

Security

We implement reasonable technical and organisational measures designed to protect information against:

  • Unauthorised access
  • Unauthorised disclosure
  • Accidental loss
  • Misuse
  • Alteration
  • Destruction

However, no method of electronic transmission or storage can be guaranteed to be completely secure.

GDPR Rights

Where applicable, individuals may have rights under the General Data Protection Regulation (GDPR), including the right to:

  • Access personal information
  • Correct inaccurate information
  • Request deletion of personal information
  • Restrict processing
  • Object to processing
  • Request data portability
  • Withdraw consent where processing relies on consent

Requests may be submitted to:

support@frontendfamiliar.com

Merchants remain responsible for responding to customer privacy requests relating to information under their control.

Children's Privacy

The App is not intended for children.

We do not knowingly collect personal information from children.

Merchant Responsibilities

Merchants are responsible for:

  • Providing legally required privacy notices to their customers
  • Determining their legal obligations regarding withdrawal rights
  • Ensuring their use of the App complies with applicable laws
  • Responding to customer privacy requests where required

The App is a software tool and does not provide legal advice.

Changes to this Privacy Policy

We may update this Privacy Policy from time to time.

Changes become effective when the updated Privacy Policy is published.

The "Last updated" date at the top of this document indicates the most recent revision.

Contact

Questions regarding this Privacy Policy may be directed to:

Undercover Otter

Trading as Frontend Familiar

support@frontendfamiliar.com