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

# Transaction properties

The properties of a transaction, including identifiers, purchase and revocation dates and details, status, and offer details.

## Topics

### Getting the environment and storefront

[`environment`](/documentation/StoreKit/Transaction/environment)

The server environment that generates and signs the transaction.

[`storefront`](/documentation/StoreKit/Transaction/storefront)

The App Store storefront associated with the transaction.

### Getting the original transaction identifier

[`originalID`](/documentation/StoreKit/Transaction/originalID)

The original transaction identifier of a purchase.

[`originalPurchaseDate`](/documentation/StoreKit/Transaction/originalPurchaseDate)

The date of purchase for the original transaction.

### Identifying a transaction

[`id`](/documentation/StoreKit/Transaction/id)

The unique identifier for the transaction.

[`webOrderLineItemID`](/documentation/StoreKit/Transaction/webOrderLineItemID)

A unique ID that identifies subscription purchase events across devices, including subscription renewals.

### Identifying the app and product

[`appBundleID`](/documentation/StoreKit/Transaction/appBundleID)

The bundle identifier for the app.

[`productID`](/documentation/StoreKit/Transaction/productID)

The product identifier of the in-app purchase.

[`productType`](/documentation/StoreKit/Transaction/productType)

The type of the in-app purchase.

[`subscriptionGroupID`](/documentation/StoreKit/Transaction/subscriptionGroupID)

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

### Getting purchase and expiration dates

[`purchaseDate`](/documentation/StoreKit/Transaction/purchaseDate)

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

[`expirationDate`](/documentation/StoreKit/Transaction/expirationDate)

The date the subscription expires or renews.

### Getting the product price and currency

[`price`](/documentation/StoreKit/Transaction/price)

The price of the in-app purchase that the system records in the transaction.

[`currency`](/documentation/StoreKit/Transaction/currency)

The currency of the price of the product.

### Getting purchase details

[`isUpgraded`](/documentation/StoreKit/Transaction/isUpgraded)

A Boolean that indicates whether the user upgraded to another subscription.

[`ownershipType`](/documentation/StoreKit/Transaction/ownershipType-swift.property)

A value that indicates whether the transaction was purchased by the user, or is made available to them through Family Sharing.

[`Transaction.OwnershipType`](/documentation/StoreKit/Transaction/OwnershipType-swift.struct)

The types the system uses to describe whether the user purchased the product or it’s available to them through Family Sharing.

[`purchasedQuantity`](/documentation/StoreKit/Transaction/purchasedQuantity)

The number of consumable products purchased.

### Getting subscription status

[`subscriptionStatus`](/documentation/StoreKit/Transaction/subscriptionStatus)

An array that contains status information for a subscription group, including renewal and transaction information.

### Getting transaction reason

[`reason`](/documentation/StoreKit/Transaction/reason-swift.property)

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

[`Transaction.Reason`](/documentation/StoreKit/Transaction/Reason-swift.struct)

A cause of a purchase transaction, indicating whether it’s a customer’s purchase or an auto-renewable subscription renewal that the system initiates.

### Identifying offers

[`offer`](/documentation/StoreKit/Transaction/offer-swift.property)

The offer that applies to the transaction, including its offer type, payment mode, and ID.

[`Transaction.Offer`](/documentation/StoreKit/Transaction/Offer-swift.struct)

Discounts or promotions that apply to a transaction.

### Getting revocation status

[`revocationDate`](/documentation/StoreKit/Transaction/revocationDate)

The date that the App Store refunded the transaction or revoked it from Family Sharing.

[`revocationReason`](/documentation/StoreKit/Transaction/revocationReason-swift.property)

The reason that the App Store refunded the transaction or revoked it from Family Sharing.

[`Transaction.RevocationReason`](/documentation/StoreKit/Transaction/RevocationReason-swift.struct)

Reasons that describe why the App Store may refund a transaction or revoke it from Family Sharing.

### Correlating transactions with accounts

[`appAccountToken`](/documentation/StoreKit/Transaction/appAccountToken)

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

### Getting the transaction information in JSON format

[`jsonRepresentation`](/documentation/StoreKit/Transaction/jsonRepresentation)

The JSON representation of the transaction information.

### Deprecated

[`currencyCode`](/documentation/StoreKit/Transaction/currencyCode)

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

[`environmentStringRepresentation`](/documentation/StoreKit/Transaction/environmentStringRepresentation)

A string representation of the server environment.

[`offerID`](/documentation/StoreKit/Transaction/offerID)

A string that identifies an offer applied to the current subscription.

[`offerPaymentModeStringRepresentation`](/documentation/StoreKit/Transaction/offerPaymentModeStringRepresentation)

The string representation of the payment mode for a subscription offer.

[`offerType`](/documentation/StoreKit/Transaction/offerType-swift.property)

The subscription offer type for the current subscription period.

[`reasonStringRepresentation`](/documentation/StoreKit/Transaction/reasonStringRepresentation)

The string representation of the transaction reason.

[`storefrontCountryCode`](/documentation/StoreKit/Transaction/storefrontCountryCode)

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



---

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)