Shopify QR Checkout Payments in FMX

Updated Yesterday · 8 min readAdvanced

QR Checkout lets your photo booth collect payments without a card reader or an operator. When a guest reaches a payment step, the booth shows a QR code, the guest scans it and pays on their own phone through Shopify, and the booth advances automatically once the payment lands.

How It Works

  1. The booth reaches a payment step and displays a QR code with the amount to pay.
  2. The guest scans the code with their phone camera, which opens a Shopify checkout page.
  3. The guest pays with any method enabled on your store - card, Apple Pay, Google Pay, Shop Pay, and more.
  4. Shopify notifies Foto Master Cloud, and the booth advances automatically within 2-4 seconds.

Behind the scenes, the booth talks to Foto Master Cloud, and Foto Master Cloud talks to Shopify on your behalf.

What You Need

  • A Shopify account — any plan (Basic, Shopify, or Advanced)
  • An active FMX license connected to Foto Master Cloud
  • An internet connection at the booth

You do not need a card reader, a payment terminal, a tablet running Shopify POS, or a booth operator. Guests pay on their own phones.

Global Currencies Supported: FMX Shopify QR Checkout fully supports different currencies. Ensure that the currency you wish to charge in is enabled and correctly configured within your Shopify store settings.

Step 1: Create a Shopify Custom App

This app gives Foto Master Cloud permission to create checkouts and detect payments on your store.

  1. Log in to Shopify Admin at https://your-store.myshopify.com/admin.
  2. Open the Shopify Dev Dashboard, where Shopify now builds custom apps. You can reach it from SettingsApps in your store admin.
  3. In the Dev Dashboard, open Apps in the left menu and click Create app (top-right).
  4. Choose Start from Dev Dashboard, name the app something descriptive like FMX Photo Booth, then click Create.

Step 2: Enable the Admin API Scopes

  1. Your app opens on a new version automatically. Scroll down to the Scopes section.
  2. In the Scopes field (not Optional scopes), enter or enable these three permissions:

Scope

Why it's needed

read_orders

Detect when a guest completes a payment

write_draft_orders

Create the checkout behind the QR code

read_draft_orders

Cancel unpaid checkouts when the booth times out

read_locations

Resolve & validate the Shopify tax location so each location charges its own tax

write_merchant_managed_fulfillment_orders

Auto-fulfill the order and route it to the booth's location

  1. Click Release to save this version. A version is a snapshot of the app's configuration that you can roll back to later.
  2. Open Settings in the left menu and copy the app's Client ID and secret.
  3. Note your shop domain - it looks like your-store.myshopify.com.
  4. In the left menu, open your app (the first item), then click Install app and install it to your shop.

Warning: Treat the client secret like a password. You'll hand it to Foto Master support in Step 3, and it is stored securely in Foto Master Cloud.


Step 3: Multiple Shopify locations (optional)

If your Shopify store has more than one location, FMX can be linked to a specific location. This helps keep your photo booth payments tied to the correct store location for reporting and tax routing. If you only have one location, you can ignore this step. If you manage multiple locations, make sure the one you want to use is active and available in Shopify before finishing setup.

Step 4: Register Your Shop with Foto Master Cloud

This is a one-time setup that links your Shopify store to your booth. In your Foto Master Cloud account, click your profile picture, choose Settings, then open Shopify and fill in the details below:

ItemWhere to find it
Shop domainYour Shopify URL (e.g. your-store.myshopify.com)
Client IDShopify app → Settings (Step 2)
Client secretShopify app → Settings (Step 2)

Save the settings. Foto Master Cloud will establish a secure handshake with your Shopify store.

Step 5: Configure FMX

  1. Open FMX and go to Global Settings → the Devices tab.
  2. Set Payment Provider to Shopify.
  3. Set the price and currency code (e.g., USD, EUR, CAD) corresponding to your active Shopify market.
  4. Click Test Connection - you should see a success message.
  5. Click Save Changes.


Settings Reference

Setting

Default

What it does

Poll Interval

2000 ms

How often the booth checks for payment (range 500-10000 ms). Lower = faster detection, more network traffic

Timeout

300 s

How long the QR code stays on screen before giving up (0 = wait indefinitely)

Tip: Leave the Poll Interval and Timeout at their defaults unless you have a specific reason to tune them.

