Contents

SubscriptionModifyInAppRequest

The request data your app provides to make changes to an auto-renewable subscription.

Declaration

object SubscriptionModifyInAppRequest

Properties

NameTypeDescription
addItems[SubscriptionModifyAddItem]

changeItems[SubscriptionModifyChangeItem]

currencycurrency

descriptorsSubscriptionModifyDescriptors

operation Requiredstring

periodChangeSubscriptionModifyPeriodChange

removeItems[SubscriptionModifyRemoveItem]

requestInfo RequiredRequestInfo

retainBillingCycle RequiredretainBillingCycle

storefrontstorefront

taxCodetaxCode

transactionId RequiredtransactionId

version Requiredversion

Discussion

You use the SubscriptionModifyInAppRequest in your app when the customer makes one or more changes to a subscription, such as upgrading, downgrading, or adding or removing items.

Example: upgrade a subscription

In the following request:

  • The customer upgrades the subscription from a monthly to an annual subscription, effective immediately.

  • The billing cycle resets.

  • The example doesn’t include optional fields in requestInfo.

Example: add an item and retain the billing cycle

In the following request:

  • The customer adds an item to the subscription, effective immediately.

  • The billing cycle remains the same. The customer needs to pay the prorated price of the new item. Apple calculates the prorated price and presents a payment sheet to the customer.

  • The customer is charged USD 4.99, as indicated by the price and currency fields in the request, at the next regular billing period.

  • The example doesn’t include optional fields in requestInfo.

Example: remove an item at the next renewal

In the following request:

  • The customer removes an item from the subscription, effective at the next renewal.

  • The billing cycle remains the same.

  • The remaining items renew at the next billing period.

  • The example doesn’t include optional fields in requestInfo.

Example: downgrade a subscription at the next renewal

In the following request:

  • The customer downgrades the subscription, effective at the next renewal.

  • The billing cycle remains the same.

  • The example doesn’t include optional fields in requestInfo.

See Also

Subscription modification in the app