<!--
{
  "availability" : [
    "App Store Server API: 1.19.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppStoreServerAPI",
  "identifier" : "/documentation/AppStoreServerAPI/consumptionPercentage",
  "metadataVersion" : "0.1.0",
  "role" : "Type",
  "symbol" : {
    "kind" : "Type",
    "modules" : [
      "App Store Server API"
    ],
    "preciseIdentifier" : "data:app_store_server_api:consumptionPercentage"
  },
  "title" : "consumptionPercentage"
}
-->

# consumptionPercentage

An integer that indicates the percentage, in milliunits, of the In-App Purchase the customer consumed.

```
int32 consumptionPercentage
```

## Discussion

You can provide a consumption percentage in the [`ConsumptionRequest`](/documentation/AppStoreServerAPI/ConsumptionRequest) object when you call [`Send Consumption Information`](/documentation/AppStoreServerAPI/Send-Consumption-Information) for consumable and non-consumable In-App Purchases and non-renewing subscriptions. The consumption percentage represents the portion of the product that the customer consumed.

The consumption percentage you provide is one of a variety of factors that the App Store uses to inform its refund decisions. The final refund percentage may differ from the value you provide.

Consider the following when you use this field:

- If you select `GRANT_PRORATED` for the [`refundPreference`](/documentation/AppStoreServerAPI/refundPreference) field, you need to provide a `consumptionPercentage` greater than `0` and less than `100000`.
- If the [`deliveryStatus`](/documentation/AppStoreServerAPI/deliveryStatus) value isn’t `DELIVERED`, set the `consumptionPercentage` to `0`; otherwise, the request fails with an `HTTP 400` error [`UndeliveredConsumptionPercentageNonZeroError`](/documentation/AppStoreServerAPI/UndeliveredConsumptionPercentageNonZeroError).
- Don’t provide a consumption percentage for auto-renewable subscriptions, otherwise the request fails with an `HTTP 400` error [`ConsumptionPercentageAutoRenewableSubscriptionError`](/documentation/AppStoreServerAPI/ConsumptionPercentageAutoRenewableSubscriptionError). The system automatically calculates the consumption percentage for auto-renewable subscriptions based on elapsed time.

Use the consumption percentage to indicate the amount of the product the customer consumed. The percentage value allows for three decimal places of precision, and is expressed as an integer, in milliunits. The following table shows several examples of valid consumption percentages, and their milliunit equivalents:

|Percentage|Integer equivalent, in milliunits|
|----------|---------------------------------|
|67.932%   |67932                            |
|0.015%    |15                               |
|40%       |40000                            |
|100%      |100000                           |

For example, if a transaction contains a quantity of two consumable In-App Purchases, and the customer fully consumed one of them, the `consumptionPercentage` is `50000`, which represents 50%.

If the system approves a prorated refund, the [`revocationPercentage`](/documentation/AppStoreServerAPI/revocationPercentage) field in the [`JWSTransactionDecodedPayload`](/documentation/AppStoreServerAPI/JWSTransactionDecodedPayload) contains the revoked percentage of the transaction.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)