WWooshPayment docs
Troubleshooting

Shopify got disconnected

Dashboard shows "Shopify not connected" or orders aren't being created on Shopify. Re-OAuth procedure in 2 minutes.

3 min read

TLDR: the Shopify OAuth token can expire or be revoked (store password change, app uninstalled). Reconnect from the Settings page in 2 minutes.

Symptoms

  • Dashboard โ†’ Settings โ†’ "Shopify connection" shows status "Not connected"
  • OnboardingBanner above the dashboard says Shopify isn't linked
  • WooshPayment orders marked COMPLETED but don't show in Shopify Admin
  • API calls to Shopify rejected with 401

"Right after OAuth" case

If you've just completed OAuth but the sidebar/Settings say "Not connected":

Cause: the dashboard cached the old merchant snapshot in localStorage (pre-OAuth). The store is already updated in the DB but the client doesn't know yet.

Fix: Cmd+Shift+R (hard refresh). The Zustand store calls refreshMerchant() on mount and fetches the correct state from /api/merchant/me.

This bug has been resolved: the dashboard now calls refreshMerchant() on every mount of the /dashboard/* segment. If you still see it, it's stale browser cache โ†’ a hard refresh is enough.

Real causes of disconnection

CauseFrequency
Merchant uninstalled the app from Shopify AdminCommon
Shopify store owner password changeFrequent
Store owner revoked access from Settings โ†’ AppsFrequent
Shopify invalidated the token for securityRare

Re-OAuth procedure

  1. WooshPayment Dashboard โ†’ Settings โ†’ Shopify connection
  2. Status shows "Not connected"
  3. Enter your your-store.myshopify.com (you find it in Shopify Admin โ†’ Settings โ†’ Domains)
  4. Click "Start OAuth"
  5. You're redirected to Shopify Admin with an OAuth prompt (scopes: read_products, write_orders, read_customers, write_script_tags, etc.)
  6. Install app
  7. You land back on WooshPayment with status "Connected"
  8. The ScriptTag is reinstalled automatically

Average time: 2 minutes.

What happens to pending orders

If during the disconnection period you have orders paid on WooshPayment but not synced to Shopify (shopifyOrderId: null), there's no automatic backfill cron yet.

For now: write to us at noreply@wooshpayment.com with the list of affected orders and we'll sync them manually. Roadmap: merchant-facing "Sync pending orders" button.

Post-reconnection verification

  1. Create a test order (โ‚ฌ0.50) from your store
  2. Verify it appears in Shopify Admin โ†’ Orders within 1 minute
  3. Verify the WooshPayment Dashboard โ†’ Orders shows it COMPLETED with shopifyOrderId populated

Prevention

Don't uninstall the app randomly

If you only need to update scopes or reconnect, start from our dashboard (Settings โ†’ Shopify connection โ†’ "Restart OAuth"). Uninstalling from Shopify Admin revokes everything and you'll have to start over.

Notify on password change

When the Shopify owner password changes, the access token is NOT automatically revoked by design, but Shopify sometimes invalidates tokens for anti-abuse. If you see a sudden 401 from Shopify webhooks, this likely happened.

Shopify app/uninstalled webhook

When a merchant uninstalls WooshPayment from Shopify Admin, we receive an app/uninstalled webhook on https://api.wooshpayment.com/webhooks/shopify/app-uninstalled. At that point we mark shopifyConnected: false. If you want to come back in, restart OAuth.

Troubleshooting

Re-OAuth says "Invalid shop"

You entered a Shopify domain that doesn't exist or is misspelled. Correct format: store-name.myshopify.com, not store-name.com.

Re-OAuth says "App already installed"

Open Shopify Admin โ†’ Apps โ†’ WooshPayment โ†’ verify it's really installed. If yes, simply re-authorize from there ("Open app" link). If our OAuth flow fails with this error, the handoff JWT token likely expired: try logging out and back into WooshPayment before restarting OAuth.

After re-OAuth, orders still don't sync

  • Wait 1-2 minutes (some clients cache)
  • Verify in the dashboard that the order is COMPLETED and not PENDING
  • If it still fails โ†’ write to us with the session token

WooCommerce equivalent

For Woo, "disconnection" means:

  • REST API consumer key/secret revoked on Woo
  • WordPress site URL changed
  • HTTPS expired on your Woo domain

Procedure: Settings โ†’ E-commerce platform โ†’ choose WooCommerce โ†’ re-enter consumer key/secret credentials.