[Bug]: Shopify CLI rejects read_shopify_payments scope on custom app version creation
Please confirm that you have:
- [x] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
- [x] Reproduced the issue in the latest CLI version.
In which of these areas are you experiencing a problem?
App
Expected behavior
When running the Shopify CLI command to create or deploy a new app version that includes the read_shopify_payments scope, the CLI should recognize that the authenticated user is the store owner (or has equivalent admin permissions) and should successfully create the version, accepting that scope, rather than rejecting it with a validation error.
See also GraphiQL app permission error
Actual behavior
When attempting to add the read_shopify_payments scope to a custom app via the Shopify CLI, the CLI returns a validation error and refuses to create a new app version. This prevents developers from integrating with the ShopifyPaymentsAccount object in the Admin API, even when authenticated as the store owner.
Version couldn't be created.
app-access
Validation errors
• scopes: read_shopify_payments

Verbose output
Verbose output
<details>
<summary>Verbose output</summary>
F:\Rynvo\Clients\ironclad\ecom-recs\shopify\ionclad-sync-for-qbo>shopify app deploy --verbose 2025-04-21T15:06:36.810Z: Running command app deploy 2025-04-21T15:06:36.819Z: Running system process: · Command: C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules@shopify\cli\bin\run.js notifications list --ignore-errors · Working directory: F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo
2025-04-21T15:06:36.828Z: Notifications to show: 0 2025-04-21T15:06:36.840Z: Reading cached app information for directory F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo... 2025-04-21T15:06:36.841Z: Reading the content of file at shopify.app.toml... 2025-04-21T15:06:36.844Z: Reading the content of file at shopify.app.toml... 2025-04-21T15:06:36.846Z: Reading cached app information for directory F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo... 2025-04-21T15:06:36.847Z: Reading the content of file at shopify.app.toml... 2025-04-21T15:06:36.848Z: Reading the content of file at shopify.app.toml... 2025-04-21T15:06:36.849Z: Ensuring that the user is authenticated with the Partners API with the following scopes: []
2025-04-21T15:06:36.850Z: Getting session store... 2025-04-21T15:06:36.852Z: Validating existing session against the scopes: [ "openid", "https://api.shopify.com/auth/shop.admin.graphql", "https://api.shopify.com/auth/shop.admin.themes", "https://api.shopify.com/auth/partners.collaborator-relationships.readonly", "https://api.shopify.com/auth/shop.storefront-renderer.devtools", "https://api.shopify.com/auth/partners.app.cli.access", "https://api.shopify.com/auth/destinations.readonly", "https://api.shopify.com/auth/organization.store-management", "https://api.shopify.com/auth/organization.apps.manage" ] For applications: { "partnersApi": { "scopes": [] } }
2025-04-21T15:06:36.852Z: - Token validation -> It's expired: false 2025-04-21T15:06:36.853Z: Getting partner account info from cache 2025-04-21T15:06:36.883Z: Sending "Partners" GraphQL request: query FindApp($apiKey: String!) { app(apiKey: $apiKey) { id title apiKey organizationId apiSecretKeys { secret } appType grantedScopes applicationUrl redirectUrlWhitelist requestedAccessScopes webhookApiVersion embedded posEmbedded preferencesUrl gdprWebhooks { customerDeletionUrl customerDataRequestUrl shopDeletionUrl } appProxy { subPath subPathPrefix url } developmentStorePreviewEnabled disabledFlags } }
With variables: { "apiKey": "*****" }
With request headers:
- User-Agent: Shopify CLI; v=3.78.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: win32
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql 2025-04-21T15:06:37.591Z: Request to https://partners.shopify.com/api/cli/graphql completed in 707 ms With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"a332dec113f74c26ecbe9257838b080a"
- server-timing: processing;dur=530, socket_queue;dur=2.244, util;dur=0.7, cfRequestDuration;dur=595.999956
- x-request-id: ea5dae83-55ee-4b32-9554-e29da302214a-1745247995
2025-04-21T15:06:37.629Z: Sending "Partners" GraphQL request: query FindOrganization($id: ID!) { organizations(id: $id, first: 1) { nodes { id businessName } } }
With variables: { "id": "4182755" }
With request headers:
- User-Agent: Shopify CLI; v=3.78.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: win32
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql 2025-04-21T15:06:37.784Z: Sending "Partners" GraphQL request: query fetchSpecifications($api_key: String!) { extensionSpecifications(apiKey: $api_key) { name externalName externalIdentifier identifier gated experience options { managementExperience registrationLimit } features { argo { surface } } validationSchema { jsonSchema } } }
With variables: { "api_key": "REDACTED" }
With request headers:
- User-Agent: Shopify CLI; v=3.78.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: win32
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql 2025-04-21T15:06:38.029Z: Request to https://partners.shopify.com/api/cli/graphql completed in 245 ms With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"afc3b9b0074d419c8d1196f8df0f75f4"
- server-timing: processing;dur=93, socket_queue;dur=7.165, util;dur=0.3, cfRequestDuration;dur=157.999754
- x-request-id: aacd235e-962b-4f91-adff-c9e1817d53c1-1745247996
2025-04-21T15:06:38.041Z: The following extension specifications were defined locally but not found in the remote specifications: payments_extension, tax_calculation 2025-04-21T15:06:38.045Z: Reading the content of file at .gitignore... 2025-04-21T15:06:38.049Z: Reading the .env file at .env 2025-04-21T15:06:38.050Z: Reading the content of file at .env... 2025-04-21T15:06:38.058Z: Reading the content of file at extensions/qbo-get-data/shopify.extension.toml... 2025-04-21T15:06:38.059Z: Reading the content of file at extensions/qbo-get-data/shopify.extension.toml... 2025-04-21T15:06:38.061Z: Reading the content of file at package.json... 2025-04-21T15:06:38.061Z: Reading the content of file at package.json... 2025-04-21T15:06:38.089Z: Running system process: · Command: npm prefix · Working directory: F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo
2025-04-21T15:06:38.323Z: Obtaining the dependency manager in directory F:\Rynvo\Clients\ironclad\ecom-recs\shopify\ionclad-sync-for-qbo... 2025-04-21T15:06:38.323Z: Reading the content of file at package.json... 2025-04-21T15:06:38.324Z: Reading the content of file at .shopify/project.json... 2025-04-21T15:06:38.330Z: Reading the content of file at shopify.web.toml... 2025-04-21T15:06:38.333Z: Notifications to show: 0 2025-04-21T15:06:38.335Z: Reading cached app information for directory F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo... 2025-04-21T15:06:38.336Z: Storing app information for directory F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo:{ "appId": "REDACTED", "title": "IronClad Quickbooks Sync", "directory": "F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo", "orgId": "4182755" } 2025-04-21T15:06:38.372Z: Sending "Partners" GraphQL request: query activeAppVersion($apiKey: String!) { app(apiKey: $apiKey) { activeAppVersion { appModuleVersions { registrationId registrationUuid registrationTitle type config specification { identifier name experience options { managementExperience } } } } } }
With variables: { "apiKey": "*****" }
With request headers:
- User-Agent: Shopify CLI; v=3.78.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: win32
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql 2025-04-21T15:06:38.865Z: Request to https://partners.shopify.com/api/cli/graphql completed in 492 ms With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"e11b90e35f8eb4c2971e999710c3a6aa"
- server-timing: processing;dur=355, socket_queue;dur=2.261, util;dur=0.3, cfRequestDuration;dur=398.999929
- x-request-id: fc7c60b5-badf-4d32-9a7d-0f2e4f209096-1745247997
╭─ info ─────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ │
│ Using .env for default values: │
│ │
│ • Org: Rynvo LLC │
│ • App: IronClad Quickbooks Sync │
│ • Include config: Yes │
│ │
│ You can pass --reset to your command to reset your app configuration. │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
2025-04-21T15:06:38.916Z: Sending "Partners" GraphQL request: query allAppExtensionRegistrations($apiKey: String!) { app(apiKey: $apiKey) { extensionRegistrations { id uuid title type draftVersion { config context } activeVersion { config context } } configurationRegistrations { id uuid title type draftVersion { config context } activeVersion { config context } } dashboardManagedExtensionRegistrations { id uuid title type activeVersion { config context } draftVersion { config context } } } }
With variables: { "apiKey": "*****" }
With request headers:
- User-Agent: Shopify CLI; v=3.78.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: win32
- Content-Type: application/json
to https://partners.shopify.com/api/cli/graphql 2025-04-21T15:06:39.958Z: Request to https://partners.shopify.com/api/cli/graphql completed in 1041 ms With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"1a6ed9d96cbd217c96d74cd724df4ee7"
- server-timing: processing;dur=901, socket_queue;dur=2.473, util;dur=0.3, cfRequestDuration;dur=951.999903
- x-request-id: ac7b1332-d143-4b3e-8758-701e9c49b3ba-1745247997
? Release a new version of IronClad Quickbooks Sync? ✔ Yes, release this new version
Releasing a new app version as part of IronClad Quickbooks Sync
2025-04-21T15:06:44.708Z: Creating directory at .shopify... 2025-04-21T15:06:44.711Z: Removing directory at .shopify/deploy-bundle... 2025-04-21T15:06:44.714Z: Creating directory at .shopify/deploy-bundle... 2025-04-21T15:06:44.716Z: Reading the content of file at extensions/qbo-get-data/src/run.graphql... qbo-get-data │ Building function qbo-get-data... qbo-get-data │ Building GraphQL types...
2025-04-21T15:06:44.760Z: Running system process: · Command: npm exec -- graphql-code-generator --config package.json · Working directory: F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo/extensions/qbo-get-data qbo-get-data │ Bundling JS function...
2025-04-21T15:06:46.659Z: Reading the content of file at node_modules/@shopify/shopify_function/package.json... 2025-04-21T15:06:46.661Z: Generating dist/function.js using generated module: 2025-04-21T15:06:46.661Z: import __runFunction from "@shopify/shopify_function/run"
import { run as runRun } from "user-function" qbo-get-data │ Running javy...
2025-04-21T15:06:46.679Z: Generating world to use with Javy: 2025-04-21T15:06:46.679Z: package function:impl;
world shopify-function { export %run: func(); } 2025-04-21T15:06:46.680Z: Writing some content to file at C:/Users/vegan/AppData/Local/Temp/fbe0b9853cb6b0bda63339852dcd1fe6/javy-world.wit... 2025-04-21T15:06:46.685Z: Running system process: · Command: C:/Users/vegan/AppData/Roaming/nvm/v18.20.6/node_modules/@shopify/cli/bin/javy.exe build -C dynamic -C plugin=C:/Users/vegan/AppData/Roaming/nvm/v18.20.6/node_modules/@shopify/cli/bin/shopify_functions_javy_v1.wasm -C wit=C:/Users/vegan/AppData/Local/Temp/fbe0b9853cb6b0bda63339852dcd1fe6/javy-world.wit -C wit-world=shopify-function -o F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo/extensions/qbo-get-data/dist/function.wasm dist/function.js · Working directory: F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo/extensions/qbo-get-data qbo-get-data │ Done!
2025-04-21T15:06:46.937Z: Wasm binary: wasm-opt.cjs 2025-04-21T15:06:46.937Z: Optimizing this wasm binary using wasm-opt. 2025-04-21T15:06:46.966Z: Running system process: · Command: node wasm-opt.cjs F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo/extensions/qbo-get-data/dist/function.wasm -Oz --enable-bulk-memory --strip-debug -o F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo/extensions/qbo-get-data/dist/function.wasm · Working directory: C:/Users/vegan/AppData/Roaming/nvm/v18.20.6/node_modules/@shopify/cli/bin
2025-04-21T15:06:47.308Z: Reading the content of file at extensions/qbo-get-data/dist/function.wasm... 2025-04-21T15:06:47.308Z: Creating an empty file at .shopify/deploy-bundle/4d35e8dc-f7b8-4e08-a06c-13c969fcd04f/dist/index.wasm... 2025-04-21T15:06:47.310Z: Writing some content to file at .shopify/deploy-bundle/4d35e8dc-f7b8-4e08-a06c-13c969fcd04f/dist/index.wasm... 2025-04-21T15:06:47.313Z: Zipping .shopify/deploy-bundle into .shopify/deploy-bundle.zip ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Releasing an app version ... 2025-04-21T15:06:47.379Z: Sending "Partners" GraphQL request: mutation GenerateSignedUploadUrl($apiKey: String!, $bundleFormat: Int!) { appVersionGenerateSignedUploadUrl(input: {apiKey: $apiKey, bundleFormat: $bundleFormat}) { signedUploadUrl userErrors { field message } } }
With variables: { "apiKey": "*****", "bundleFormat": 1 }
With request headers:
- User-Agent: Shopify CLI; v=3.78.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: win32
- Content-Type: application/json ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Releasing an app version ... 2025-04-21T15:06:47.753Z: Request to https://partners.shopify.com/api/cli/graphql completed in 373 ms With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"454b418c54ace878edbe26b85532bf5c"
- server-timing: processing;dur=212, socket_queue;dur=2.422, util;dur=0.7, cfRequestDuration;dur=264.999866
- x-request-id: ae419870-7e30-4e85-8aec-af5c3fe8d7e8-1745248006 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Releasing an app version ... 2025-04-21T15:06:48.088Z: Request to https://partners-extensions-scripts-bucket.storage.googleapis.com/deployments/243442024449/51819670-b827-4d72-bcb7-2d359cb0fea9/bundle.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=argo-project-sa%40shopify-tiers.iam.gserviceaccount.com%2F20250421%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20250421T150646Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=8d46d41641a7c66c4eb6750c40f9eb9d9c4f513e485fce99646e5303c6f9c0e7452b656eb570467b1d34702b1fbe3760bbe3b32bb0a2649fe2dcc02e315195aa238c74ca63f5763f3ef22b8e0ddae0060f3f24c14511c0e613ed47ffb414073259d5d4f3a1d1f0ca536b432df2c47ee6d06657a1c9d75e68fd600b6e64134cebe48d9f88b7f864e77120ce32bfbbe8614d077e2df57d7db5172c00852d9c7d9c71d02a76988357630f478b5cdc57a7501ff6b4580666fdfb620d1f4797de6eb890b6b37b9cc782844c4b7792cd780cd4462ea3ff6a49cd7c0a85a2bae70d54d327a84dc2434353c123df0d721385aca9839f1651680ad587258ff1b474602a4c completed in 322 ms With response headers:
- content-type: text/html; charset=UTF-8
- etag: "9aede357f44eb595b748af27614a79b0"
2025-04-21T15:06:48.109Z: Sending "Partners" GraphQL request: mutation AppDeploy( $apiKey: String! $bundleUrl: String $appModules: [AppModuleSettings!] $skipPublish: Boolean $message: String $versionTag: String $commitReference: String ) { appDeploy( input: { apiKey: $apiKey bundleUrl: $bundleUrl appModules: $appModules skipPublish: $skipPublish message: $message versionTag: $versionTag commitReference: $commitReference } ) { appVersion { uuid id message versionTag location appModuleVersions { uuid registrationUuid validationErrors { message field } } } userErrors { message field category details } } }
With variables:
{
"appId": "243442024449",
"apiKey": "*****",
"name": "iron-clad-quickbooks-sync",
"skipPublish": false,
"bundleUrl": "https://partners-extensions-scripts-bucket.storage.googleapis.com/deployments/243442024449/51819670-b827-4d72-bcb7-2d359cb0fea9/bundle.zip?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=argo-project-sa%40shopify-tiers.iam.gserviceaccount.com%2F20250421%2Fauto%2Fstorage%2Fgoog4_request&X-Goog-Date=20250421T150646Z&X-Goog-Expires=3600&X-Goog-SignedHeaders=host&X-Goog-Signature=8d46d41641a7c66c4eb6750c40f9eb9d9c4f513e485fce99646e5303c6f9c0e7452b656eb570467b1d34702b1fbe3760bbe3b32bb0a2649fe2dcc02e315195aa238c74ca63f5763f3ef22b8e0ddae0060f3f24c14511c0e613ed47ffb414073259d5d4f3a1d1f0ca536b432df2c47ee6d06657a1c9d75e68fd600b6e64134cebe48d9f88b7f864e77120ce32bfbbe8614d077e2df57d7db5172c00852d9c7d9c71d02a76988357630f478b5cdc57a7501ff6b4580666fdfb620d1f4797de6eb890b6b37b9cc782844c4b7792cd780cd4462ea3ff6a49cd7c0a85a2bae70d54d327a84dc2434353c123df0d721385aca9839f1651680ad587258ff1b474602a4c",
"appModules": [
{
"config": "{"title":"t:name","module_id":"61c59c0e-4a8c-427d-bacd-a87ea688c405","description":"t:description","app_key":"REDACTED","api_version":"2025-01","ui":{"app_bridge":{"details_path":"/","create_path":"/"}},"enable_creation_ui":true,"localization":{"default_locale":"en","translations":{"en":"ew0KICAibmFtZSI6ICJxYm8tZ2V0LWRhdGEiLA0KICAiZGVzY3JpcHRpb24iOiAicWJvLWdldC1kYXRhIg0KfQ0K"}},"targets":[{"handle":"purchase.payment-customization.run","export":"run","input_query":"query RunInput {\r\n paymentCustomization {\r\n metafield(namespace: \"$app:qbo-get-data\", key: \"function-configuration\") {\r\n value\r\n }\r\n }\r\n}\r\n"}]}",
"context": "purchase.payment-customization.run",
"handle": "qbo-get-data",
"uuid": "4d35e8dc-f7b8-4e08-a06c-13c969fcd04f",
"specificationIdentifier": "FUNCTION"
},
{
"config": "{"scopes":"read_shopify_payments,read_shopify_payments_accounts,read_shopify_payments_payouts,write_products","redirect_url_allowlist":["https://photo-bangkok-va-mpeg.trycloudflare.com/auth/callback","https://photo-bangkok-va-mpeg.trycloudflare.com/auth/shopify/callback","https://photo-bangkok-va-mpeg.trycloudflare.com/api/auth/callback"]}",
"context": "",
"handle": "app_access",
"uuid": "cd1f8f85-ef5a-488c-af21-abe03b282583",
"specificationIdentifier": "APP_ACCESS"
},
{
"config": "{"api_version":"2025-04"}",
"context": "",
"handle": "webhooks",
"uuid": "210f059a-99db-4cbc-82f4-102acd1e9973",
"specificationIdentifier": "WEBHOOKS"
},
{
"config": "{"embedded":false}",
"context": "",
"handle": "point_of_sale",
"uuid": "73b35c7b-78c5-4d2d-8015-a7662c94cdda",
"specificationIdentifier": "POINT_OF_SALE"
},
{
"config": "{"app_url":"https://photo-bangkok-va-mpeg.trycloudflare.com","embedded":true}",
"context": "",
"handle": "app_home",
"uuid": "610bc190-a148-4e11-ba91-8db94efa0fc0",
"specificationIdentifier": "APP_HOME"
},
{
"config": "{"name":"IronClad Quickbooks Sync","app_handle":"ironclad-quickbooks-sync"}",
"context": "",
"handle": "branding",
"uuid": "7c016fab-a1e0-4d3e-a88d-cc5591cef15d",
"specificationIdentifier": "BRANDING"
},
{
"config": "{"topic":"app/scopes_update","api_version":"2025-04","uri":"https://photo-bangkok-va-mpeg.trycloudflare.com/webhooks/app/scopes_update"}",
"context": "",
"handle": "4103dafc7ac513f42a23183acf8fae610f56f29e",
"uuid": "38581b5b-9bfb-483b-9a1c-9a8213a29c76",
"specificationIdentifier": "WEBHOOK_SUBSCRIPTION"
},
{
"config": "{"topic":"app/uninstalled","api_version":"2025-04","uri":"https://photo-bangkok-va-mpeg.trycloudflare.com/webhooks/app/uninstalled"}",
"context": "",
"handle": "09711dbb6e24902b5a6cc0eb5164b8e4d2301cbf",
"uuid": "3ebbded8-8233-47c9-b4d2-2536b6b04d91",
"specificationIdentifier": "WEBHOOK_SUBSCRIPTION"
}
]
}
With request headers:
- User-Agent: Shopify CLI; v=3.78.1
- Keep-Alive: timeout=30
- Sec-CH-UA-PLATFORM: win32
- Content-Type: application/json ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ Releasing an app version ... 2025-04-21T15:06:49.432Z: Request to https://partners.shopify.com/api/cli/graphql completed in 1323 ms With response headers:
- cache-control: max-age=0, private, must-revalidate
- content-type: application/json; charset=utf-8
- etag: W/"48c1cc5327cb699308084959018235a8"
- server-timing: processing;dur=1174, socket_queue;dur=7.489, util;dur=0.6, cfRequestDuration;dur=1227.999926
╭─ error ────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ │ │ Version couldn't be created. │ │ │ │ app_access │ │ │ │ Validation errors │ │ • scopes: read_shopify_payments │ │ │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
2025-04-21T15:06:49.488Z: Running system process: · Command: npm prefix · Working directory: F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo
2025-04-21T15:06:49.711Z: Obtaining the dependency manager in directory F:\Rynvo\Clients\ironclad\ecom-recs\shopify\ionclad-sync-for-qbo... 2025-04-21T15:06:50.125Z: Request to https://monorail-edge.shopifysvc.com/v1/produce completed in 176 ms With response headers:
- x-request-id: bfd90f52-8bc2-4efd-8cee-a2d0f7d95153
2025-04-21T15:06:50.126Z: Analytics event sent: { "command": "app deploy", "time_start": 1745247996811, "time_end": 1745248009455, "total_time": 12644, "success": false, "cli_version": "3.78.1", "ruby_version": "", "node_version": "18.20.6", "is_employee": false, "uname": "windows amd64", "env_ci": false, "env_plugin_installed_any_custom": false, "env_plugin_installed_shopify": "["@shopify/cli"]", "env_shell": "cmd.exe", "env_device_id": "2c3c3495365284be0e1e74fcb39cecb3c18596a5", "env_cloud": "localhost", "env_package_manager": "npm", "env_is_global": true, "env_auth_method": "device_auth", "cmd_app_warning_api_key_deprecation_displayed": false, "cmd_deploy_flag_message_used": false, "cmd_deploy_flag_version_used": false, "cmd_deploy_flag_source_url_used": false, "cmd_app_all_configs_any": true, "cmd_app_all_configs_clients": "{"shopify.app.toml":"REDACTED"}", "cmd_app_linked_config_used": true, "cmd_app_linked_config_name": "shopify.app.toml", "cmd_app_linked_config_git_tracked": true, "cmd_app_linked_config_source": "cached", "cmd_app_linked_config_uses_cli_managed_urls": true, "project_type": "node", "app_extensions_any": true, "app_extensions_breakdown": "{"function":1}", "app_extensions_count": 1, "app_extensions_custom_layout": false, "app_extensions_function_any": true, "app_extensions_function_count": 1, "app_extensions_theme_any": false, "app_extensions_theme_count": 0, "app_extensions_ui_any": false, "app_extensions_ui_count": 0, "app_name_hash": "14b080087899265abd25745053283b6bb945aac2", "app_path_hash": "ddca85107a7855a5041fd9981024dbb272a1886e", "app_scopes": "["read_shopify_payments","read_shopify_payments_accounts","read_shopify_payments_payouts","write_products"]", "app_web_backend_any": true, "app_web_backend_count": 1, "app_web_custom_layout": true, "app_web_framework": "remix", "app_web_frontend_any": true, "app_web_frontend_count": 1, "env_package_manager_workspaces": true, "partner_id": 4182755, "api_key": "****", "cmd_app_reset_used": false, "cmd_deploy_include_config_used": true, "cmd_deploy_config_modules_breakdown": "["access_scopes","application_url","auth","embedded","handle","name","pos","webhooks"]", "cmd_deploy_config_modules_updated": "["access_scopes"]", "cmd_deploy_confirm_new_registrations": 0, "cmd_deploy_confirm_updated_registrations": 1, "cmd_deploy_confirm_removed_registrations": 0, "cmd_deploy_confirm_cancelled": false, "cmd_deploy_confirm_time_to_complete_ms": 4739, "cmd_all_timing_network_ms": 6430, "cmd_all_timing_prompts_ms": 4738, "cmd_all_launcher": "unknown", "cmd_all_topic": "app", "cmd_all_plugin": "@shopify/app", "cmd_all_force": false, "cmd_all_verbose": true, "cmd_all_path_override": true, "cmd_all_path_override_hash": "ddca85107a7855a5041fd9981024dbb272a1886e", "cmd_all_last_graphql_request_id": "1fbdbcf4-ce4b-4cf4-ad74-81fde6a97ca1-1745248007", "cmd_all_timing_active_ms": 1475, "cmd_all_exit": "expected_error", "user_id": "cf52aa9e-df4d-441c-9a82-483433c0df14", "request_ids": [ "ea5dae83-55ee-4b32-9554-e29da302214a-1745247995", "aacd235e-962b-4f91-adff-c9e1817d53c1-1745247996", "fc7c60b5-badf-4d32-9a7d-0f2e4f209096-1745247997", "ac7b1332-d143-4b3e-8758-701e9c49b3ba-1745247997", "ae419870-7e30-4e85-8aec-af5c3fe8d7e8-1745248006", "1fbdbcf4-ce4b-4cf4-ad74-81fde6a97ca1-1745248007" ], "args": "--verbose", "error_message": "Version couldn't be created.", "app_name": "iron-clad-quickbooks-sync", "env_plugin_installed_all": "["@shopify/cli"]", "metadata": "{"extraPublic":{},"extraSensitive":{}}" } 2025-04-21T15:06:50.134Z: Reporting handled error to Bugsnag: Version couldn't be created. 2025-04-21T15:06:50.175Z: Running system process: · Command: npm prefix · Working directory: F:/Rynvo/Clients/ironclad/ecom-recs/shopify/ionclad-sync-for-qbo
2025-04-21T15:06:50.390Z: Obtaining the dependency manager in directory F:\Rynvo\Clients\ironclad\ecom-recs\shopify\ionclad-sync-for-qbo...
F:\Rynvo\Clients\ironclad\ecom-recs\shopify\ionclad-sync-for-qbo> ```
Reproduction steps
- Add the scopes
write_products, read_shopify_payments_payouts, read_shopify_payments_accounts, read_shopify_paymentsto theshopify.app.tomlfile - Run
shopify app deployto deploy the update scopes to shopify
Operating System
Windows 11
Shopify CLI version (shopify --version)
3.78.1
Shell
Command Prompt
Node version (run node -v if you're not sure)
v18.20.6
What language and version are you using in your application?
Node 18.20.6
read_shopify_payments is not a valid scope. You can see a complete list of valid scopes here.
The issue is I need access to the shopifyPaymentsAccount payouts field, and when applying the scope read_shopify_payments, I am unable to query the data I need to a a "lack of permissions"
The read_shopify_payments scope doesn't seem to exist, maybe you need read_shopify_payments_payouts?
Closing since it's been almost 2 months since the last reply. For this kind of issues i'd recommend posting in the Community Forums, in there you can also get help from the rest of the community!