gplay iap
gplay iap
Section titled “gplay iap”Manage in-app products (managed products).
gplay iap <subcommand> [flags]Manage in-app products including consumables and non-consumables.
Note: This command manages “managed products” (one-time purchases). For subscriptions, use the “subscriptions” command instead.
gplay iap list
Section titled “gplay iap list”List all in-app products.
gplay iap list --package <name> [--max-results <n>] [--paginate]| Flag | Description | Default |
|---|---|---|
--max-results |
Maximum number of results | 100 |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--paginate |
Fetch all pages | false |
--pretty |
Pretty-print JSON output | false |
gplay iap get
Section titled “gplay iap get”Get an in-app product.
gplay iap get --package <name> --sku <sku>| Flag | Description | Default |
|---|---|---|
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--sku |
Product SKU/ID | `` |
gplay iap create
Section titled “gplay iap create”Create an in-app product.
gplay iap create --package <name> --json <json>Create a new in-app product.
When –auto-convert-prices is true, Google Play fills in missing regional prices from defaultPrice. It does not rewrite explicit entries in prices that use the wrong currency for their region.
JSON format: { “sku”: “premium_upgrade”, “status”: “active”, “purchaseType”: “managedUser”, “defaultPrice”: { “priceMicros”: “990000”, “currency”: “USD” }, “listings”: { “en-US”: { “title”: “Premium Upgrade”, “description”: “Unlock all premium features” } } }
purchaseType can be:
- managedUser: One-time purchase
- subscription: Recurring subscription (use subscriptions command instead)
| Flag | Description | Default |
|---|---|---|
--auto-convert-prices |
Auto-convert missing prices to local currencies | true |
--json |
InAppProduct JSON (or @file) | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
gplay iap update
Section titled “gplay iap update”Update an in-app product.
gplay iap update --package <name> --sku <sku> --json <json>Update an in-app product.
When –auto-convert-prices is true, Google Play fills in missing regional prices from defaultPrice. It does not rewrite explicit entries in prices that use the wrong currency for their region.
JSON format: { “defaultPrice”: { “priceMicros”: “4990000”, “currency”: “USD” }, “listings”: { “en-US”: { “title”: “Premium Upgrade”, “description”: “Unlock all premium features” } } }
Note: Uses legacy pricing format (priceMicros/currency). The –sku flag identifies which product to update. Use –allow-missing to create the product if it doesn’t exist.
| Flag | Description | Default |
|---|---|---|
--allow-missing |
Create if not exists | false |
--auto-convert-prices |
Auto-convert missing prices to local currencies | true |
--json |
InAppProduct JSON (or @file) | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--sku |
Product SKU/ID | `` |
gplay iap patch
Section titled “gplay iap patch”Patch an in-app product.
gplay iap patch --package <name> --sku <sku> --json <json>Patch an in-app product using inappproducts.patch.
JSON format: { “status”: “active”, “listings”: { “en-US”: { “title”: “Premium Upgrade” } } }
| Flag | Description | Default |
|---|---|---|
--auto-convert-prices |
Auto-convert missing prices to local currencies | true |
--json |
InAppProduct JSON patch (or @file) | `` |
--latency-tolerance |
Product update latency tolerance | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--sku |
Product SKU/ID | `` |
gplay iap delete
Section titled “gplay iap delete”Delete an in-app product.
gplay iap delete --package <name> --sku <sku> --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 |
--sku |
Product SKU/ID | `` |
gplay iap batch-get
Section titled “gplay iap batch-get”Get multiple in-app products.
gplay iap batch-get --package <name> --skus <sku1,sku2,...>| Flag | Description | Default |
|---|---|---|
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
--skus |
Comma-separated list of SKUs | `` |
gplay iap batch-update
Section titled “gplay iap batch-update”Update multiple in-app products.
gplay iap batch-update --package <name> --json <json>Create or update multiple in-app products in a single request.
The –json flag accepts an array of InAppProduct objects. Each product is wrapped in an InappproductsUpdateRequest internally.
JSON format: [ { “sku”: “coins_100”, “status”: “active”, “purchaseType”: “managedUser”, “defaultPrice”: { “priceMicros”: “990000”, “currency”: “USD” }, “listings”: { “en-US”: { “title”: “100 Coins”, “description”: “A pack of 100 coins” } } }, { “sku”: “coins_500”, “status”: “active”, “purchaseType”: “managedUser”, “defaultPrice”: { “priceMicros”: “3990000”, “currency”: “USD” }, “listings”: { “en-US”: { “title”: “500 Coins”, “description”: “A pack of 500 coins” } } } ]
Up to 100 products per request. Use –allow-missing to create products that don’t exist yet.
| Flag | Description | Default |
|---|---|---|
--allow-missing |
Create if not exists | false |
--auto-convert-prices |
Auto-convert missing prices to local currencies | true |
--json |
Array of InAppProducts JSON (or @file) | `` |
--output |
Output format: json (default), table, markdown | json |
--package |
Package name (applicationId) | `` |
--pretty |
Pretty-print JSON output | false |
gplay iap batch-delete
Section titled “gplay iap batch-delete”Delete multiple in-app products.
gplay iap batch-delete --package <name> --skus <sku1,sku2,...> --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 |
--skus |
Comma-separated list of SKUs | `` |