Connections
Connect your Shopify store
Create a custom app in the Shopify Dev Dashboard with the exact scopes LatchPay needs, install it on the store, and paste its credentials.
Updated
Before you start
LatchPay talks to your store through a custom app that lives in your own Shopify organization. You create it in the Shopify Dev Dashboard, give it the scopes below, install it on the store, and paste its Client ID and Client secret into LatchPay. This is step 2 of the wizard and the Shopify page in the dashboard; about five minutes. LatchPay never asks for your Shopify password. For a second or third store, the same steps run from Add another store in the store menu (see Add another store).
The five steps
Open the Dev Dashboard from your Shopify admin
In your Shopify admin open Settings › Apps and sales channels › Develop apps and choose Build apps in Dev Dashboard. This opens the Dev Dashboard for the organization that owns this store, which matters: an app created elsewhere cannot be installed here.
Shopify admin → Settings → Apps and sales channels → Develop apps → Build apps in Dev Dashboard. Create the app
Press Create app and name it LatchPay. The name is only for you; buyers never see it.
Dev Dashboard → Create app. Name it LatchPay; buyers never see the name. Add the Admin API access scopes and release a version
In the app open Versions › Create version, paste this list into Admin API access scopes (the field accepts the comma-separated list as one paste), and release the version.
read_products, read_inventory, read_locations, read_markets, read_shipping, read_discounts, write_orders, write_draft_orders, write_customersVersions → Create version → Admin API access scopes with the LatchPay list pasted → Release. Install the app on your store
Open Installs › Install app and pick this store. The app and the store must be in the same Shopify organization.
Installs → Install app → choose the store. The app and the store must be in the same organization. Copy the credentials and paste them into LatchPay
Open Settings › Credentials and copy the Client ID and the Client secret.
Settings → Credentials: copy the Client ID and the Client secret (blurred here) into LatchPay. In LatchPay fill in:
- Store domain: the
.myshopify.comhandle from Settings › Domains, not your custom domain. - Client ID and Client secret. The secret is stored encrypted; LatchPay mints a 24-hour access token from it, renews it before it expires, and never shows it again.
Press Verify and connect. LatchPay checks the scopes and reads the shop settings (name, store currency, presentment currencies) before saving. Missing scopes are listed by name so you can add them, release a new version, install the update, and press Re-check.
- Store domain: the
What each scope is for
- read_products
- Line items, variants and images on the checkout.
- read_inventory
- Whether the quoted quantity is still available.
- read_locations
- The locations inventory and shipping are calculated from.
- read_markets
- The Markets currency the buyer was shopping in.
- read_shipping
- Your shipping rates for the address the buyer enters.
- read_discounts
- The one discount code a buyer can apply in v1.
- write_orders
- Creating the paid order, and reading it back afterwards.
- write_draft_orders
- Quoting shipping and tax exactly as your store charges them, and holding stock while the buyer pays.
- write_customers
- The customer record on the order, so emails and history work as usual.
A write_ scope includes the matching read, so write_orders also lets LatchPay read orders. LatchPay checks this exact list when you connect and again every time you press Re-check.
Legacy access tokens
Custom apps created in the Shopify admin before 2026 have an Admin API access token that starts with shpat_ instead of a Client ID and secret. Open I have a legacy Admin API access token instead on the same form and paste it there; the Client ID and secret fields are then ignored. Legacy tokens do not expire.
Good to know
Nothing is copied
Products, orders, customers, shipping and tax stay in Shopify. LatchPay quotes live prices at checkout time and writes paid orders back; it does not sync your catalog anywhere.
- If the app is uninstalled or its secret rotates, the connection shows an error and checkouts pause until you reconnect.
- Disconnect Shopify deletes the saved credentials and stops checkouts.
- Nothing changes for buyers until the theme line is in place and the checkout is switched on.