gplay onetimeproducts
gplay onetimeproducts
Section titled “gplay onetimeproducts”Manage one-time products (monetization).
gplay onetimeproducts <subcommand> [flags]Manage one-time products in the monetization system.
One-time products are non-subscription purchases that users buy once. This includes consumables (can be purchased again) and non-consumables.
gplay onetimeproducts list
Section titled “gplay onetimeproducts list”List all one-time products.
gplay onetimeproducts list --package <name>| Flag | Description | Default |
|---|---|---|
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--page-size |
Page size | 100 |
--paginate |
Fetch all pages | false |
--pretty |
Pretty-print JSON output | false |
gplay onetimeproducts get
Section titled “gplay onetimeproducts get”Get a one-time product.
gplay onetimeproducts get --package <name> --product-id <id>| Flag | Description | Default |
|---|---|---|
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--product-id |
Product ID | `` |
gplay onetimeproducts create
Section titled “gplay onetimeproducts create”Create a one-time product.
gplay onetimeproducts create --package <name> --product-id <id> --json <json>Create a one-time product (or update if it already exists).
The –regions-version flag is required when setting regional pricing. Use gplay pricing convert to get Google’s current regionVersion and region-specific converted prices.
The –package and –product-id flag values are applied to the request body, so they do not need to be repeated in the JSON.
Use –auto-convert-regional-prices with –base-price-json to let Google Play generate valid regionalPricingAndAvailabilityConfigs, newRegionsConfig, and regionsVersion from one base price. This replaces any regional pricing in the JSON with the billable regions returned by Google for the current regionVersion.
JSON format: { “listings”: [ { “languageCode”: “en-US”, “title”: “100 Coins”, “description”: “A pack of 100 coins” } ], “purchaseOptions”: [ { “purchaseOptionId”: “default”, “buyOption”: {}, “regionalPricingAndAvailabilityConfigs”: [ { “regionCode”: “US”, “availability”: “AVAILABLE”, “price”: { “currencyCode”: “USD”, “units”: “1”, “nanos”: 990000000 } } ] } ], “offerTags”: [ {“tag”: “coins”} ] }
Examples: gplay onetimeproducts create –package com.example.app –product-id coins_100 –json @product.json –auto-convert-regional-prices –base-price-json ‘{“currencyCode”:“USD”,“units”:“1”,“nanos”:990000000}’ gplay pricing regions-version –package com.example.app –price-json ‘{“currencyCode”:“USD”,“units”:“1”,“nanos”:990000000}’ –output table gplay onetimeproducts create –package com.example.app –product-id coins_100 –json @product.json –regions-version 2025/02
| Flag | Description | Default |
|---|---|---|
--auto-convert-regional-prices |
Generate regional pricing from –base-price-json | false |
--base-price-json |
Base Money JSON for –auto-convert-regional-prices (or @file) | `` |
--json |
OneTimeProduct JSON (or @file) | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--product-id |
Product ID | `` |
--product-tax-category-code |
Product tax category code for price conversion | `` |
--regions-version |
Regions version for price migration | `` |
gplay onetimeproducts patch
Section titled “gplay onetimeproducts patch”Patch a one-time product.
gplay onetimeproducts patch --package <name> --product-id <id> --json <json>Update specific fields of a one-time product.
If –update-mask is not provided, it is automatically derived from the JSON keys.
Mutable fields: listings, offerTags, purchaseOptions, restrictedPaymentCountries, taxAndComplianceSettings.
JSON format (partial update): { “listings”: [ { “languageCode”: “en-US”, “title”: “200 Coins”, “description”: “A pack of 200 coins” } ] }
Examples: gplay onetimeproducts patch –package com.example.app –product-id coins_100 –json @patch.json gplay onetimeproducts patch –package com.example.app –product-id coins_100 –json ‘{“listings”:[…]}’ –update-mask listings gplay onetimeproducts patch –package com.example.app –product-id coins_100 –json @product.json –regions-version 2025/02 –allow-missing
| Flag | Description | Default |
|---|---|---|
--allow-missing |
Create if not exists | false |
--json |
OneTimeProduct JSON (or @file) | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--product-id |
Product ID | `` |
--regions-version |
Regions version for price migration | `` |
--update-mask |
Fields to update (comma-separated) | `` |
gplay onetimeproducts delete
Section titled “gplay onetimeproducts delete”Delete a one-time product.
gplay onetimeproducts delete --package <name> --product-id <id> --confirm| Flag | Description | Default |
|---|---|---|
--confirm |
Confirm deletion | false |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--product-id |
Product ID | `` |
gplay onetimeproducts batch-get
Section titled “gplay onetimeproducts batch-get”Get multiple one-time products.
gplay onetimeproducts batch-get --package <name> --product-ids <ids>| Flag | Description | Default |
|---|---|---|
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--product-ids |
Comma-separated product IDs | `` |
gplay onetimeproducts batch-update
Section titled “gplay onetimeproducts batch-update”Create or update multiple one-time products.
gplay onetimeproducts batch-update --package <name> --json <json>Create or update multiple one-time products in a single request.
JSON format (BatchUpdateOneTimeProductsRequest): { “requests”: [ { “oneTimeProduct”: { “packageName”: “com.example.app”, “productId”: “coins_100”, “listings”: [ { “languageCode”: “en-US”, “title”: “100 Coins”, “description”: “A pack of 100 coins” } ], “purchaseOptions”: [ { “purchaseOptionId”: “default”, “buyOption”: {}, “regionalPricingAndAvailabilityConfigs”: [ { “regionCode”: “US”, “availability”: “AVAILABLE”, “price”: { “currencyCode”: “USD”, “units”: “1”, “nanos”: 990000000 } } ] } ] }, “updateMask”: “listings,purchaseOptions”, “allowMissing”: true, “regionsVersion”: {“version”: “2025/02”} } ] }
Examples: gplay onetimeproducts batch-update –package com.example.app –json @batch.json gplay onetimeproducts batch-update –package com.example.app –json ‘{“requests”:[…]}’
| Flag | Description | Default |
|---|---|---|
--json |
BatchUpdateRequest JSON (or @file) | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
gplay onetimeproducts batch-delete
Section titled “gplay onetimeproducts batch-delete”Delete multiple one-time products.
gplay onetimeproducts batch-delete --package <name> --json <json> --confirmDelete multiple one-time products in a single request.
Requires –confirm for safety.
JSON format (BatchDeleteOneTimeProductsRequest): { “requests”: [ {“packageName”: “com.example.app”, “productId”: “coins_100”}, {“packageName”: “com.example.app”, “productId”: “coins_500”} ] }
Examples: gplay onetimeproducts batch-delete –package com.example.app –json @delete.json –confirm gplay onetimeproducts batch-delete –package com.example.app –json ‘{“requests”:[…]}’ –confirm
| Flag | Description | Default |
|---|---|---|
--confirm |
Confirm deletion | false |
--json |
BatchDeleteRequest JSON (or @file) | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |