Your application will receive GET requests with a token and email for verification. Here's how to handle them:
Set up your application to handle GET requests to the /landing endpoint.
| // order.attributes.job_status [string] | |
| // order.attributes.job_code [string] | |
| // order.attributes.job_history [array] | |
| // example: | |
| [ | |
| { | |
| "updated_at": "2025-03-19T12:00:00Z", | |
| "code": "12345", | |
| "label": "Label for Customer", |
| <script> | |
| {% assign cart_limits = limits | newline_to_br | split: '<br />' %} | |
| Cart.limits = {}; | |
| {% for limit in cart_limits %} | |
| Cart.limits[{{ limit | split: ':' | first | strip | json }}] = {{ limit | split: ':' | last }}; | |
| {% endfor %} | |
| Cart.limit = () => { | |
| try { | |
| const cartFooter = document.querySelector('.cart__footer'); | |
| const checkoutButton = cartFooter?.querySelector('[name="checkout"]'); |
| {%- comment -%} | |
| Parameters | |
| img_url: {string} Shopify image_url of the image including a width parameter eg. &width={width} | |
| max_width: {number} maximum width used for srcset (optional) | |
| {%- endcomment -%} | |
| {%- liquid | |
| assign widths = '160,320,480,640,800,960,1120,1280,1440,1600,1920,2240,2560' | split: ',' | |
| assign max_width_num = max_width | plus: 0 |
| {%- comment -%} | |
| Parameters | |
| image: Liquid object - Shopify media object. | |
| img_alt (optional): string - Text for the alt attribute. Defaults to media alt. | |
| max_width: (optional): number|string - maximum width used for srcset. | |
| img_class (optional): string - Class(es) for the <img> element. | |
| img_attributes (optional): string - Attribute(s) for the <img> element. | |
| lazy: (optional) boolean - Defaults to true (lazy-load). | |
| sizes (optional) : string - sizes attribute for <img>. Defaults to empty. | |
| aspect_ratio (optional): string - Defaults to empty, which uses image intrinsic aspect ratio. |
| import log from 'loglevel'; | |
| import PropTypes from 'prop-types'; | |
| import { useState, useEffect } from 'react'; | |
| import useLocalStorage from 'use-local-storage'; | |
| import SvgIcon from '@/components/SvgIcon'; | |
| import useSettings from '@/hooks/useSettings'; | |
| const CreditsButton = ({ | |
| display_vertical = false, | |
| product, |
| import $ from 'jquery'; | |
| import Swiper, { Autoplay } from 'swiper'; | |
| Swiper.use([Autoplay]); | |
| const selectors = { | |
| slideshow: '[data-slideshow]', | |
| slideshowSlide: '[data-slideshow-slide]' | |
| }; | |
| const classes = { |
| {{ 'component-card.css' | asset_url | stylesheet_tag }} | |
| {{ 'component-price.css' | asset_url | stylesheet_tag }} | |
| {{ 'component-product-grid.css' | asset_url | stylesheet_tag }} | |
| {{ 'section-product-carousel.css' | asset_url | stylesheet_tag }} | |
| <script src="{{ 'swatchHelper.js' | asset_url }}" defer="defer"></script> | |
| <script src="{{ 'product-carousel.js' | asset_url }}" defer="defer"></script> | |
| <div class='container my-12'> |
| <div class="accordion-wrapper-cstm"> | |
| <div class="so-tab" style="text-align: left;"> | |
| <input id="so-tab-1" type="checkbox" name="tabs"> <label for="so-tab-1"><h4>Where can I buy:</h4></label> | |
| <div class="so-tab-content"> | |
| <p>At this moment in time, right here on our website. It's super simple, with all major card options, shop-pay & Paypal</p> | |
| </div> | |
| </div> | |
| <div class="so-tab" style="text-align: left;"> |
| <div class="page-width page-content"> | |
| <div class="grid"> | |
| <div class="grid__item medium-up--one-third medium-up--push-one-third text-center"> | |
| <div class="form-vertical"> | |
| {% form 'reset_customer_password' %} | |
| <header class="section-header"> | |
| <h1 class="section-header__title">{{ 'customer.reset_password.title' | t }}</h1> | |
| <p>{{ 'customer.reset_password.subtext' | t: email: email }}</p> |