Withdrawal Confirmation email
Availability: This email template is sent to customers who use the EU right-to-withdrawal flow on the Snipcart cart widget v3.9.0 or later. The template editor in the merchant dashboard surfaces it on every account; the email itself is only ever triggered by the withdrawal flow.
The Withdrawal Confirmation email is sent to the customer immediately after they submit a successful withdrawal request through Snipcart's EU Right to Withdrawal flow. It serves as the customer's receipt of the request, with a confirmation number, the requested items, and the refund amount the merchant will process if the request is accepted.
When this email is sent
Snipcart sends the Withdrawal Confirmation email automatically:
- Trigger: the customer submits a withdrawal request that passes validation (correct order number, matching email, eligible order state).
- Recipient: the email address on the original order — the same address the customer entered into the withdrawal form.
- Localization: the email uses the order's language. Snipcart ships translations for all 24 EU official languages plus several others; merchants can override per language.
- Notification record: a notification entry is also persisted on the order so the merchant can see in their dashboard that the email was sent.
If the customer submitted the request after the 14-day withdrawal period (isOutsideWithdrawalPeriod is true), the email includes a notice flagging that fact and explaining that the merchant will review the request and contact them about next steps.
Template variables
The template is rendered with the following data exposed to Handlebars expressions.
withdrawal
The withdrawal request itself.
| Variable | Type | Description |
|---|---|---|
withdrawal.confirmationNumber |
string | Human-readable identifier in the form WD-YYYYMMDD-XXXXXXXX. Shown prominently in the default template. |
withdrawal.customerName |
string | Full name supplied by the customer (the legal "unequivocal statement"). |
withdrawal.requestedAt |
datetime | When the customer submitted the request. Format with the date Handlebars helper. |
withdrawal.isPartial |
boolean | true for a partial withdrawal (customer selected specific items); false for a full-order withdrawal. |
withdrawal.isOutsideWithdrawalPeriod |
boolean | true if the request was submitted more than 14 days after the order's completion. The default template renders an additional notice block when true. |
withdrawal.refundAmount |
number | Total amount the merchant will refund if the request is accepted. Format with the money helper. |
withdrawal.items[] |
array | Line items the customer requested to withdraw. Iterate with {{ #each withdrawal.items }}. For a full withdrawal, this contains every item on the order. |
withdrawal.items[].itemName |
string | Display name of the item. |
withdrawal.items[].quantity |
number | Quantity requested. |
withdrawal.items[].unitPrice |
number | Price per unit at the time of the original order. |
withdrawal.items[].totalPrice |
number | quantity × unitPrice. |
order
The original order. The standard order variables are available — most commonly used in this template:
| Variable | Type | Description |
|---|---|---|
order.invoiceNumber |
string | The customer-facing invoice number. |
order.completionDate |
datetime | When the order was completed. |
order.lang |
string | Language code used for this email's locale resolution. |
The full list of order fields is the same as for other order-scoped emails (Invoice, Refund, etc.) — see those templates' documentation for the complete reference.
settings
Merchant settings. Same shape as in other order emails:
| Variable | Type | Description |
|---|---|---|
settings.businessAddress.company |
string | Merchant company name. Also interpolated into the default subject line. |
settings.businessAddress.{address1, address2, city, province, country, postalCode} |
string | Merchant address fields. |
settings.logoUrl |
string | URL of the merchant logo. |
settings.signature |
string (HTML) | Merchant-defined signature block, rendered raw. |
settings.orderHistoryUrl |
string | Optional URL where the customer can view their order history. |
context
Either Email (the value when this template is rendered for sending an email) or other rendering contexts used internally. The default template guards customer-facing copy with {{ #if_eq context 'Email' }} so that internal previews don't render the greeting paragraph twice.
Default subject line
Withdrawal Confirmation - Order {{ order.invoiceNumber }} on {{{ settings.businessAddress.company }}}You can change the subject when overriding the template — the first line of the template body is the YAML-style header containing the subject (matching the convention used by Snipcart's other Handlebars templates).
Overriding the template
The Withdrawal Confirmation email is overridable per account, per language, exactly like the Invoice and Refund email templates. From the merchant dashboard:
- Open Settings → Email templates.
- Select Withdrawal Confirmation from the list.
- Pick a language (or leave on the default to override the fallback used when no language-specific override exists).
- Edit the Handlebars template and save.
When Snipcart renders the email for a given customer, it picks the override that matches the order's language, falling back to the default-language override and finally to the built-in template Snipcart ships.
For details on the dashboard editor, the available Handlebars helpers (date, money, if_eq, with, etc.), and how to customize the email's HTML, see the existing Email Templates documentation.
Default content overview
The built-in template renders, in order:
- Greeting paragraph addressing the customer by name and confirming receipt of the request.
- An "outside the withdrawal period" notice block if applicable.
- A header showing the confirmation number.
- A details section with the order number, order date, request date, withdrawal type (full or partial), and refund amount.
- The merchant's business address and the customer's name.
- An itemized table of the items being withdrawn, with quantity, unit price, total per row, and total refund amount.
- A "Next steps" block reminding the customer that the merchant will review the request, that goods may need to be returned, and that the merchant has 14 days to refund under EU Consumer Rights Directive.
- The merchant's signature, if configured.
- A link back to the customer's order history, if configured.
Override the template if you want to change wording, add return-shipping instructions, surface your refund-policy URL, or restyle the layout to match your brand.
Cross-references
- EU Right to Withdrawal — feature overview and the merchant resolution flow.
- Order webhooks —
order.withdrawal.createdfires alongside this email; the payload mirrorswithdrawal.*. - Email Templates (existing page) — Handlebars helpers, dashboard editor, override mechanism shared with Invoice / Refund / etc.