<!--
{
  "documentType" : "article",
  "framework" : "AppStoreServerNotifications",
  "identifier" : "/documentation/AppStoreServerNotifications/transaction-data-types",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Transaction data types"
}
-->

# Transaction data types

Refer to these data types for decoded transaction and renewal information payloads.

## Topics

### Environment

[`string environment`](/documentation/AppStoreServerNotifications/environment)

The server environment, either sandbox or production.

### Transaction identifiers

[`string originalTransactionId`](/documentation/AppStoreServerNotifications/originalTransactionId)

The original transaction identifier of a purchase.

[`string transactionId`](/documentation/AppStoreServerNotifications/transactionId)

The unique identifier for a transaction, such as an In-App Purchase, restored purchase, or subscription renewal.

[`string webOrderLineItemId`](/documentation/AppStoreServerNotifications/webOrderLineItemId)

The unique identifier of subscription purchase events across devices, including subscription renewals.

[`string previousOriginalTransactionId`](/documentation/AppStoreServerNotifications/previousOriginalTransactionId)

The original transaction identifer of a subscription before migration.

### App transaction identifier

[`string appTransactionId`](/documentation/AppStoreServerNotifications/appTransactionId)

The unique identifier of the app download transaction.

### App information

[`int64 appAppleId`](/documentation/AppStoreServerNotifications/appAppleId)

The unique identifier of an app in the App Store.

[`string bundleId`](/documentation/AppStoreServerNotifications/bundleId)

The bundle identifier of an app.

### Account information

[`uuid appAccountToken`](/documentation/AppStoreServerNotifications/appAccountToken)

A UUID that associates the transaction with a customer on your service.

### Product information

[`string productId`](/documentation/AppStoreServerNotifications/productId)

The product identifier of the In-App Purchase.

[`string type`](/documentation/AppStoreServerNotifications/type)

The product type of the In-App Purchase.

[`string subscriptionGroupIdentifier`](/documentation/AppStoreServerNotifications/subscriptionGroupIdentifier)

The identifier of the subscription group that the subscription belongs to.

[`int32 quantity`](/documentation/AppStoreServerNotifications/quantity)

The number of purchased consumable products.

### Product price and currency

[`int64 price`](/documentation/AppStoreServerNotifications/price)

The price, in milliunits, of the In-App Purchase that the system records in the transaction.

[`string currency`](/documentation/AppStoreServerNotifications/currency)

The three-letter ISO 4217 currency code for the price of the product.

### Storefront information

[`string storefront`](/documentation/AppStoreServerNotifications/storefront)

The three-letter code that represents the country or region associated with the App Store storefront for the purchase.

[`string storefrontId`](/documentation/AppStoreServerNotifications/storefrontId)

An Apple-defined value that uniquely identifies an App Store storefront.

### Offers

[`[offerIdentifier] eligibleWinBackOfferIds`](/documentation/AppStoreServerNotifications/eligibleWinBackOfferIds)

An array of win-back offer identifiers that a customer is eligible to redeem, which sorts the identifiers to present the better offers first.

[`string offerIdentifier`](/documentation/AppStoreServerNotifications/offerIdentifier)

The string identifier of an offer that you create in App Store Connect.

[`string offerPeriod`](/documentation/AppStoreServerNotifications/offerPeriod)

The duration of the offer.

[`int32 offerType`](/documentation/AppStoreServerNotifications/offerType)

The type of offer.

[`string offerDiscountType`](/documentation/AppStoreServerNotifications/offerDiscountType)

The payment mode for a discount offer on an In-App Purchase.

### Purchase dates

[`timestamp originalPurchaseDate`](/documentation/AppStoreServerNotifications/originalPurchaseDate)

The purchase date of the transaction associated with the original transaction identifier.

[`timestamp purchaseDate`](/documentation/AppStoreServerNotifications/purchaseDate)

The time that the App Store charged the customer’s account for a purchase, a restored product, a subscription, or a subscription renewal after a lapse.

[`timestamp recentSubscriptionStartDate`](/documentation/AppStoreServerNotifications/recentSubscriptionStartDate)

The earliest start date of a subscription in a series of auto-renewable subscription purchases that ignores all lapses of paid service shorter than 60 days.

### Billing status

[`boolean isInBillingRetryPeriod`](/documentation/AppStoreServerNotifications/isInBillingRetryPeriod)

A Boolean value that indicates whether the App Store is attempting to automatically renew a subscription that expired due to a billing issue.

[`timestamp gracePeriodExpiresDate`](/documentation/AppStoreServerNotifications/gracePeriodExpiresDate)

