Set up MilestonePay
These steps follow the Setup checklist in the app. MilestonePay checks what it can read from Shopify automatically. For the rest, you test it yourself and confirm.
Before you start: you'll need an Online Store theme, a payment gateway that supports charging a saved payment method later, and Shopify's new customer accounts for the customer order page. Use test orders until every step below works.
-
Create payment terms
In MilestonePay: Payment plans
Create a plan and choose:
- a percentage or fixed deposit, from 0% upwards;
- an optional preorder discount, which Shopify applies to the price at checkout; and
- when the balance is due: when the whole order is fulfilled, or a number of days or weeks after checkout.
Plans are reusable, so one plan can cover many products. For a balance due after checkout, you can also hold preorder items until the balance is paid and you mark them ready for dispatch.
-
Assign products or variants
In MilestonePay: Product assignments
Pick a product or a single variant, choose a plan, and add the estimated shipping date and a note for customers.
Optionally, set a maximum number of preorder units, or offer the preorder only when the item is out of stock. For out-of-stock mode, Shopify must track the item's inventory, Continue selling when out of stock must be on, and the product mustn't require a selling plan. Limits are best-effort: orders placed at the same moment can go over.
-
Add and test the product block
In Shopify admin: Online Store → Themes → Customize. The Setup checklist has a button that opens it.
Add the Preorder terms app block above the buy buttons on every product template your preorder products use, then save. Open a preorder product on your storefront and check the deposit, balance and estimated shipping date. Check again if you switch themes.
-
Check the plan in the cart
In your storefront, and optionally the theme editor's App embeds
Add a preorder to the cart and check that the plan name appears on both the cart page and the cart drawer, including after you change the variant. Horizon themes show it natively. Other themes may need the optional Preorder cart summary app embed.
-
Turn on new customer accounts
In Shopify admin: Settings → Customer accounts
The customer order block needs Shopify's new customer accounts. MilestonePay checks this setting automatically.
-
Add customer preorder management
In Shopify admin: Settings → Checkout → Customize
Open the Order status page, add MilestonePay's preorder account block and save. Then sign in as a test customer and check the shipping details, the paid and outstanding amounts, and the cancellation option.
-
Test a deposit and the balance
In Shopify admin: Settings → Payments
Use a test gateway that supports later charges, such as Shopify Payments in test mode. Place a test preorder and check the deposit transaction on the order. Then trigger the balance, by fulfilling the order or waiting until it's due, and check that the balance transaction appears.
A deposit, or a balance shown as due, doesn't prove the later charge works on its own. A deposit taken with Shopify's Bogus test gateway, for example, doesn't test balance collection. Test orders don't count towards your plan's allowance.
Optional next steps
- Payment notices (Communications): remind customers 7, 3 or 1 day before a balance is due and tell them when a payment fails, by app email or Shopify Flow. Notices are off until you turn them on.
- Collection time (Settings → Balance collection): choose the time of day, in your store's timezone, that timed balances are charged.
- Reporting (Overview): see preorder counts and values, with each currency kept separate.
Need help?
Email hello@tinytiger.studio with your store domain and what you're stuck on. See Support for what to include.