mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 15:45:48 +03:00
[GH-ISSUE #357] Feature: Per-Territory Pricing for Subscriptions and IAPs #104
Labels
No labels
bug
bug
documentation
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/App-Store-Connect-CLI#104
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rudrankriyam on GitHub (Jan 31, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/357
Overview
Add support for setting different prices for subscriptions and in-app purchases across different territories (countries/regions). This enables developers to implement purchasing power parity (PPP) pricing strategies, where prices are adjusted based on local economic conditions.
Currently, the CLI supports adding subscription prices with a price point, but doesn't expose the
territoryrelationship that the API supports. This means developers cannot set different prices for different countries programmatically.Use Case
A developer wants to price their subscription at:
This requires calling
POST /v1/subscriptionPricesfor each territory with the appropriate territory-specific price point.API Documentation
Key quote from Apple docs:
Scope (OpenAPI resources)
Subscriptions
POST /v1/subscriptionPrices- Create with optionalterritoryrelationship (needs --territory flag)DELETE /v1/subscriptionPrices/{id}- Delete a subscription price (not implemented)GET /v1/subscriptions/{id}/prices- List current prices (not implemented)GET /v1/subscriptionPricePoints/{id}/equalizations- Get territory-specific price points (✅ exists)In-App Purchases
POST /v1/inAppPurchasePriceSchedules- Create with manual prices per territory (not implemented)GET /v1/inAppPurchasePriceSchedules/{id}/manualPrices- List manual prices (not implemented)GET /v1/inAppPurchasePricePoints/{id}/equalizations- Get territory-specific price points (not implemented)Proposed CLI
Subscriptions - New/Modified Commands
In-App Purchases - New Commands
Workflow Example
Setting PPP-based pricing for a subscription:
Flag Patterns
Common:
--id,--price-id,--schedule-id,--output,--pretty,--limit,--next,--paginate,--confirmNew flags:
--territory- Territory ID (e.g., USA, IND, DEU, JPN)--price-point- Price point ID--base-territory- Base territory for price schedulesOutput
--prettyfor JSON--output table/markdownfor list commandsDetailed TODO
Subscriptions
--territoryflag tosubscriptions prices addcommandCreateSubscriptionPriceto accept territory relationshipsubscriptions prices listcommand + client methodsubscriptions prices deletecommand + client methodsubscriptions price-points equalizationsworks correctlyIn-App Purchases
iap price-points listcommand + client methodiap price-points equalizationscommand + client methodiap price-schedule getcommand + client methodiap price-schedule createcommand + client method (with manual prices support)iap price-schedule manual-pricescommand + client methodiap price-schedule automatic-pricescommand + client methodGeneral
Acceptance Criteria
Tests
Implementation Notes
internal/asc/client_subscriptions.goandinternal/asc/client_iap.gointernal/cli/subscriptions/andinternal/cli/iap/subscriptions prices addcommandterritoryrelationship inSubscriptionPriceCreateRequestis optional - when omitted, price applies as base pricedocs/openapi/latest.jsonfor request/response schemasRelated Issues
References
docs/openapi/paths.txtSubscriptionPriceCreateRequestincludes optionalterritoryrelationshipInAppPurchasePriceScheduleCreateRequestfor IAP pricing@rudrankriyam commented on GitHub (Jan 31, 2026):
@cursor Please implement this feature. Start with the subscription pricing commands (adding --territory flag, list, and delete), then move to the IAP pricing commands. Follow the existing patterns in the codebase and ensure all commands have proper tests.
@cursor[bot] commented on GitHub (Jan 31, 2026):
Summary:
--territoryflag), plussubscriptions prices list/deletecommands with pagination and table/markdown output; the ASC client now supports list/delete endpoints and territory relationships, with new output formatting and tests.iap price-pointsnow supports--territoryfiltering andequalizations, andiap price-schedulesnow includesmanual-prices/automatic-priceslist commands with pagination and table/markdown output, plus client/query/pagination support and tests.Tests & validation:
make testWalkthrough artifact:
cli_pricing_commands_help/recording_demo.mp4(terminal demo of new pricing commands/flags)@rudrankriyam commented on GitHub (Jan 31, 2026):
Closed by PR #358: https://github.com/rudrankriyam/App-Store-Connect-CLI/pull/358
@rudrankriyam commented on GitHub (Jan 31, 2026):
Reopening: PR #358 was not intended to close this issue. Previous closure was a mistake.
@rudrankriyam commented on GitHub (Jan 31, 2026):
Closed with #360