The time when the billing grace period for a subscription renewal expires.

### Subscripton renewal and expiration

[`int32 autoRenewStatus`](/documentation/AppStoreServerNotifications/autoRenewStatus)

The renewal status for an auto-renewable subscription.

[`string autoRenewProductId`](/documentation/AppStoreServerNotifications/autoRenewProductId)

The identifier of the product that renews at the next billing period.

[`string billingPlanType`](/documentation/AppStoreServerNotifications/billingPlanType)

[`int32 expirationIntent`](/documentation/AppStoreServerNotifications/expirationIntent)

The reason an auto-renewable subscription expired.

[`timestamp expiresDate`](/documentation/AppStoreServerNotifications/expiresDate)

The UNIX time, in milliseconds, an auto-renewable subscription purchase expires or renews.

[`boolean isUpgraded`](/documentation/AppStoreServerNotifications/isUpgraded)

A Boolean value that indicates whether the customer upgraded to another subscription.

[`string renewalBillingPlanType`](/documentation/AppStoreServerNotifications/renewalBillingPlanType)

[`timestamp renewalDate`](/documentation/AppStoreServerNotifications/renewalDate)

The UNIX time, in milliseconds, when the most recent auto-renewable subscription purchase expires.

[`int64 renewalPrice`](/documentation/AppStoreServerNotifications/renewalPrice)

The renewal price, in milliunits, of the auto-renewable subscription that renews at the next billing period.

### Monthly subscriptions with 12-month commitments

[`object TransactionCommitmentInfo`](/documentation/AppStoreServerNotifications/TransactionCommitmentInfo)

[`int32 billingPeriodNumber`](/documentation/AppStoreServerNotifications/billingPeriodNumber)

[`timestamp commitmentExpiresDate`](/documentation/AppStoreServerNotifications/commitmentExpiresDate)

[`int64 commitmentPrice`](/documentation/AppStoreServerNotifications/commitmentPrice)

[`int32 totalBillingPeriods`](/documentation/AppStoreServerNotifications/totalBillingPeriods)

[`object RenewalCommitmentInfo`](/documentation/AppStoreServerNotifications/RenewalCommitmentInfo)

[`string commitmentAutoRenewProductId`](/documentation/AppStoreServerNotifications/commitmentAutoRenewProductId)

[`int32 commitmentAutoRenewStatus`](/documentation/AppStoreServerNotifications/commitmentAutoRenewStatus)

[`string commitmentRenewalBillingPlanType`](/documentation/AppStoreServerNotifications/commitmentRenewalBillingPlanType)

[`timestamp commitmentRenewalDate`](/documentation/AppStoreServerNotifications/commitmentRenewalDate)

[`int64 commitmentRenewalPrice`](/documentation/AppStoreServerNotifications/commitmentRenewalPrice)

### Family Sharing

[`string inAppOwnershipType`](/documentation/AppStoreServerNotifications/inAppOwnershipType)

A string that describes whether the transaction was purchased by the customer, or is available to them through Family Sharing.

### Price increase status

[`int32 priceIncreaseStatus`](/documentation/AppStoreServerNotifications/priceIncreaseStatus)

The status that indicates whether an auto-renewable subscription is subject to a price increase.

### Revocations

[`timestamp revocationDate`](/documentation/AppStoreServerNotifications/revocationDate)

The UNIX time, in milliseconds, that the App Store refunded the transaction or revoked it from Family Sharing.

[`int32 revocationPercentage`](/documentation/AppStoreServerNotifications/revocationPercentage)

The percentage, in milliunits, of the transaction that the App Store has refunded or revoked.

[`int32 revocationReason`](/documentation/AppStoreServerNotifications/revocationReason)

The reason for a revoked or refunded transaction.

[`string revocationType`](/documentation/AppStoreServerNotifications/revocationType)

The type of the refund or revocation that applies to the transaction.

### Transaction reason

[`string transactionReason`](/documentation/AppStoreServerNotifications/transactionReason)

The cause of a purchase transaction, which indicates whether it’s a customer’s purchase or a renewal for an auto-renewable subscription that the system initiates.

### JWS signature date

[`timestamp signedDate`](/documentation/AppStoreServerNotifications/signedDate)

The UNIX time, in milliseconds, that the App Store signed the JSON Web Signature data.

### Advanced Commerce API data

[Data types for Advanced Commerce API](/documentation/AppStoreServerNotifications/advancedcommerce-datatypes)

Objects and data types for transaction that use the Advanced Commerce API.



---

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)