Step 6: Build a Workflow That Works

  1. Open the Workflow Builder in your Cloud Account.
  2. Add a Payment trigger to the step where you want to collect payment.
  3. Set the Payment Amount (e.g. 500 cents ($5)).
  4. Set the Currency to match your Shopify store (e.g. USD).
  5. Save the workflow.

Tip: You do not need to create a product in Shopify. The checkout uses a draft order with a custom line item, and the price is set dynamically from your workflow. Different workflows or different payment triggers within one workflow can charge different amounts.

Make Checkout Faster (Optional)

To speed up the guest experience, simplify your Shopify checkout so wallet-ready guests can pay with minimal typing:

  1. In Shopify Admin, go to SettingsCheckout.
  2. Set Customer contact method to Email, and leave "Require customers to sign in" turned off.
  3. Under Customer information, set fields like Company name and Address line 2 to Don't include or Optional, and avoid making extra fields required.
  4. Turn off Show tipping at checkout unless you want tips.
  5. In SettingsPayments, enable wallet methods such as Apple Pay, Google Pay, and Shop Pay where available.

Guests who already have a digital wallet set up can often pay in seconds: scan the QR code, tap the wallet button, confirm with Face ID or fingerprint, done. Guests without a saved wallet can still pay through the standard Shopify checkout form.

Day-to-Day Operation

Once setup is complete, there is nothing to manage - the booth handles each guest automatically:

  • Self-service loop: A guest starts the booth, reaches the payment step, scans and pays, and the booth advances. Repeat for the next guest.
  • Timeout: If a guest doesn't pay within the timeout (default 5 minutes), the booth safely closes the old checkout and shows a fresh QR code.
  • Card decline: If a payment fails on the Shopify page, the guest can retry on their phone while the QR code is still active.
  • Late payment: If a guest finishes paying just after the booth times out, the booth detects and recovers that payment and advances the workflow. A manual refund is only needed in the rare case of a severe network outage.
  • Multiple booths: Several booths can share one Shopify account safely - each checkout has a unique session ID, so no booth can claim another booth's payment.

Where Payments Appear & Refunds

Photo booth payments show up in Shopify AdminOrders as completed orders, noted as "Photo Booth Payment (FMX)" with the booth's session ID in the order details. To refund, open the order in Shopify Admin and click Refund — the standard Shopify refund process applies.

Troubleshooting

What you seeWhat to do
"FMX Cloud not authenticated"Open Global SettingsCloud tab click the Logout button, and then Login back into your account to renew the session.
Test Connection failsYour shop may not be registered yet — contact Foto Master support (Step 3)
QR code doesn't appearCheck that Payment Provider is set to Shopify and Shop Domain is filled in
Payment not detected after the guest paysWait a few seconds — detection takes 2–4s, then check the booth's internet connection. If it still hasn't advanced, contact Foto Master support
Long delay (over 10 seconds) after paymentCheck the internet connection, then try lowering the Poll Interval (minimum 500 ms)
"Failed to create checkout"The Admin API credentials may be missing a scope or expired — contact Foto Master support
"Payment timeout"The guest didn't finish paying in time. A new QR code appears once the old checkout is safely closed. If this happens often, increase the Timeout
A guest was charged but the booth didn't advanceThis is rare — the booth automatically recovers late payments in this situation. If the workflow stays stuck, contact Foto Master support with the Shopify order details so the payment can be reconciled or refunded

Frequently Asked Questions

Do I need any hardware? No. Guests pay on their own phones — no card reader, terminal, or extra tablet.

Do I need a booth operator? No. The payment flow is fully self-service.

Do I need to create products in Shopify? No. The checkout is created with the exact amount from your workflow — no product catalog needed.

Can I charge different amounts for different events? Yes. The amount is set per payment trigger in the workflow editor, and the correct amount is sent to Shopify each time.

What currency can I charge in? Any currency your Shopify store supports. Set the workflow currency to match your store.

What if the internet drops while a guest is paying? The booth keeps checking until the timeout expires. If connectivity returns and the payment completed, the booth detects it and advances; otherwise a fresh QR code appears on the next attempt.

Can multiple booths share one Shopify account? Yes. Each checkout has a unique session ID, so booths never interfere with each other's payments.

Does Foto Master charge extra per transaction? No. Standard Shopify payment processing fees apply per your Shopify plan.

Does FMX store my Shopify credentials? No. Your credentials are stored securely in Foto Master Cloud. The booth only stores your shop domain.


Was this helpful?

Related articles