Skip to content

Instantly share code, notes, and snippets.

@cargix1
Last active May 2, 2024 19:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save cargix1/47982f92cf7eade97bc705d2c8730c92 to your computer and use it in GitHub Desktop.
Save cargix1/47982f92cf7eade97bc705d2c8730c92 to your computer and use it in GitHub Desktop.
Order Confirmation Template
{% capture email_title %}Thank you for your purchase! {% endcapture %}
{% capture email_body %}Hi {{ customer.first_name }}, {% if attributes.Checkout-Method == "pickup" %}we're getting your order ready for collection.{% elsif attributes.Checkout-Method == "delivery" %}we're getting your order ready to be delivered. We will notify you when it has been sent.{% else %}we're getting your order ready to be shipped. We will notify you when it has been sent.{% endif %}{% endcapture %}
<!DOCTYPE html>
<html lang="en">
<head>
<title>{{ email_title }}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="/assets/notifications/styles.css">
<style>
.button__cell { background: {{ shop.email_accent_color }}; }
a, a:hover, a:active, a:visited { color: {{ shop.email_accent_color }}; }
</style>
</head>
<body>
<table class="body">
<tr>
<td>
<table class="header row">
<tr>
<td class="header__cell">
<center>
<table class="container">
<tr>
<td>
<table class="row">
<tr>
<td class="shop-name__cell">
{% if shop.email_logo_url %}
<img src="{{shop.email_logo_url}}" alt="{{ shop.name }}" width="{{ shop.email_logo_width }}">
{% else %}
<h1 class="shop-name__text">
<a href="{{shop.url}}">{{ shop.name }}</a>
</h1>
{% endif %}
</td>
<td class="order-number__cell">
<span class="order-number__text">
Order {{ order_name }}
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="row content">
<tr>
<td class="content__cell">
<center>
<table class="container">
<tr>
<td>
<h2>{{ email_title }}</h2>
<p>{{ email_body }}</p>
<table class="row actions">
<tr>
<td class="actions__cell">
<table class="button main-action-cell">
<tr>
<td class="button__cell"><a href="{{ order_status_url }}" class="button__text">View your order</a></td>
</tr>
</table>
{% if shop.url %}
<table class="link secondary-action-cell">
<tr>
<td class="link__cell"><a href="{{ shop.url }}" class="link__text"><span class='or'>or</span> Visit our store</a></td>
</tr>
</table>
{% endif %}
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="row section">
<tr>
<td class="section__cell">
<center>
<table class="container">
<tr>
<td>
<h3>Order summary</h3>
</td>
</tr>
</table>
<table class="container">
<tr>
<td>
<table class="row">
{% for line in line_items %}
{% if item_count == 1 %}
{% assign columnWrapperClass = 'order-list__item--single' %}
{% elsif forloop.first == true %}
{% assign columnWrapperClass = 'order-list__item--first' %}
{% elsif forloop.last == true %}
{% assign columnWrapperClass = 'order-list__item--last' %}
{% else %}
{% assign columnWrapperClass = '' %}
{% endif %}
<tr class="order-list__item {{columnWrapperClass}}">
<td class="order-list__item__cell">
<table>
<td>
{% if line.image %}
<img src="{{ line | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% endif %}
</td>
<td class="order-list__product-description-cell">
<span class="order-list__item-title">{{ line.title }} × {{ line.quantity }}</span><br/>
{% if line.variant.title != 'Default Title' %}
<span class="order-list__item-variant">{{ line.variant.title }}</span>
{% endif %}
</td>
<td class="order-list__price-cell">
{% if line.original_line_price != line.line_price %}
<del class="order-list__item-original-price">{{ line.original_line_price | money }}</del>
{% endif %}
<p class="order-list__item-price">{{ line.line_price | money }}</p>
</td>
</table>
</td>
</tr>{% endfor %}
</table>
<table class="row subtotal-lines">
<tr>
<td class="subtotal-spacer"></td>
<td>
<table class="row subtotal-table">
{% if discounts.first.code %}
<tr class="subtotal-line">
<td class="subtotal-line__title">
<p>
<span>Discount ({{ discounts.first.code }})</span>
</p>
</td>
<td class="subtotal-line__value">
<strong>{{ discounts_savings | money }}</strong>
</td>
</tr>
{% endif %}
<tr class="subtotal-line">
<td class="subtotal-line__title">
<p>
<span>Subtotal</span>
</p>
</td>
<td class="subtotal-line__value">
<strong>{{ subtotal_price | money }}</strong>
</td>
</tr>
{% if attributes.Checkout-Method != "pickup" %}
<tr class="subtotal-line">
<td class="subtotal-line__title">
<p>
<span>Shipping</span>
</p>
</td>
<td class="subtotal-line__value">
<strong>{{ shipping_price | money }}</strong>
</td>
</tr>
{% endif %}
{% for line in tax_lines %}
<tr class="subtotal-line">
<td class="subtotal-line__title">
<p>
<span>{{ line.title }}</span>
</p>
</td>
<td class="subtotal-line__value">
<strong>{{ line.price | money }}</strong>
</td>
</tr>
{% endfor %}
</table>
<table class="row subtotal-table subtotal-table--total">
<tr class="subtotal-line">
<td class="subtotal-line__title">
<p>
<span>Total</span>
</p>
</td>
<td class="subtotal-line__value">
<strong>{{ total_price | money_with_currency }}</strong>
</td>
</tr>
</table>
{% assign transaction_size = 0 %}
{% for transaction in transactions %}
{% unless transaction.kind == "authorization" or transaction.kind == "void" %}
{% assign transaction_size = transaction_size | plus: 1 %}
{% endunless %}
{% endfor %}
{% if transaction_size > 1 %}
<table class="row subtotal-table">
<tr><td colspan="2" class="subtotal-table__line"></td></tr>
<tr><td colspan="2" class="subtotal-table__small-space"></td></tr>
{% for transaction in transactions %}
{% if transaction.status == "success" and transaction.kind == "capture" or transaction.kind == "sale" %}
{% if transaction.payment_details.credit_card_company %}
{% capture transaction_name %}{{ transaction.payment_details.credit_card_company }} (ending in {{ transaction.payment_details.credit_card_last_four_digits }}){% endcapture %}
{% else %}
{% capture transaction_name %}{{ transaction.gateway | replace: "_", " " | capitalize }}{% endcapture %}
{% endif %}
<tr class="subtotal-line">
<td class="subtotal-line__title">
<p>
<span>{{transaction_name}}</span>
</p>
</td>
<td class="subtotal-line__value">
<strong>{{ transaction.amount | money }}</strong>
</td>
</tr>
{% endif %}
{% if transaction.kind == 'refund' %}
{% if transaction.payment_details.credit_card_company %}
{% assign refund_method_title = transaction.payment_details.credit_card_company %}
{% else %}
{% assign refund_method_title = transaction.gateway %}
{% endif %}
<tr class="subtotal-line">
<td class="subtotal-line__title">
<p>
<span>Refund</span>
<br>
<small>{{ refund_method_title | capitalize }}</small>
</p>
</td>
<td class="subtotal-line__value">
<strong>- {{ transaction.amount | money }}</strong>
</td>
</tr>
{% endif %}
{% endfor %}
</table>
{% endif %}
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="row section">
<tr>
<td class="section__cell">
<center>
<table class="container">
<tr>
<td>
<h3>Customer information</h3>
</td>
</tr>
</table>
<table class="container">
<tr>
<td>
<table class="row">
<tr>
{% if requires_shipping and shipping_address and attributes.Checkout-Method != "pickup" %}
<td class="customer-info__item" valign="top" style="vertical-align:top;">
<h4>{% if attributes.Checkout-Method == "delivery" %}Delivery address{% else %}Shipping address{% endif %}</h4>
<p>
{{ shipping_address.name }}
{% if shipping_address.company %}
<br/>{{ shipping_address.company }}
{% endif %}
<br/>{{ shipping_address.address1 }}
{% if shipping_address.address2 %}
<br/>{{ shipping_address.address2 }}
{% endif %}
<br/>{{ shipping_address.city }}, {{ shipping_address.province }} {{ shipping_address.zip }}<br />
{% if attributes.Delivery-Date %}
<br />Delivery Date: {{ attributes.Delivery-Date | date: "%A, %-d %B %Y" }}<br />
{% endif %}
{% if attributes.Delivery-Time %}
Delivery Time: {{ attributes.Delivery-Time }}<br />
{% endif %}
{% if attributes.Shipping-Date %}
<br />Shipping Date:<br/>{{ attributes.Shipping-Date | date: "%A, %-d %B %Y" }}<br />
{% endif %}
</p>
</td>
{% endif %}
{% if attributes.Checkout-Method == "pickup" %}
<td class="customer-info__item" valign="top" style="vertical-align:top;">
<h4>Pickup address</h4>
<p>
{% if attributes.Pickup-Location-Company %}
{{ attributes.Pickup-Location-Company }}<br/>
{% endif %}
{{ attributes.Pickup-Location-Address-Line-1 }}
{% if attributes.Pickup-Location-Address-Line-2 %}
<br/>{{ attributes.Pickup-Location-Address-Line-2 }}
{% endif %}
<br/>{{ attributes.Pickup-Location-City }}
<br/>{{ attributes.Pickup-Location-Region }}
<br/>{{ attributes.Pickup-Location-Postal-Code }}
<br/>{{ attributes.Pickup-Location-Country }}<br/>
{% if attributes.Pickup-Date %}
<br />Pickup Date:<br/>{{ attributes.Pickup-Date | date: "%A, %-d %B %Y" }}<br />
{% endif %}
{% if attributes.Pickup-Time %}
<br/>Pickup Time:<br/>{{ attributes.Pickup-Time }}<br />
{% endif %}
</p>
</td>
{% endif %}
{% if billing_address %}
<td class="customer-info__item" valign="top" style="vertical-align:top;">
<h4>Billing address</h4>
<p>
{{ billing_address.name }}<br/>
{{ billing_address.address1 }}
{% if billing_address.address2 %}
<br/>{{ billing_address.address2 }}
{% endif %}
<br/>{{ billing_address.city }}, {{ billing_address.province }} {{ billing_address.zip }}
</p>
</td>
{% endif %}
</tr>
</table>
<table class="row">
<tr>
{% if attributes.Checkout-Method != "pickup" %}
<td class="customer-info__item">
<h4>Shipping method</h4>
<p>{{ shipping_method.title }}</p>
</td>
{% endif %}
<td class="customer-info__item">
<h4>Payment method</h4>
{% for transaction in transactions %}
{% if transaction.status == "success" and transaction.kind == "capture" or transaction.kind == "sale" %}
<p class="customer-info__item-content">
{% if transaction.payment_details.credit_card_company %}
{% capture credit_card_url %}notifications/{{ transaction.payment_details.credit_card_company | downcase }}.png{% endcapture %}
<img src="{{ credit_card_url | shopify_asset_url }}" class="customer-info__item-credit" height="24">
<span>Ending in {{ transaction.payment_details.credit_card_last_four_digits }} — <strong>{{ total_price | money }}</strong></span>
{% else %}
{{ transaction.gateway | replace: "_", " " | capitalize }} — <strong>{{ transaction.amount | money }}</strong>
{% endif %}
</p>
{% endif %}
{% endfor %}
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="row footer">
<tr>
<td class="footer__cell">
<center>
<table class="container">
<tr>
<td>
<p class="disclaimer__subtext">If you have any questions, reply to this email or contact us at <a href="mailto:{{ shop.email }}">{{ shop.email }}</a></p>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<img src="{{ 'notifications/spacer.png' | shopify_asset_url }}" class="spacer" height="1" />
</td>
</tr>
</table>
</body>
</html>
@pinkgerbils
Copy link

For the monthly money spent on the app, these templates should really include the same design elements similar to Shopify.

@cargix1
Copy link
Author

cargix1 commented Apr 15, 2021

Hey @pinkgerbils thanks for your feedback! This template was a direct copy from the default Shopify template. Although be it this gist hasn't been updated in a while. The version contained within the app itself does not correlate with this one, it's much newer. I'll be sure to get the gist updated to prevent any confusion for other merchants. Andy

@AgatheLT
Copy link

Hello, thank you for that.
You just have one option for english? Or do you have it in french too?

@SandyJZapiet
Copy link

Hello @AgatheLT,

Our template is in English by default. But, if you need your Shopify Order Confirmation emails to be in French, you'll be able to translate and edit the text :)

If you have more questions, don't hesitate to reach us at support@zapiet.com.

Sandy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment