Shopify Integration

Connect your Shopify store

Install the free TCG QuickShip app on your store and connect it to your Quick Ship account. Orders flow in, tracking flows back, and a copy sold on another marketplace lowers the matching Shopify variant.

Install from Shopify (recommended)

The TCG QuickShip app is free to install. Your Quick Ship plan is billed by Quick Ship, separately from your Shopify invoice (see Shopify app billing). Connecting a store is free on any plan; live order sync needs the Pro plan or above.

  1. In Quick Ship open Connections, click Connect on the Shopify card, enter your store address (the permanent one ending in .myshopify.com) and click Continue to Shopify.
  2. Shopify shows the permissions the app needs. Click Install. You are sent straight back to Connections with the store connected.
  3. Starting from the Shopify App Store instead? Install the app there, sign in to Quick Ship when asked, and click Connect this store on the banner that appears at the top of Connections. The banner waits for an hour.
  4. Use Sync on the Process Orders page to pull new orders. Live order sync for App Store installs (orders arriving as they are placed) is coming shortly; the switch on the Shopify card will say so until then.

To remove the app later, uninstall it from your Shopify admin (Settings → Apps and sales channels) and disconnect it here.

Advanced: connect with a custom app you built

Sellers who already created their own Shopify app can keep using it. Switch on I built a custom app in the connect dialog and follow the steps below.

1

Open app development from your store

In your Shopify admin go to Settings AppsDevelop apps and click Build apps in Dev Dashboard. Shopify opens the Dev Dashboard in the organisation your store belongs to.

2

Create the app

Click Create app, choose Start from Dev Dashboard, and name it something you will recognise later, for example TCG QuickShip. The name is only shown to you.

3

Create a version with these scopes

Open VersionsCreate version and in the version’s Admin API scopes list tick exactly these 9. Quick Ship checks for every one of them when you connect and refuses the connection if any is missing.

ScopeQuick Ship uses it to
read_ordersImport your open orders
read_productsMatch variants to your Quick Ship cards
read_merchant_managed_fulfillment_ordersSee which items in an order still need shipping
write_merchant_managed_fulfillment_ordersMark those items fulfilled when you buy a label
read_fulfillmentsCheck tracking already on an order
write_fulfillmentsPush tracking numbers to Shopify
read_inventoryRead variant stock levels
write_inventoryLower a variant when a copy sells elsewhere
read_locationsFind the location that holds stock

Rather than ticking them one by one, copy this list and paste it into the scopes field:

Under Webhooks set the API version to 2026-07. Leave the subscriptions list empty: Quick Ship registers its own when you turn on live order sync. Then click Release.

4

Install the app on your store

Back on the app’s Home tab click Install app, pick your store, and approve the permissions Shopify lists. They should match the table above. If you release a new version later with extra scopes, come back to this tab and install the new version so the store approves them.

5

Copy the Client ID and Client secret

Open the app’s Settings tab. Copy the Client ID and the Client secret (click the eye icon to reveal it). Shopify no longer shows a permanent Admin API token for new apps; Quick Ship uses these two values to mint short-lived tokens for your store itself.

6

Connect in Quick Ship

Go to the Connections page, find the Shopify card and click Connect. Enter your store’s permanent address (the one ending in .myshopify.com, shown under Settings → Domains), then the Client ID and Client secret, and click Connect.

Quick Ship immediately checks that the store exists, that the credentials work, that every scope was granted, and, if the store already has an order, that the app may read customer names and addresses. Anything wrong shows up in the dialog with a fix; see the troubleshooting table below.

7

Turn on live order sync

On the connected Shopify card flip Live order sync on. Quick Ship subscribes to new orders on your store, so each new order appears on the Process Orders page within seconds, with its inventory reserved and your other synced marketplaces lowered to match. Lowering Shopify after a sale elsewhere is set up in step 8, not by this switch. Turn it off at any time and Quick Ship removes the subscription.

Without live sync you can still press Sync Shopify Orders on the Process Orders page to pull open, unfulfilled orders on demand. Either way, buying a label pushes the tracking number back to Shopify and marks the items fulfilled.

8

Optional: link variants for stock sync

To let Quick Ship lower a Shopify variant when that card sells on another marketplace, give the variant the SKU tcgqs-<TCGplayer sku> in Shopify (for example tcgqs-1234567), make sure Shopify tracks its quantity at the location that holds stock, and click Link variants on the Shopify card. Every matching card with active stock in Quick Ship is designated to Shopify, except copies already listed on a marketplace whose live order sync is off; those are reported as skipped. Nothing is written to Shopify at link time; quantities only move when a copy sells elsewhere. Run it again after adding new variants.

Troubleshooting

While connecting

WhereMessageWhat to do
Connect dialogThat does not look like a Shopify store address.Use the permanent address ending in .myshopify.com (Settings → Domains in your admin), or just the store handle. Custom domains are not accepted.
Connect dialogShopify rejected these credentials.Re-copy the Client ID and Client secret from the app’s Settings tab (step 5). A secret you rotated in Shopify invalidates the old one.
Connect dialogNo Shopify store exists at that address.Check the spelling of the store address. It must be the .myshopify.com address of the store the app is installed on.
Connect dialogShopify says this store is unavailable (frozen or locked).Resolve the billing or lock issue in your Shopify admin, then try again.
Connect dialogThe app is missing these Admin API scopes: …Go back to step 3, add every scope named in the message to a new version, release it, then install the new version from the app’s Home tab (step 4) so the store approves the added scopes.
Connect dialogYour app is not yet approved for customer data.The app was created at dev.shopify.com rather than from your store admin. In the Partner Dashboard open the app → App distribution → Choose distribution → Custom distribution, enter your store address, then try again. No reinstall is needed.
Connect dialogCustomer data access could not be confirmed yet.Not an error. The store has no order to probe with yet, so the check runs when you turn on live order sync (or when the first order syncs). Nothing to do now.
Connect dialogSomething went wrong talking to Shopify.Shopify or the network hiccupped. Wait a moment and try again; if it keeps happening, check status.shopify.com.
Connect dialogThis store is already connected to another QuickShip account.A store can feed one Quick Ship account at a time. Disconnect it in the other account first, then connect it here.
Connect dialogShopify connections are not available for this account yet.The Shopify integration is still rolling out. Ask us on Discord (discord.gg/CsBTEy4zGn) if you would like early access.
Connect dialogShopify accepted the credentials but the connection could not be saved.Nothing was stored. Try again; if it persists, contact us with the time it happened.

After connecting

WhereMessageWhat to do
Live order sync switchReconnect with a Dev Dashboard app to enable live sync.You connected with a legacy Admin API token. Shopify signs each order delivery with the app secret, which a legacy token does not have. Create a Dev Dashboard app (steps 1–5), disconnect, and reconnect with its Client ID and secret.
Live order sync switchLive order sync is available on the Pro plan and above.Upgrade your Quick Ship plan. Manual Sync on the Process Orders page keeps working on your current plan.
Live order sync switchLive order sync is not available yet.Live sync is still rolling out for this account. Use Sync Shopify Orders in the meantime.
Live order sync switchCould not enable live order sync: …Shopify refused the subscription; the rest of the message says why. The usual cause is customer-data access (see the connect-dialog row above). Fix it in Shopify, then flip the switch again.
Live order sync switchCould not disable live order sync: …Shopify could not be reached to remove the subscription, so the switch stays on. Try again in a minute.
Shopify cardShopify refused the stored credentials on <date>.The secret was rotated, the app was removed from the store, or the store closed. Disconnect and reconnect with the app’s current Client ID and secret.
Process Orders → SyncShopify is not connected or its credentials no longer work.Reconnect Shopify on the Connections page.
Process Orders → SyncShopify has not granted this app access to customer data.Orders would arrive without addresses. Give the app custom distribution in the Partner Dashboard (see the connect-dialog row above), then sync again.
Process Orders → SyncYour Shopify store is frozen or locked.Resolve that in your Shopify admin, then sync again.
Process Orders → SyncShopify rate limit reached.Wait a minute and sync again.
Link variantsNo variants linked: N unknown skus, N without QuickShip stock.Variant SKUs must be tcgqs-<TCGplayer sku> (step 8) and the card must have active copies in Quick Ship. Fix the SKUs in Shopify or add stock, then run Link variants again.
Link variantsNo variants to link.No variant in the store carries a tcgqs-<TCGplayer sku> SKU, or the ones that do have inventory tracking off. Set the SKU (step 8), turn on Track quantity for the variant, and try again.
Link variantsN items listed elsewhere without live sync skippedThose copies are already listed on a marketplace whose live order sync is off, so Quick Ship will not also count them for Shopify. Turn that marketplace’s live order sync on and run Link variants again.
Link variantsmore variants remain — run againThe store has more tcgqs- variants than one run reads. Click Link variants again until the message goes away.
Link variantsShopify inventory sync is not available yet.Inventory sync is still rolling out for this account.
Link variantsCould not link variants: …Shopify could not be read; the rest of the message says why. Try again, and check the Shopify card for a refused-credentials notice.