Skip to main content

Static QR Code Payments

Set up a printable QR code that lets customers pay for their order from their own phone.

Written by Treez Support

About Hosted Payments

Hosted Payments lets your customer complete a Treez Pay transaction on their own device (usually their phone) instead of on a customer-facing screen at your counter. After a budtender rings up the order, the customer is taken to a secure checkout page to enter their payment details and complete the sale.

This is a great fit for stores that don't have a customer-facing display, or any time you'd prefer the customer to pay from their own device.

About Static QR Codes

A static QR code is a single, permanent QR code you print once and display at your counter. Unlike dynamic QR codes that change with each transaction, the static QR stays the same. You generate it one time and reuse it for every customer.

When a customer scans it, they're prompted to enter the Order ID for their ticket, then taken to the Hosted Payments checkout page to complete payment.


Setting Up Your Static QR Code

⚠️ Before using static QR, your store must be enabled with our new POS payment widget. To confirm if your store has already been enabled, please reach out to [email protected].

Before you can accept static QR payments, you'll need to generate and print your store's QR code from TP Portal. You only need to do this once per location.

  1. Sign in to TP Portal

  2. Open System Configurations

  3. Find the Static QR section

  4. Generate your store's QR code

  5. Download the print-ready file

  6. Print and display the QR code at each checkout counter


Taking a Payment with Static QR

Once the QR code is displayed at your counter, here's how a transaction works:

  1. Ring up the customer's order as usual

  2. When you're ready to take payment, push the order to Hosted Checkout from the POS

  3. Let the customer know the Order ID and direct them to scan the QR code at the counter

  4. While the customer is paying, an in-progress modal appears in the POS

  5. The POS automatically updates with the payment status once the customer completes their transaction

If you need to stop a payment in progress, (for example, if the customer changes their mind or the order needs to be adjusted) you can cancel the Hosted Checkout from the in-progress modal.


What the Customer Sees

  1. Scans the printed QR code with their phone camera

  2. The Treez Pay checkout page opens in their browser

  3. Enters the Order ID provided by the budtender

  4. Reviews the order and selects a payment method

  5. Completes payment and receives a confirmation

The checkout page is mobile-optimized, so customers don't need to download an app.


Things to Know

  • The static QR code never changes β€” print it once and reuse it indefinitely

  • If the order total changes after you push to Hosted Checkout (items added, removed, or a discount applied), the existing checkout link is invalidated and you'll need to push the order again

  • Hosted Checkout links expire after a period of inactivity. If the customer waits too long to pay, push the order again to generate a fresh link

  • If a customer enters an invalid or expired Order ID, they'll see an error and can re-enter the correct one

  • You can print and display multiple copies of the QR code β€” for example, one at each register

Did this answer your question?