Contents

Change Subscription Price

Increase or decrease the price of an auto-renewable subscription, a bundle, or individual items within a subscription at the next renewal.

URL

POST https://api.storekit.itunes.apple.com/advancedCommerce/v1/subscription/changePrice/{transactionId}

Sandbox URL

POST https://api.storekit-sandbox.itunes.apple.com/advancedCommerce/v1/subscription/changePrice/{transactionId}

Path Parameters

NameTypeDescription
transactionId Requiredstring

A transaction identifier of the auto-renewable subscription that is subject to the price change. Use the subscription’s original transaction ID or any subsequent transaction ID of a transaction related to the subscription.

Response Codes

StatusReasonTypeDescription
200OK
Content-Type: application/json
SubscriptionPriceChangeResponse

Success

400Bad Request
Content-Type: application/json
(NullRequestInfoError | NullItemsError | NullSKUError | InvalidAppAccountTokenError | NullRequestReferenceIDError | InvalidRequestReferenceIDError | InvalidConsistencyTokenError | InvalidStorefrontError | InvalidCurrencyError | NegativePriceError | SKULengthExceededError | DescriptionLengthExceededError | DisplayNameLengthExceededError | InvalidProductError | InvalidSKUError | MismatchedStorefrontError | MissingPricingConfigForStorefrontError | OperationNotAllowedError | MalformedPayloadError | DependentSKUsCannotBeSharedError | DependentSKUsCannotBeChainedError | ItemCannotBeSpecifiedMultipleTimesError | PriceChangeCannotBeIssuedWhenAlreadyCommunicatedError | InvalidSKUProvidedMustBeCurrentSKUSetToRenewError)
401Unauthorized
403Forbidden
Content-Type: application/json
(SubscriptionDoesNotExistError | SubscriptionNotEligibleError)
404Not Found
Content-Type: application/json
TransactionIdNotFoundError
429
Content-Type: application/json
RateLimitExceededError
500Internal Server Error
Content-Type: application/json
(GeneralInternalError | GeneralInternalRetryableError)

Mentioned in

Discussion

Call this endpoint when you change the price of a subscription or any bundle or item within it. For information about the customer communication, see Handling subscription price changes.

Only active subscriptions that aren’t in a billing retry state are eligible for price changes. When you call this endpoint, the price change takes effect at the next subscription renewal. Call the endpoint no later than 24 hours before the renewal date to have it take effect at the renewal.

For information about providing prices, see Specifying prices for Advanced Commerce SKUs.

Example request and response

In the following request:

  • The subscription includes multiple items, and only one item has a price increase to USD 12.99.

  • The price increase takes effect at the next subscription renewal.

  • The decoded signed transaction shows price in the current period, before the increase.

  • The decoded signed renewal information shows the increased price, which takes effect at the next renewal period if consented to.

  • The item has a dependent SKU, which will be cancelled if the price increase is not agreed to.

  • In this example, the price increase has been communicated, so the status is marked as pending.

HTTP Body

The request body that contains the details of the price change.

See Also

Subscription price change from the server