The branded page is built and live. This page lays out the current checkout process end-to-end, how the redirect actually works (confirmed by Dutchie on Jul 7 — we control it via a ?r= parameter), an honest old-vs-new comparison, and two plans to switch it on — test on demo now with zero risk, then go live at launch.
A single branded order-confirmation (“thank you”) page that works for every store — nothing to build per store, no separate URL to hand back and forth.
This is exactly what happens when a customer buys on the new site. It matters because it explains the one thing we can’t control.
CreateCheckout → AddItem, which returns a redirect URL into Dutchie’s checkout.?r= (Dutchie-confirmed Jul 7). We choose the destination.?r=https://sessions.ca/order-completed to the checkout URL and their checkout will honour it. So the redirect is self-serve from our end — no Dutchie ticket required for it.No sugar-coating — here’s the exact split. The page is fully ours. The trigger that returns the customer to it is Dutchie’s.
?r=<our-page> to the checkout URL and Dutchie honours it. Confirmed by Dutchie, Jul 7.?r= return parameter to the checkout URL. The order still completes on Dutchie’s page; we just hand that page the URL to bounce back to. The earlier “only Dutchie can set it” applies only to the Admin default field, not the per-checkout redirect.Important: Mike did not avoid this via API either. On the old site he emailed Dutchie a thank-you URL per store — the same mechanism. Only the top and bottom rows changed; the checkout and the redirect are identical.
| Step | Old — Mike (WordPress + WP CannaSync) | New — us (Dutchie API cart + hosted checkout) | Same? |
|---|---|---|---|
| Catalog / menu | WP CannaSync pulls the Dutchie catalog into WordPress | We pull it via the Dutchie API / our worker | changed |
| Cart | WordPress / CannaSync cart | Our cart → CreateCheckout + AddItem | changed |
| Checkout & payment | Dutchie hosted checkout | Dutchie hosted checkout | |
| Who places the order | Dutchie, on Dutchie’s page | Dutchie, on Dutchie’s page | |
| Return redirect | Dutchie redirects to the per-store URL Mike emailed them | We set it ourselves via the ?r= param on the checkout URL (or a one-time Admin default) | improved |
| Thank-you page | WP CannaSync page, one per store | Our branded page, one shared for all stores + optional live status via API | improved |
Dutchie (Kheresa Yeno, Implementation Strategist) confirmed exactly how the redirect works for our Plus setup. Two ways, and the exact parameter is r:
?r= on the checkout URL · we control it?r=<return-url> to the checkout URL; Dutchie redirects the customer there after checkout.…/checkouts/(dispensaryId)/(checkoutId)?r=https://google.com?r=https://sessions.ca/order-completed. Added in our own code — no Dutchie ticket needed.https://sessions.ca/order-completed) so no query param is needed.apisupport@dutchie.com to set it.?r= param from Option 1 overrides this default when present./order-completed. Scheduling note from Dutchie: no go-lives Jul 9–10 (“Oil Day”).Prove one full purchase-to-confirmation flow before launch, without touching any live store, using a throwaway / non-live test dispensary.
?r=https://demo.sessions.ca/order-completed to the checkout URL in the demo build — the ?r= method Dutchie confirmed. No Dutchie email needed. (Optionally also ask apisupport@dutchie.com to set the Admin default.)Once the site is live on sessions.ca, point the redirect at the production page. This is the one production, customer-facing lever — Sophie + Darryl sign-off.
https://sessions.ca/order-completed loads.https://sessions.ca/order-completed.Happy to jump on a quick call and set it together.
| Environment | Redirect URL to give Dutchie | When | Who sets it |
|---|---|---|---|
| Demo / test throwaway dispensary only | https://demo.sessions.ca/order-completed | Now (safe) | Dutchie API Support, on our email |
| Production all live stores | https://sessions.ca/order-completed | At launch | Dutchie API Support (Sophie + Darryl sign-off) |
Dutchie appends the order details to whichever URL is set (order number + status). Exact key names are confirmed by Dutchie or captured in the Plan A test — see section 6.